A melhor maneira de criar um usuário sem senha

1

Qual é a boa maneira de criar um usuário sem senha? Sem senha, quero dizer uma conta, que seria utilizável apenas pela conta root usando os comandos su / sudo (como o usuário "nobody" usado pelo Apache ou Nginx).

Eu li que colocar um * no campo password do arquivo / etc / shadow funciona, mas gostaria de saber se existe uma maneira de fazer isso com o comando useradd.

Eu pensei em fazer:

useradd my_new_user -s /sbin/nologin -p '*'

mas não tenho certeza se o comando useradd pode ser usado dessa maneira. Eu não encontrei nenhuma referência sobre isso.

    
por John Smith Optional 17.05.2013 / 11:35

2 respostas

2

Isso funciona da maneira que você descreveu (é claro que você pode especificar qualquer shell que queira no lugar de /bin/bash ):

root# useradd temp_test1 -s /bin/bash -p '*'
root# su temp_test1
temp_test1#

Depois de executar o comando useradd acima, a entrada a seguir está no meu arquivo /etc/shadow :

temp_test1:*:15842:0:99999:7:::

Ao usar a resposta de John Smith Opcional , o seguinte funcionará:

root# useradd temp_test2 -s /sbin/nologin
root# su -s /bin/bash temp_test2
temp_test2#

EDITAR: Gostaria de salientar que a diferença é que você não pode su em uma conta que tenha o shell especificado como /sbin/nologin , a menos que você especifique um shell utilizável ao emitir o Comando su :

root# useradd temp_test3 -s /sbin/nologin
root# su temp_test3
This account is currently not available.
root#

(Testado no CentOS 6.4 - deve funcionar em uma variedade de distros).

    
por 17.05.2013 / 21:54
1
useradd my_new_user -s /sbin/nologin

Se uma senha não for especificada, uma não será criada / conta desativada.

    
por 17.05.2013 / 11:46