No os X é possível ter usuários sem senhas. Se você os inspecionar com dscl
a senha deles, aparecerá como *
. Isto é usado para os usuários do sistema, como os usuários de bancos de dados como mysql
, pgsql
etc. O que é legal sobre isso é que esses usuários não aparecer na tela de login e você não pode fazer login 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?
useradd
começa a adicionar IDs em 1000, e os gerenciadores de login não mostram os IDs de usuário abaixo disso, mas tudo acima. portanto, embora não seja uma resposta para essa pergunta, pode ser a solução para o problema. observe que 1000 é arbitrário e pode ser menor ou maior na sua distribuição. Para corrigir, modifique a entrada do usuário/etc/passwd
para ter um uid menor. Agora eu devo fazer uma pergunta semelhante.Respostas:
Você pode executar
passwd --delete <username>
depois de criar o usuário comadduser
. Depois disso, você poderá fazer login sem inserir uma senha.fonte
Um usuário em / etc / passwd com diretório inicial de / dev / null e shell de / sbin / nologin, pode ser usado para comandos de sudo, mas não pode realmente estar conectado, por exemplo;
do meu / etc / passwd
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 :-)
fonte
Você pode usar
usermod
, o que desativará a senha usando um!
e não um*
.Na página de manual no usermod:
fonte
Usando
dscl
dariafonte
Não tenho certeza sobre o OSX, mas no FreeBSD você pode usar:
o valor
-
passado para a-h
opção dizpw
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.fonte
Deixar o campo da senha vazio para o usuário no
passwd
arquivo funcionará.fonte
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/
fonte
No Linux eu uso:
A próxima alternativa deve ser mais multiplataforma (se a
-r
opção não estiver disponível):Aqui:
a senha em / etc / shadow será configurada para
*
. Sem-p \*
ele será!
shell será
/sbin/nologin
(você pode usar/bin/false
também, mas acho que/bin
pode ser montado tarde demais em alguns sistemas). Portanto, o usuário não pode fazer login-d
define o homedir do usuárioNOTA IMPORTANTE
Aqui
-r
cria um usuário do sistema:Este sinalizador é usado para criar uma conta do sistema. Ou seja, um usuário com um
UID
valor inferior aoUID_MIN
definido em /etc/login.defs e cuja senha não expira. Observe que useradd não criará um diretório inicial para esse usuário, independentemente da configuração padrão em /etc/login.defs . É necessário especificar a-m
opção se você deseja criar um diretório inicial para uma conta do sistema. Esta é uma opção adicionada pelo Red Hat .A opção
-r
pode não estar presente no seu sistema. Então, para criar um usuário do sistema, que não é mostrado na tela de login, eu acho, você pode usar a-K
opção Algo como:-K UID_MIN=100 -K UID_MAX=499
. Você pode tentar a opção como:para determinar automaticamente você
UID_MAX
, mas eu não testei no OS X. Você precisará usáSYS_UID_MAX
-UID_MIN
lo se não for comentado no /etc/login.defsO mesmo é para
GID_MAX
eGID_MIN
para o ID do grupo do sistema. (VejaGID_MIN
e se não estiver comentadoSYS_GID_MAX
em /etc/login.defs para usar comoGID_MAX
)fonte