Heim  >  Artikel  >  System-Tutorial  >  Anwendungssystemeinstellungen von Benutzer- und Benutzergruppendateien unter Linux

Anwendungssystemeinstellungen von Benutzer- und Benutzergruppendateien unter Linux

WBOY
WBOYnach vorne
2024-04-05 09:10:021012Durchsuche

ID:ChinaUnix2013

1. Benutzer- und Benutzergruppendateien

Unter Linux werden Benutzerkonten, Benutzerkennwörter, Benutzergruppeninformationen und Benutzergruppenkennwörter in verschiedenen Konfigurationsdateien gespeichert.

Im Linux-System werden das erstellte Benutzerkonto und die zugehörigen Informationen (außer Passwort) in der Konfigurationsdatei /etc/passwd gespeichert. Da alle Benutzer Leseberechtigungen für die passwd-Datei haben, werden die Passwortinformationen nicht in der Datei, sondern in der Konfigurationsdatei /etc/shadow gespeichert.

In der passwd-Datei definiert eine Zeile ein Benutzerkonto. Die Werte jedes Arrays sind durch „:“ getrennt.

Im neu installierten Linux-System enthält die passwd-Konfigurationsdatei bereits viele Kontoinformationen. Diese Konten werden für den normalen Betrieb des Linux-Prozesses oder einiger Dienstprogramme benötigt ist Der Wert des letzten Arrays dieses Kontos ist normalerweise /sbin/nologin, was bedeutet, dass dieses Konto nicht zum Anmelden beim Linux-System verwendet werden kann.

In der passwd-Konfigurationsdatei die entsprechende Beziehung und Bedeutung jedes Arrays von links nach rechts:

Da passwd keine Passwortinformationen mehr speichert, wird es durch einen x-Platzhalter dargestellt.

Um zu verhindern, dass sich ein Benutzerkonto bei Linux anmeldet, setzen Sie einfach die vom Benutzer verwendete Shell auf /sbin/nologin. Beispielsweise sind für FTP-Konten normalerweise nur die Anmeldung und der Zugriff auf den FTP-Server zulässig, die Anmeldung beim Linux-Betriebssystem jedoch nicht. Wenn Sie verhindern möchten, dass ein Benutzer über Telnet-Berechtigungen verfügt, das heißt, dass sich der Benutzer nicht aus der Ferne anmelden und über Telnet auf das Linux-Betriebssystem zugreifen kann, setzen Sie einfach die vom Benutzer verwendete Shell auf /bin/true. Wenn Sie möchten, dass der Benutzer keine Telnet- und FTP-Anmeldeberechtigungen hat, können Sie die Shell des Benutzers auf /bin/false setzen.

Wenn in der Datei /etc/shells kein /bin/true oder /bin/false vorhanden ist, müssen Sie es automatisch hinzufügen:

[root@localhost~]#echo"/bin/false">>/etc/shells

[root@localhost~]#echo"/bin/true">>/etc/shells

2. Benutzerpasswortdatei

Aus Sicherheitsgründen wird das echte Passwort des Benutzers mit dem MD5-Verschlüsselungsalgorithmus verschlüsselt und in der Konfigurationsdatei /etc/shadow gespeichert. Diese Datei kann nur vom Root-Benutzer gelesen werden.

Ähnlich wie die passwd-Datei definiert und speichert auch die Shadow-Datei relevante Informationen eines Kontos pro Zeile. Das erste Array ist der Name des Benutzerkontos und das zweite Array ist das Kontokennwort.

3. Benutzergruppenkontodatei

Benutzergruppenkontoinformationen werden in der Konfigurationsdatei /etc/group gespeichert. Was ist die Benutzerkonfigurationsdatei des Linux-Systems? Jeder Benutzer kann sie lesen. Das echte Passwort der Benutzergruppe wird in der Konfigurationsdatei /etc/gshadow gespeichert.

In der Gruppe stellt das erste Array den Namen der Benutzergruppe dar, das zweite Array ist x, das dritte ist die ID-Nummer der Benutzergruppe und das vierte ist die Liste der Benutzermitglieder der Benutzergruppe, jeweils mit Doppelpunkten dazwischen Benutzername Separat.

4. Benutzer hinzufügen

Um einen neuen Benutzer zu erstellen oder hinzuzufügen, verwenden Sie den Befehl useradd. Die Befehlsverwendung ist:

useradd[option]Benutzername

用户配置文件有()版本_linux系统用户配置文件是什么?_用户配置文件的类型

Dieser Befehl hat viele Optionen, die am häufigsten verwendeten sind:

-c Kommentarbenutzer legt den Kommentarbeschreibungstext für das Konto fest

-d Home-Verzeichnis gibt das Home-Verzeichnis an, das das Standardverzeichnis /home/username

ersetzen soll

-m Wenn das Home-Verzeichnis nicht existiert, erstellen Sie es. -r in Kombination mit -m erstellt ein Home-Verzeichnis für das Systemkonto

-M erstellt kein Home-Verzeichnis

-edate gibt das Datum an, an dem das Konto abläuft. Das Datumsformat ist MM/TT/JJ

Das

-fdays-Konto wird nach Ablauf einiger Tage dauerhaft gesperrt. Wenn es als -1 angegeben ist, wird es sofort angehalten. Wenn es -1 ist, wird diese Funktion deaktiviert

-g Benutzergruppe gibt an, zu welcher Benutzergruppe der Benutzer hinzugefügt werden soll. Die Benutzergruppe muss vorhanden sein

-G Benutzergruppenliste gibt die Liste der Benutzergruppen an, denen der Benutzer gleichzeitig beitritt. Jede Gruppe wird durch Kommas getrennt

-nErstellen Sie keine privaten Benutzergruppen für Benutzer

-sshell gibt die Shell an, die beim Anmelden des Benutzers verwendet wird. Der Standardwert ist /bin/bash

-r erstellt ein Systemkonto mit einer Benutzer-ID größer als 500. Das entsprechende Home-Verzeichnis wird standardmäßig nicht erstellt

-uUser ID gibt automatisch den ID-Wert des neuen Benutzers an, der eindeutig sein und kleiner als 499 sein muss

-ppassword gibt das Login-Passwort für den neuen Benutzer an. Das Kennwort ist hier der Kennwortwert, der nach der MD5-Verschlüsselung des entsprechenden Anmeldekennworts erhalten wird und nicht mit dem Originaltext des tatsächlichen Kennworts übereinstimmt. Daher wird diese Parameteroption in tatsächlichen Anwendungen selten verwendet und der Befehl passwd wird im Allgemeinen allein verwendet um das Login-Passwort für den Benutzer festzulegen.

Beispiel:

Um einen Benutzer namens nisj als Mitglied der babyfish-Benutzergruppe zu erstellen, lautet der Operationsbefehl:

[root@localhost~]#useradd-gbabyfishnisj

[root@localhost~]#idnisj

uid=502(nisj)gid=500(babyfish)groups=500(babyfish)

[root@localhost~]#tail-1/etc/passwd

nisj:x:502:500::/home/nisj:/bin/bash

Wenn beim Hinzufügen eines Benutzers die Benutzergruppe nicht mit dem Parameter -g angegeben wird, erstellt das System standardmäßig manuell eine private Benutzergruppe mit demselben Namen wie das Benutzerkonto. Wenn Sie diese private Benutzergruppe nicht erstellen müssen, können Sie den Parameter -n verwenden.

Wenn Sie beispielsweise ein Konto mit dem Namen nsj820 hinzufügen, aber keine Benutzergruppe angeben, lautet das Ergebnis des Vorgangs:

[root@localhost~]#useraddnsj820

[root@localhost~]#idnsj820

uid=503(nsj820)gid=503(nsj820)groups=503(nsj820)

[root@localhost~]#tail-1/etc/passwd

nsj820:x:503:503::/home/nsj820:/bin/bash

[root@localhost~]#tail-2/etc/passwd

nisj:x:502:500::/home/nisj:/bin/bash

nsj820:x:503:503::/home/nsj820:/bin/bash#Das System hat manuell eine Benutzergruppe namens nsj820 mit der ID-Nummer 503 erstellt

Beim Erstellen eines Benutzerkontos erstellt das System manuell das dem Benutzer entsprechende Home-Verzeichnis. Wenn Sie den Speicherort ändern möchten, können Sie ihn mit dem Parameter -d angeben. Die vom Benutzer zum Anmelden verwendete Shell lautet standardmäßig /bin/bash. Wenn Sie sie ändern möchten, verwenden Sie den Parameter -s, um

anzugeben

Wenn Sie beispielsweise ein Konto mit dem Namen vodup erstellen möchten, das Home-Verzeichnis im Verzeichnis /var platzieren und die Anmelde-Shell als /sbin/nologin angeben, lautet der Operationsbefehl:

[root@localhost~]#useradd-d/var/vodup-s/sbin/nologinvodup

[root@localhost~]#idvodup

uid=504(vodup)gid=504(vodup)groups=504(vodup)

[root@localhost~]#tail-1/etc/passwd

vodup:x:504:504::/var/vodup:/sbin/nologin

[root@localhost~]#tail-1/etc/group

vodup:x:504:

5. Kontoattribute festlegen

Für bereits erstellte Benutzer können Sie den Befehl usermod verwenden, um verschiedene Attribute des Kontos zu ändern und festzulegen, einschließlich Anmeldename, Home-Verzeichnis, Benutzergruppe, Anmelde-Shell usw. Die Verwendung dieses Befehls ist:

Benutzermod[Option]Benutzername

Einige Optionen

(1) Benutzerkontonamen ändern

Verwenden Sie dazu den Parameter -l. Die Befehlsverwendung lautet:

usermod-l neuer Benutzername, ursprünglicher Benutzername

Wenn Sie beispielsweise den Benutzer nsj820 in nsj0820 umbenennen möchten, lautet der Operationsbefehl:

[root@localhost~]#usermod-lnsj0820nsj820

[root@localhost~]#idnsj0820

uid=503(nsj0820)gid=503(nsj820)groups=503(nsj820)

[root@localhost~]#tail-1/etc/passwd

nsj0820:x:503:503::/home/nsj820:/bin/bash

Wie aus der Ausgabe ersichtlich ist, wurde der Benutzername in nsj0820 geändert. Das Hauptverzeichnis ist immer noch das ursprüngliche /home/nsj820Was ist die Linux-Systembenutzerkonfigurationsdatei?, Sie können dies tun, indem Sie den folgenden Befehl ausführen

[root@localhost~]#usermod-d/home/nsj0820nsj0820

[root@localhost~]#idnsj0820

uid=503(nsj0820)gid=503(nsj820)groups=503(nsj820)

[root@localhost~]#tail-1/etc/passwd

nsj0820:x:503:503::/home/nsj0820:/bin/bash

[root@localhosthome]#mv/home/nsj820/home/nsj0820

(2) Konto sperren

Wenn Sie einem Benutzer vorübergehend die Anmeldung verbieten möchten, können Sie das Benutzerkonto sperren. Das Sperren des Kontos kann mit Hilfe des Parameters -L erfolgen. Die Befehlsverwendung lautet:

usermod -L Konto zum Sperren

Linux sperrt einen Benutzer, indem es „!“ vor dem Passwort-Array des Passwortdateischattens hinzufügt, um anzuzeigen, dass der Benutzer gesperrt ist.

[root@localhosthome]#usermod-Lnsj0820

[root@localhosthome]#tail-1/etc/shadow

nsj0820:!$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::

Aber Sie können den Root-Benutzer eingeben und dann zum gesperrten Benutzer su wechseln.

(3) Konto entsperren

Um ein Konto zu entsperren, können Sie den Befehl usermod mit dem Parameter -U verwenden.

[root@localhost~]#usermod-Unsj0820

[root@localhost~]#tail-1/etc/shadow

nsj0820:$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::

6. Konto löschen

Um ein Konto zu löschen, können Sie den Befehl userdel verwenden. Seine Verwendung ist:

userdel[-r] Kontoname

-r ist optional. Wenn dieser Parameter angegeben wird, wird das dem Konto entsprechende Home-Verzeichnis gleichzeitig mit dem Löschen des Kontos gelöscht.

[root@localhost~]#userdel-rnsj0820

Um die Ablaufzeit aller Benutzerkonto-Passwörter festzulegen, können Sie dies tun, indem Sie den Wert des Konfigurationselements PASS_MAX_DAYS in der Konfigurationsdatei /etc/login.defs ändern. Der Standardwert ist 99999, was bedeutet, dass Benutzerkonto-Passwörter niemals gültig sind erlöschen. Das Konfigurationselement PASS_MIN_LEN wird verwendet, um die Mindestbreite des Kontokennworts anzugeben, die standardmäßig 5 Zeichen beträgt.

7. Benutzer-Login-Passwort festlegen

Verwenden Sie den passwd-Befehl, um es festzulegen. Die Befehlsverwendung ist:

passwd[Kontoname]

Wenn ein Kontoname angegeben wird, wird das Anmeldekennwort des angegebenen Kontos festgelegt und das ursprüngliche Kennwort manuell überschrieben. Nur der Root-Benutzer hat die Berechtigung, das Passwort für ein bestimmtes Konto festzulegen. Normalerweise können Benutzer nur das Passwort für ihr eigenes Konto festlegen oder ändern (ohne Parameter).

Wenn Sie beispielsweise das Anmeldekennwort des nisj-Kontos festlegen möchten, lautet der Betriebsbefehl:

用户配置文件的类型_linux系统用户配置文件是什么?_用户配置文件有()版本

[root@localhosthome]#passwdnisj

Passwort für Benutzernisj ändern.

Neues Passwort:

BADPASSWORD:itistooshort

BADPASSWORD:istoosimple

Neues Passwort erneut eingeben:

passwd:alle Authentifizierungstokenserfolgreich aktualisiert.

Nachdem das Konto-Anmeldekennwort festgelegt wurde, kann sich das Konto beim System anmelden.

8. Kontopasswort sperren/entsperren und Passwortstatus überprüfen, Kontopasswort löschen

Beim Löschen eines Verzeichnisses unter LINUX kann nicht nur das Benutzerkonto, sondern auch das Kontokennwort gesperrt werden. Nachdem eine Partei gesperrt wurde, kann sie sich nicht mehr am System anmelden. Nur der Root-Benutzer hat das Recht, diesen Befehl auszuführen. Um das Kontokennwort zu sperren, verwenden Sie den Befehl passwd mit der Option -l. Seine Verwendung ist:

passwd-l-Kontoname

passwd-uaccountname#Kontopasswort entsperren

[root@localhosthome]#passwd-lnisj

Passwort für Benutzer sperren.

passwd:Erfolg

[root@localhosthome]#passwd-unisj

Passwort für Benutzernisj entsperren.

passwd:Erfolg

Um zu überprüfen, ob das Passwort des aktuellen Kontos gesperrt ist, können Sie den Befehl passwd mit dem Parameter -S verwenden. Seine Verwendung ist:

passwd-S-Kontoname

Zum Beispiel

[root@localhosthome]#passwd-Snisj

Das obige ist der detaillierte Inhalt vonAnwendungssystemeinstellungen von Benutzer- und Benutzergruppendateien unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:itcool.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen