Komplettes Handbuch der Datei /etc/shadow unter Linux
Shadow-Dateien und Passwd-Dateien werden im Allgemeinen zur Durchführung des Authentifizierungsprozesses unter Linux verwendet. Schattendateien sind textbasierte Dateien, die zum Speichern von Benutzerdaten auf einem System verwendet werden. Das Wichtigste ist der Linux-Befehl vi, bei dem das Passwort verschlüsselt oder im Hash-Format gespeichert wird.
Das Speichern von Passwörtern in der Datei /etc/passwd kann das System leicht unsicher machen. Für Schattendateien sind die Dateiberechtigungen auf 640 oder 400 eingestellt.
Was werden wir abdecken?
In diesem Artikel erklären wir Schattendateien unter Linux.
Warum brauchen wir Schattendateien?
Die passwd-Datei unter Linux ist für jedermann lesbar und zu diesem Zweck werden die verschlüsselten Passwörter in verschiedene Dateien, sogenannte Schattendateien, übertragen. Es kann nur von Root gelesen werden. Schattendateien befinden sich auch in /etc/shadow im Ordner /etc.
Ähnlich wie bei der passwd-Datei enthält das erste Array in der Schattendatei Kontonamen und verwendet Kommas, um verschiedene Primärschlüssel zu trennen. Eine separate Datei mit verschlüsselten Passwörtern hilft auch beim Hinzufügen neuer Parameter zum Konto. Es wird berichtet, dass dies dabei hilft, Konten zu kontrollieren und die Alterung von Passwörtern zu kontrollieren.
Shadow-Dateien bleiben lesegeschützt, um verschlüsselte Passwörter zu schützen. Dies ist eine wichtige Sicherheitsmaßnahme, da jeder mit Lesezugriff auf die Datei versuchen kann, das Verschlüsselungskennwort zu knacken.
Sicherheitsaspekte von Schattendateien
Shadow-Datei ist ein gutes Tool zum Zurücksetzen des Root-Passworts des Linux-Systems. Wir können den Kontoeintrag des Root-Benutzers finden und einige Einstellungen bearbeiten, um das Root-Passwort wiederherzustellen. Allerdings ist der Prozess der Wiederherstellung von Passwörtern aus Schattendateien derzeit kein Thema.
Wie bereits erwähnt, können Schattendateien nur vom Stammverzeichnis gelesen werden. Wenn ein böswilliger Kontoinhaber versucht, sich in andere Systemkonten (Linux-Verzeichnisberechtigungen usw.) zu hacken, schlägt er einfach mit dem Kopf gegen einen Baum. Angenommen, jemand erhält das Passwort in irgendeiner Form, hängt die Zeit, die zum Knacken benötigt wird, vom verwendeten Verschlüsselungsalgorithmus ab. Dennoch ist es nicht einfach, da das Knacken von Verschlüsselungskennwörtern Minuten bis Jahre dauern kann. Satzmuster für Schattendateien
Das Satzmuster der Schattendatei ist wie folgt:
login:encryptedpassword:lastchangedate:min_age:max_age:warning:inactivity:expiration_date:reserved
Das Array in der oberen Zeile wird in Tagen ausgedrückt. lastchange und expiration sind Datumsarrays. Die Zeit in einem solchen Array wird vom Startdatum der Unix-Zeit (Verzeichnisberechtigungen für Linux usw.) übernommen, also dem 1. Januar 1970.
Beschreibung der Primärschlüssel in Schattendateien Diese Datei enthält neun Arrays, getrennt durch Anführungszeichen „:“
Lassen Sie mich das Bit-Array hier erklären:
Anmeldung: Jede Zeile in der Shadow-Datei beginnt mit dem Benutzernamen. Der Benutzername verknüpft den Eintrag in der Shadow-Datei mit dem Eintrag in /etc/passwd.
cryptopassword: 暗号化されたパスワードのプレースホルダーです。したがって、実際のパスワードとはまったく似ていませんが。ここに * または ! がある場合は、アカウントにパスワードがないことを意味します。
Lastchange Date – 基本的には、Unix 時間の開始からの日数として表される日付です。これは、前回のパスワード変更の日付を示す時刻です。値が 0 の場合、ユーザーは最後にログインしたときにパスワードを変更する必要があることを意味します。
minage – この配列は、日付値が minage+lastage の場合にのみパスワードが変更されることを示します。配列が空の場合、パスワードはいつでも変更できることを意味します。
maxage – この配列は、日付値が maxage+lastage の場合にパスワードを変更する必要があることを示します。実際には、パスワードの有効期限が切れる日付です。空のパスワードの場合、有効期限は無意味であるため、maxage、warning、および inactivity の配列は必要ありません。
warning – 日付が lastchange+maxage-warning に変わるか、パスワード警告期間が開始すると、ユーザーにパスワードを変更するよう警告されます。値が 0 または空白 (空) の場合は、警告期間がないことを意味します。
非アクティブ – パスワードの有効期限が切れても、ユーザーは非アクティブな日数が経過するまでパスワードを変更できます。この配列に値が入力されていない場合、非アクティブ期間は存在しません。
有効期限 – これはユーザーのアカウントが期限切れになる日付です。今後、このアカウントにログインすることが困難になります。この配列が空の場合、アカウントは期限切れになりません。また、ここでは「0」値を決して使用しないでください。
特別な標識: この場所は通常は使用されておらず、将来の使用のために予約されています。
ここで反例を使用して、上記の配列の理解を説明します。シャドウ ファイル内の次のサンプル エントリを取得します。
linux-console:$6$kKRCC8ip8nKtFjjdZJIj:12825:14:45:10:30:13096
配列の各ビットを徐々に分解してみましょう:
1.linux-console はユーザー名です。
2. 次の配列はユーザーの暗号化されたパスワードです。これは非常に長いパスワードです。ただし、わかりやすくするために少し切り詰めました。
3. ユーザーは 12825 日、つまり 35 年 1 月 11 日にパスワードを変更しました。これは、Unix エポック時間 (つまり、1970 年 1 月 1 日) から数えて 2005 年 2 月 11 日です。
4. ユーザーがパスワードを変更できる最短期間は 14 日です。パスワードをいつでも変更できるようにするには、この配列を 0 に設定します。
5. パスワードは 45 日ごとにリセットする必要があります。
6. 変更日の 10 日前にパスワードをリセットするための警告が表示されます。
7. パスワードの有効期限が切れ、30 日以内にログイン操作が行われない場合、ユーザー アカウントは無効になります。
8. アカウントは Unix エポック時間または 2005 年 11 月 9 日から 13096 日後に期限切れになります。
推論
シャドウ ファイルは、アカウント情報を保存するための特に安全な場所です。 passwd ファイル内の強力なユーザー パスワードにはセキュリティ上の問題があります。シャドウ ファイルを root が読み取り可能にすることは、悪意のあるユーザーや攻撃者がパスワードを悪用する機会を排除するだけです。
Das obige ist der detaillierte Inhalt vonSchattendateien unter Linux: Der Schlüssel zur Systemsicherheit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!