Por que o diretório inicial não é criado quando crio um novo usuário?


15

Criei um novo usuário (testuser) usando o useraddcomando em uma máquina virtual do servidor Ubuntu. Eu gostaria de criar um diretório inicial para o usuário e também fornecer-lhes provisões raiz.

No entanto, ao fazer o login como novo usuário, ele reclama que não há diretório inicial. O que estou fazendo de errado?


Respondi à pergunta principal sobre a criação de um diretório doméstico. Conceder a um novo acesso root do usuário é um problema não relacionado e deve ser solicitado separadamente. Basicamente, você só precisa adicionar o usuário ao sudogrupo.
terdon

Respostas:


22

Finalmente eu terminei

Esta é a resposta

   useradd -m -d /home/testuser/ -s /bin/bash -G sudo testuser

1
o que é o sinalizador -d fazendo, ou a bandeira -G fazendo
Alexander Mills

você verifica usando o comando man. basta executar "man useradd".
Iniciante

1
-mcria o diretório inicial se ele não existir. -dsubstitui o local padrão do diretório inicial. -sdefine o shell de login para o usuário. -Gespera uma lista separada por vírgula de grupos aos quais o usuário deve pertencer.
Alastair Harrison

@Beginner you check using man command.Essa é uma resposta zero útil, você poderia ter explicado APÓS lembrar as pessoas sobre a manfunção.
MS Berends

@AlastairHarrison Elogio a você.
MS Berends

21

O useraddprograma foi descontinuado em favor de adduser. De man useradd:

useradd é um utilitário de baixo nível para adicionar usuários. No Debian, os
administradores geralmente devem usar o adduser (8)
.

adduseré um front-end mais amigável useradde fará coisas como criar diretórios de usuário por padrão. Ao executá-lo com apenas um nome de usuário como argumento, você será solicitado a fornecer informações adicionais, como a senha:

$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1002) ...
Adding new user `testuser' (1002) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for testuser
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] 

Em geral, você deve sempre usar em adduservez de, useraddpois isso também configurará os grupos necessários automaticamente. Como explicado em man adduser:

   adduser  and  addgroup  add users and groups to the system according to
   command    line    options    and    configuration    information    in
   /etc/adduser.conf.   They  are  friendlier  front ends to the low level
   tools like useradd, groupadd and usermod programs, by default  choosing
   Debian  policy conformant UID and GID values, creating a home directory
   with skeletal configuration, running a custom script,  and  other  fea‐
   tures. 

1
Eu não quero usar o comando adduser.
Iniciante

4
@rajcoumar umm, por quê? Essa é a ferramenta certa para o trabalho. Se você insistir em usar a ferramenta errada, terá que criar manualmente o diretório inicial e os grupos de usuários e copiar os arquivos padrão de /etc/skeletc., etc. É por isso que o Debian Way® Oficial é usado adduser.
terdon

1
#terdon ya corrigir .. mas eu estou escrevendo um script shell usando o comando useradd única
Beginner

@rajcoumar OK, então você precisa criar tudo manualmente ou simplesmente alterar o script para usar o ajustador. Basta criar um arquivo /etc/adduser.conf.
terdon

1
basta olhar para a minha resposta, eu não sei que é um correto, mas ele funciona para mim
Beginner

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.