Criando um usuário sem uma senha

53

Estou tentando criar um usuário sem senha assim:

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos ‘User for managing of git version control’ \
   --group \
   --disabled-password \
   --home /home/git \
   git

Ele foi criado bem. Mas quando tento fazer o login no usuário git, estou recebendo a senha:

su git
Password:...

Quando o deixo vazio, recebo um erro:

su: Authentication failed

O que há de errado?

    
por Erik 26.11.2012 / 14:39

5 respostas

27

Você criou um usuário com uma "senha desativada", o que significa que não há senha que permita que você efetue login conforme usado. Isso é diferente da criação de um usuário no qual qualquer pessoa pode efetuar login sem fornecer uma senha, o que é obtido especificando uma senha vazia e raramente é útil.

Para executar comandos como usuários “do sistema” que não logam normalmente, você precisa pular pela conta root:

su -c 'su git -c "git init"'

ou

sudo -u git git init

Se você quiser que determinados usuários possam executar comandos como git user sem permitir que eles executem comandos como root, configure o sudo (execute visudo como root e adicione uma linha como %gitters ALL = (git) ALL ).

    
por 27.11.2012 / 02:13
34

A opção --disabled-password não irá definir uma senha, o que significa que nenhuma senha é legal, mas o login ainda é possível (por exemplo, com chaves SSH RSA).

Para criar um usuário sem senha, use passwd -d $username depois que o usuário for criado para esvaziar a senha. Note que nem todos os sistemas permitem que usuários com senha vazia efetuem login.

    
por 12.09.2014 / 03:32
8

Se você quiser acessar o sistema sob o usuário git, você deve usar o sudo:

sudo -s -u git

ou

sudo su - git
    
por 26.11.2012 / 14:47
2

Crie um usuário com senha vazia

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

O aviso de senha ainda é exibido infelizmente.

Mas se você acabou de apertar enter sem digitar nada, e ele loga como usuário test-user-0 .

Os -e flags informam chpasswd que a senha já está criptografada e U6aMy0wojraho é o hash da string vazia.

Testado no Ubuntu 18.04.

Autologin do BusyBox

No terminal, pelo menos, você não precisa criar um usuário sem uma senha para permitir que alguém não digite as senhas toda vez, hacking inittab é suficiente: Como fazer login automaticamente sem digitar o nome de usuário ou senha root no Buildyot BusyBox init?

    
por 03.10.2018 / 14:13
0

Acho que é isso que você quer:

adduser --disabled-password --shell /bin/bash --gecos "User" $username

Você poderá

su $username

para executar comandos como esse usuário, em / bin / bash ou qualquer shell que você especificar. --gecos "Usuário" basta colocar "Usuário" no campo de comentário para que você não seja solicitado para essa informação. Você pode colocar o que quiser nesse campo.

    
por 14.11.2018 / 04:19