Um documento de instalação que estou seguindo instrui para adicionar um usuário assim:
sudo adduser --disabled-login --gecos 'GitLab' git
A --disabled-login
bandeira 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-login
bandeira não faz nada. Ainda posso su
para os dois usuários, e ambos usam /bin/bash
como shell de logon.
A única diferença que vejo é que getent passwd
há 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-login
no Ubuntu?
chfn
ferramenta.Respostas:
A explicação não está bem documentada.
--disabled-login define a senha para
!
Valores de senha
Exemplos
wikipedia brevemente cobre este. Parece que * e! efetivamente faça a mesma coisa; impedir que o usuário efetue login (mas não su'ing de outro usuário)
fonte
É parcialmente discutido aqui na
shadow
página do manual.excerto
Dependendo da sua versão da página de manual,
adduser
ela é referenciada lá.página de manual adduser trecho
fonte