Como adicionar usuário sem o comando useradd?

11

É possível adicionar um usuário no ubuntu linux sem o comando useradd Acho possível adicionando as entradas, /etc/passwd and /etc/shadowmas não sei as etapas exatas para fazê-lo e o usuário deve obter também o diretório inicial e o shell bash.

mr_eclair
fonte

Respostas:

19

Não é recomendado para modificar manualmente /etc/passwd, /etc/shadow, /etc/groupou /etc/gshadowporque o risco de ruptura. Se você estiver procurando por um comando alternativo mais fácil de usar, dê uma olhada adduser(8). Tudo o que você precisa executar é:

sudo adduser user

O shell será /bin/bashpor padrão por /etc/adduser.conf.

Geralmente, se você deseja adicionar um usuário com o shell bash, criar um diretório inicial /home/usere um grupo de usuários, você usaria:

sudo useradd --create-home --shell /bin/bash --user-group user

Esse comando basicamente determina um ID de usuário $UIDe um grupo gratuitos $GIDe, em seguida, executa os próximos comandos:

echo "user:x:$UID:$GID::/home/user:/bin/bash" | sudo tee -a /etc/passwd
echo "user:x:$GID:" | sudo tee -a /etc/group
echo "user:!:$DATE_OF_LAST_PASS_CHANGE:0:99999:7:::" | sudo tee -a /etc/shadow
echo "user:!::" | sudo tee -a /etc/gshadow

..e, assim, possivelmente fazendo um backup dos arquivos.

As próximas páginas de manual sobre os formatos de arquivo podem ser do seu interesse:

Lekensteyn
fonte
Lekensteyn, você perdeu esta primeira parte do post? "É possível adicionar um usuário no ubuntu linux sem o comando useradd ..." Eles querem uma solução sem o useradd: /
Thomas Ward
1
@TheEvilPhoenix: Eu pensei que ele estava perguntando sobre uma alternativa para adduser. Eu incluí agora addusercomo resposta. É de fato "sem useradd" :)
Lekensteyn
Não tem problema, queria apontar isso é tudo. e perdoe-me ser semiconfrontational ... longa, dias maus no trabalho com falha do servidor cascata faz isso com você ...
Thomas Ward
@All Quero criar usuário sem useradd adicionando possíveis entradas no / etc / passwd e / etc / shadow
mr_eclair
2
@ m59 >>tenta abrir um arquivo como o usuário atual (não raiz) que falhará com um erro de permissão negada. Usando sudo teeignora isso. Como alternativa, você pode agrupar o comando em sudo sh -c '...'para evitar esse problema.
Lekensteyn
1

Embora normalmente não seja necessário ou recomendado, a resposta para a pergunta Como adicionar usuário sem o comando useradd é usarsudo vipw

Isso iniciará o editor definido pelo sistema enquanto bloqueia o arquivo passwd. Digite uma linha para um novo usuário. (No vi, shift-G para chegar à última linha e yy p para duplicá-lo.) Edite o nome de usuário e crie um número de ID de usuário exclusivo.

Depois de salvar o arquivo e sair do editor, você será solicitado a editar / etc / shadow. Use a mesma técnica para criar uma nova linha e use "*" para o hash da senha. A nova conta está bloqueada. Use passwd usernamepara desbloqueá-lo e definir uma senha.

Também é necessário criar um diretório pessoal, copiar arquivos do diretório esqueleto, definir permissões de grupo etc. Mas esse vipwé o seu principal recurso. Veja também vigr.

Fonte: http://itguykelly.wordpress.com/2011/04/19/manually-add-new-user-to-red-hatfedoracentos/ (sim, esses comandos funcionam em vários tipos de * nix)

DrumEater
fonte
0

Quando o usuário é criado no sistema, ele afeta os arquivos como / etc / passou, / etc / group, / etc / shadow, portanto, passe por esses arquivos e faça a entrada manual. E finalmente, no arquivo / etc / skel, adicione skeleton para o usuário no diretório inicial do usuário, que você deve criar no diretório inicial.

govind saraf
fonte