Um documento de instalação que estou seguindo instrui para adicionar um usuário assim:
sudo adduser --disabled-login --gecos 'GitLab' git
A --disabled-loginbandeira está ausente na maioria das páginas de manual que pesquisei.
Eu criei dois usuários, um com o --disabled-login( foo) e outro sem ( git).
Tanto quanto posso dizer, a --disabled-loginbandeira não faz nada. Ainda posso supara os dois usuários, e ambos usam /bin/bashcomo shell de logon.
A única diferença que vejo é que getent passwdhá vírgulas extras antes da pasta pessoal do usuário com o login desativado. Não há documentação que eu possa encontrar para indicar o que isso significaria.
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
ATUALIZAÇÃO # 1
Eu encontrei outra diferença, um usuário tem uma *como senha e o outro tem !:
root@gitlab:~# getent shadow git
git:*:15998::::::
root@gitlab:~# getent shadow foo
foo:!:15998:0:99999:7:::
O que exatamente faz --disabled-loginno Ubuntu?
chfnferramenta.