desenv-web-rp.com

Criando um usuário sem senha

Estou tentando criar um usuário sem senha como esta:

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

É criado bem. Mas quando tento fazer login com o usuário git, recebo a senha digitando:

su git
Password:...

Quando deixo em branco, recebo um erro:

su: Authentication failed

O que está errado?

70
Erik

Você criou um usuário com uma "senha desativada", o que significa que não há uma senha que permita que você faça login como usado. Isso é diferente de criar um usuário no qual qualquer pessoa possa 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 efetuam login normalmente, você precisa saltar através da conta root:

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

ou

Sudo -u git git init

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

32

O --disabled-password A opção não 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 é criado para tornar a senha vazia. Observe que nem todos os sistemas permitem que usuários com senha vazia efetuem login.

42
pallxk

Se você deseja acessar o sistema sob o usuário git, use o Sudo:

Sudo -s -u git

ou

Sudo su - git
9
Didi Kohen

Crie um usuário com senha vazia

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

Infelizmente, a solicitação de senha ainda é exibida.

Mas se você pressionar enter sem digitar nada, ele fará o logon como o usuário test-user-0.

O -e sinalizadores informa a chpasswd que a senha já está criptografada e U6aMy0wojraho é o hash da string vazia.

Testado no Ubuntu 18.04.

Registro automático de terminal com getty -a

Pelo menos no terminal, você não precisa criar um usuário sem senha para permitir que alguém não digite suas senhas todas as vezes.

Consegui fazer isso no BusyBox modificando inittab: Como fazer login automaticamente sem digitar o nome de usuário ou a senha do root no Buildroot BusyBox init?

Portanto, acredito que não deve ser muito difícil adaptar essa técnica modificando os scripts de sistema systemd init do Ubuntu 18.04 para configurar um getty -a <user> terminal como mencionado nessa resposta, embora eu não tenha tentado fazer isso sozinho.

Eu 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 "User" apenas coloque "User" no campo de comentários para que você não seja solicitado a fornecer essas informações. Você pode colocar o que quiser nesse campo.

3
Douglas Krugman