
No OS X é possível ter usuários sem senhas. Se você inspecioná-los com dscl
a senha, eles aparecerão como *
. Isso é usado para usuários do sistema, como usuários de bancos de dados como mysql
, pgsql
etc. O interessante disso é que esses usuários não aparecem na tela de login e você não pode fazer login como eles sem sudo
etc.
Depois de excluir esse usuário e tentar algumas coisas, quis recriá-lo, mas não consegui. Consegui obter um usuário com uma senha em branco e definir a senha como *
. Mas nenhum teve o mesmo efeito acima, pois o usuário apareceu na minha tela de login.
Como você cria esse usuário?
Responder1
Você pode executar passwd --delete <username>
depois de criar o usuário com adduser
. Depois disso, você poderá fazer o login sem inserir uma senha.
Responder2
Você pode usar usermod
, o que desativará a senha usando um !
em vez de um *
.
usermod -L <username>
Na página de manual do usermod:
-L, --lock Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password.
Responder3
Um usuário em /etc/passwd com diretório inicial de /dev/null e shell de /sbin/nologin, pode ser usado para comandos sudo ing, mas não pode realmente estar logado, por exemplo;
do meu /etc/passwd
tcpdump:x:104:441:added by portage for tcpdump:/dev/null:/sbin/nologin
Quase me lembro que isso também fará com que ele desapareça da tela de login do XDM, mas não uso mais o XDM, então é um palpite :-)
Responder4
Não posso ter certeza sobre o OSX, mas no FreeBSD você pode usar:
pw add user mymuser -g mygroup -s /nonexistent -h -
o valor -
passado para a -h
opção informa pw
para definir o campo de senha em master.passwd como *
, criando assim uma conta sem login. Definir o shell não é estritamente necessário, mas evita uma verificação do shell em /etc/pw.conf.