Como você cria um usuário sem senha?

22

No os X é possível ter usuários sem senhas. Se você os inspecionar com dscl , sua senha será mostrada como * . Isso é usado para usuários do sistema, como usuários de bancos de dados como mysql , pgsql etc. O que é bom nisso é 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 deletar esse usuário tentando algumas coisas, eu quis recriá-lo, mas não consegui. Eu poderia conseguir um usuário com uma senha em branco e eu 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?

    
por googletorp 10.08.2010 / 22:53

8 respostas

6

Você pode executar passwd --delete <username> depois de criar o usuário com adduser . Depois disso, você poderá fazer o login sem digitar uma senha.

    
por 10.08.2010 / 23:11
3

Um usuário em / etc / passwd com o diretório home de / dev / null e shell de / sbin / nologin, pode ser usado para sudo ing os comandos, mas na verdade não pode estar logado, 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 vai fazer com que ele desapareça da tela de login do XDM também, mas eu não uso mais o XDM, então é um palpite: -)

    
por 10.08.2010 / 23:06
3

Você pode usar usermod , que desativará a senha usando um ! em vez de um * .

usermod -L <username>

A partir da página man no usermod:

-L, --lock Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password.
    
por 16.06.2014 / 07:27
2

Usando dscl daria

dscl . -passwd /Users/myuser ""
    
por 12.11.2015 / 14:54
1

Eu 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 de - passado para a opção -h informa pw para definir o campo de senha em master.passwd para * , criando assim uma conta sem login. Configurar o shell não é estritamente necessário, mas evita uma checagem de shell no /etc/pw.conf.

    
por 10.08.2010 / 23:36
1

Deixar o campo de senha vazio para o usuário no arquivo passwd funcionará.

    
por 29.11.2011 / 12:39
1

Se você está no Ubuntu, você pode trocar a senha para o usuário do Ubuntu em / etc / shadow. Confira este artigo:

link

    
por 10.08.2010 / 23:02
-1

No Linux eu uso:

sudo useradd -r -p \* -s /sbin/nologin -c "Comment My Daemon,,,"  -d "/var/uuu"  myuser

A próxima alternativa deve ser mais de plataforma cruzada (se a opção -r não estiver disponível):

sudo useradd -K UID_MIN=100 -K UID_MAX=499 -K GID_MIN=100 -K GID_MAX=499 -p \* -s /sbin/nologin -c "Comment My Daemon,,,"  -d "/var/uuu"  myuser

Aqui:

  • A senha em / etc / shadow será colocada em * . Sem -p \* , será !

  • o shell será /sbin/nologin (você também pode usar /bin/false , mas acho que o /bin pode ser montado muito tarde em alguns sistemas). Então o usuário não pode entrar

  • -d configura o homedir do usuário

NOTA IMPORTANTE

Aqui -r cria um usuário do sistema:

Esse sinalizador é usado para criar uma conta do sistema. Ou seja, um usuário com um UID menor que o valor de UID_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 . Você precisa especificar a opção -m se quiser que um diretório pessoal para uma conta do sistema seja criada. Esta é uma opção adicionada pela Red Hat .

A opção -r pode não estar presente no seu sistema. Então, para criar um usuário do sistema, isso não é mostrado na sua tela de login, eu acho que você pode usar a opção -K . Algo como: -K UID_MIN=100 -K UID_MAX=499 . Você pode tentar a opção como:

-K UID_MAX=$(cat /etc/login.defs | grep ^UID_MIN | awk '{print $2}')

para determinar automaticamente você UID_MAX , mas eu não testei no OS X. Você precisará usar SYS_UID_MAX para UID_MIN se não tiver comentário em /etc/login.defs

O mesmo é para GID_MAX e GID_MIN para o ID do grupo do sistema. (Veja GID_MIN e se não comentou SYS_GID_MAX em /etc/login.defs para usar como GID_MAX )

    
por 16.04.2016 / 21:56