Quais etapas para adicionar um usuário a um sistema sem usar useradd / adduser?

10

Eu estava navegando por algumas questões do Linux e vi essa pergunta interessante.

Quais etapas para adicionar um usuário a um sistema sem usar useradd/ adduser?

A única maneira possível que me vem à mente é,

  • Adicione uma entrada para o usuário no /etc/passwdarquivo.
  • Adicione uma entrada para o grupo no /etc/grouparquivo.
  • Crie o diretório inicial para o usuário adicionado.
  • Defina a nova senha do usuário usando o passwdcomando

Testei a abordagem acima e funcionou bem.

Essa é a única maneira possível ou existe algum outro trabalho para conseguir isso?

Ramesh
fonte
4
Boa pergunta, mas onde isso seria útil?
Nidal de Nidal
1
@ Networker, no mesmo link que eu postei na resposta, encontrei essas informações também. Às vezes, é necessário criar contas falsas que não são usadas por pessoas. Por exemplo, para configurar um servidor FTP anônimo .
Ramesh
2
@ Networker, podem ser casos práticos que podem ser inúteis. No entanto, ainda é útil em algumas perguntas da entrevista, que é onde eu originalmente obtive essa pergunta. serverfault.com/a/225954
Ramesh
1
obrigado por esta explicação, e sua resposta é realmente útil, tentarei no futuro.
Nidal de Nidal
2
@ Networker: aqui está um caso de uso: O WSL Ubuntu no Win10 se recusa a trabalhar, reclama de arquivos de bloqueio e continua se recusando a trabalhar após remover os arquivos (trabalhando como root). Aposto que está relacionado à versão Win10, mas não posso atualizar no momento. Então, esse é um caso em que eu usaria esse método.
usar o seguinte

Respostas:

13

A maneira possível de adicionar um usuário é mais ou menos semelhante ao que eu havia colocado na pergunta. Eu tenho essa abordagem daqui .

Para criar uma nova conta manualmente, siga estas etapas:

Edite /etc/passwdcom vipwe adicione uma nova linha para a nova conta. Tenha cuidado com a sintaxe. Não edite diretamente com um editor. vipwbloqueia o arquivo, para que outros comandos não tentem atualizá-lo ao mesmo tempo. Você deve fazer com que o campo da senha seja `* ', para que seja impossível fazer login.

Da mesma forma, edite /etc/groupcom vigr, se você precisar criar um novo grupo também.

Crie o diretório inicial do usuário com mkdir.

Copie os arquivos de /etc/skelpara o novo diretório inicial.

Corrija propriedades e permissões com chowne chmod. A -Ropção é mais útil. As permissões corretas variam um pouco de um site para outro, mas geralmente os seguintes comandos fazem a coisa certa:

  • cd /home/newusername
  • chown -R username.group .
  • chmod -R go=u,go-w .
  • chmod go= .

Defina a senha com passwd.

Depois de definir a senha na última etapa, a conta funcionará. Você não deve configurá-lo até que tudo o mais tenha sido feito, caso contrário, o usuário poderá fazer login inadvertidamente enquanto você ainda está copiando os arquivos.

Ramesh
fonte
não deve :ser usado em vez de .separar o nome de usuário do grupo?
pqnet
@pqnet sim, use :.
Joni
tnx @Ramesh para esta pergunta e materiais.
Karthik Nedunchezhiyan