No os X é possível ter usuários sem senhas. Se você os inspecionar com dscl
, a senha será exibida como *
. Isso é usado para usuários do sistema, como usuários de bancos de dados como mysql
, pgsql
etc. como eles sem Sudo
etc.
Depois de excluir esse usuário, tentei recriá-lo, mas não consegui. Eu consegui obter um usuário com uma senha em branco e poderia definir a senha para *
. Mas nenhum teve o mesmo efeito acima, pois o usuário apareceu na minha tela de login.
Como você cria esse usuário?
Você pode correr passwd --delete <username>
depois de criar o usuário com adduser
. Depois disso, você poderá fazer login sem inserir uma senha.
Você pode usar usermod
, que desativará a senha usando um !
em vez de um *
.
usermod -L <username>
Na página de manual no usermod:
-L, --lock Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password.
Um usuário em/etc/passwd com o diretório inicial de/dev/null e o Shell de/sbin/nologin, pode ser usado para comandos Sudo, mas na verdade não pode ser conectado, por exemplo;
do meu/etc/passwd
tcpdump:x:104:441:added by portage for tcpdump:/dev/null:/sbin/nologin
Eu meio que lembro que isso fará com que ele desapareça da tela de login do XDM também, mas eu não uso mais o XDM, então isso é um palpite :-)
Usar dscl
daria
dscl . -passwd /Users/myuser ""
Deixar o campo da senha vazio para o usuário no arquivo passwd
funcionará.
Se você estiver no Ubuntu, poderá trocar a senha do usuário do Ubuntu em/etc/shadow, confira este artigo:
http://www.psychocats.net/ubuntucat/creating-a-passwordless-account-in-ubuntu/
Não tenho certeza sobre o OSX, mas no FreeBSD você pode usar:
pw add user mymuser -g mygroup -s /nonexistent -h -
o valor de -
passado para o -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.