Unterschied zwischen Benutzern, die im Home-Verzeichnis aufgeführt sind, und solchen, die es nicht sind

Unterschied zwischen Benutzern, die im Home-Verzeichnis aufgeführt sind, und solchen, die es nicht sind

Ich sehe einige der Benutzer, die ich im /homeVerzeichnis in CentOS finden kann, aber nicht den Rest der Benutzer.

Benutzer, die im Verzeichnis aufgeführt sind /home, kann ich mich als diese Benutzer mit dem Befehl anmelden

su username

Um die restlichen Benutzer zu finden, musste ich den folgenden Befehl verwenden:

cut -d: -f1 /etc/passwd

Um mich als einer dieser anderen Benutzer anzumelden, muss ich den Befehl

sudo -u username

Was ist der Unterschied?

Antwort1

Wenn Sie einen ähnlichen Befehl wie Ihren ausführen:

$ cut -d: -f1,6,7 /etc/passwd
root:/root:/bin/bash
bin:/bin:/sbin/nologin
daemon:/sbin:/sbin/nologin
adm:/var/adm:/sbin/nologin
lp:/var/spool/lpd:/sbin/nologin
sync:/sbin:/bin/sync
shutdown:/sbin:/sbin/shutdown
halt:/sbin:/sbin/halt
mail:/var/spool/mail:/sbin/nologin
operator:/root:/sbin/nologin
games:/usr/games:/sbin/nologin
...
gareth:/home/gareth:/bin/bash
...

Ihnen wird auffallen, dass die einzigen Konten mit einem /homeVerzeichnis diejenigen sind, bei denen a) die zweite Spalte oben einen Pfad zu einem Verzeichnis innerhalb enthält /homeund b) die dritte Spalte ( /bin/bash) eine Shell enthält.

Alle anderen Benutzer können sich nicht anmelden, da sie entweder eine Shell von haben /sbin/nologin, die – wie der Name schon sagt – keine Anmeldung zulässt, oder eine Shell mit einem bestimmten Befehl, wie z. B. /sbin/halt.

Sie können Befehle als die anderen Benutzer ausführen oder sogar eine Shell ausführen:

$ sudo -u daemon whoami
daemon
$ sudo -u daemon bash
$ whoami
daemon
$ echo $HOME
/

Sie haben darin jedoch kein Home-Verzeichnis /home.

Noch wichtiger ist, dass Sie sich bei einer Anmeldeaufforderung oder mit suoder sshbei diesen Konten nicht anmelden können, da die Shell ist /sbin/nologinund ihre Passwörter deaktiviert wurden (suchen Sie nach einem !!oder einem *in der 2. Spalte von sudo less /etc/shadow).

Diese Konten sind alleSystemKonten, die von Diensten wie E-Mail oder DHCP verwendet oder zum Herunterfahren des Systems verwendet werden.

Sie sollten als diese Benutzer eigentlich keine Befehle ausführen sudo.

verwandte Informationen