Ein Installationsdokument, dem ich folge, weist an, einen Benutzer wie folgt hinzuzufügen:
sudo adduser --disabled-login --gecos 'GitLab' git
Die --disabled-login
Flagge fehlt in den meisten von mir durchsuchten Manpages.
Ich habe zwei Benutzer erstellt, einen mit --disabled-login
( foo
) und einen ohne ( git
).
Soweit ich das --disabled-login
beurteilen kann tut die Flagge nichts. Ich kann immer noch su
beide Benutzer und beide /bin/bash
als Login-Shell verwenden.
Der einzige Unterschied, den ich sehen kann, sind getent passwd
zusätzliche Kommas vor dem Basisordner des Benutzers, für den die Anmeldung deaktiviert ist. Es gibt keine Dokumentation , die mir Aufschluss darüber gibt, was dies bedeuten würde.
root@gitlab:~# getent passwd git
git:x:998:998:GitLab:/home/git:/bin/bash
root@gitlab:~# getent passwd foo
foo:x:1001:1002:GitLab,,,:/home/foo:/bin/bash
UPDATE # 1
Ich habe einen weiteren Unterschied festgestellt: Ein Benutzer hat ein *
Kennwort als Kennwort, der andere hat Folgendes !
:
root@gitlab:~# getent shadow git
git:*:15998::::::
root@gitlab:~# getent shadow foo
foo:!:15998:0:99999:7:::
Was genau macht --disabled-login
Ubuntu?
chfn
Tools.Antworten:
Die Erklärung ist nicht gut dokumentiert.
--disabled-login setzt das Passwort auf
!
Kennwortwerte
Beispiele
wikipedia behandelt dies kurz. Es scheint, dass * und! effektiv das gleiche tun; verhindern, dass sich der Benutzer anmeldet (aber nicht von einem anderen Benutzer verklagt wird)
quelle
Es wird teilweise hier in der
shadow
Manpage besprochen .Auszug
Abhängig von Ihrer Version der Manpage, auf
adduser
die dort verwiesen wird.Auszug Adduser Manpage
quelle