Perché la home directory non viene creata quando creo un nuovo utente?


15

Ho creato un nuovo utente (testuser) usando il useraddcomando su una macchina virtuale del server Ubuntu. Vorrei creare una home directory per l'utente e dare loro anche i problemi di root.

Tuttavia, quando eseguo l'accesso come nuovo utente, si lamenta che non esiste una home directory. Che cosa sto facendo di sbagliato?


Ho risposto alla domanda principale sulla creazione di una home directory. Dare a un nuovo utente l'accesso root è un problema non correlato e dovrebbe essere richiesto separatamente. Fondamentalmente, devi solo aggiungere l'utente al sudogruppo.
terdon

Risposte:


22

Finalmente mi sono finito

Questa è la risposta

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

1
cosa sta facendo la bandiera -d, o la bandiera -G
Alexander Mills

controlli usando il comando man. basta eseguire "man useradd".
Principiante

1
-mcrea la home directory se non esiste. -dignora il percorso predefinito della directory home. -simposta la shell di accesso per l'utente. -Gsi aspetta un elenco separato da virgole di gruppi a cui l'utente dovrebbe appartenere.
Alastair Harrison,

@Beginner you check using man command.Questa è una risposta zero utile, avresti potuto solo spiegare DOPO che ricordi le persone sulla manfunzione.
MS Berends

@AlastairHarrison Lode a te.
MS Berends

21

Il useraddprogramma è stato deprecato a favore di adduser. Da man useradd:

useradd è un'utilità di basso livello per l'aggiunta di utenti. Su Debian, gli
amministratori dovrebbero invece usare adduser (8) invece
.

adduserè un frontend più amichevole useradde farà cose come creare directory utente per impostazione predefinita. Quando lo esegui con solo un nome utente come argomento, ti verrà richiesto di fornire informazioni aggiuntive come la password:

$ 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] 

In generale, è necessario utilizzare sempre adduseranziché useraddpoiché questo imposterà automaticamente anche i gruppi richiesti. Come spiegato in 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
non voglio usare il comando adduser.
Principiante

4
@rajcoumar umm, perché? Questo è lo strumento giusto per il lavoro. Se insisti nell'usare lo strumento sbagliato, dovrai creare manualmente la home directory e i gruppi di utenti e copiare i file predefiniti da /etc/skelecc., Ecc. Ecco perché Debian Way® ufficiale deve essere usato adduser.
terdon

1
#terdon hai ragione .. ma sto scrivendo uno script di shell usando solo il comando useradd
Principiante

@rajcoumar OK, allora devi creare tutto manualmente o semplicemente cambiare lo script per usare invece il regolatore. Basta creare un file /etc/adduser.conf.
terdon

1
guarda la mia risposta, non so che sia corretta ma funziona per me
Principiante

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.