Finalmente eu terminei
Esta é a resposta
useradd -m -d /home/testuser/ -s /bin/bash -G sudo testuser
Eu criei um novo usuário (testuser) usando o comando useradd
em uma máquina virtual do servidor Ubuntu. Eu gostaria de criar um diretório home para o usuário e também dar-lhes provilégios de raiz.
No entanto, quando eu faço o login como o novo usuário, ele reclama que não há um diretório inicial. O que estou fazendo errado?
O programa useradd
foi reprovado em favor de adduser
. De man useradd
:
useradd is a low level utility for adding users. On Debian,
administrators should usually use adduser(8) instead.
adduser
é um frontend mais amigável para useradd
e fará coisas como criar diretórios de usuários por padrão. Quando você o executa com apenas um nome de usuário como um 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 adduser
em vez de useradd
, pois isso também configurará os grupos necessários automaticamente. Conforme 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.
useradd -m LOGIN
cria o diretório inicial do usuário