Questa breve guida spiega come creare una directory home per l'utente esistente in sistemi operativi simili a Linux e Unix usando mkhomedir_helper
comando.
Introduzione
Come già saprai, possiamo creare un nuovo utente in sistemi Linux e simili a Unix usando adduser
comando, giusto? Sì, è giusto! Quando aggiungiamo un nuovo utente, la home directory per il rispettivo utente viene creata automaticamente per impostazione predefinita.
C'è anche un altro comando per creare utenti in Linux. Si chiama useradd
.
Dopo aver creato alcuni utenti usando useradd
comando in Alpine Linux, ho notato che le directory $HOME per gli utenti non vengono create. Non ne sono a conoscenza prima.
Dopo aver letto useradd
nelle pagine man del comando, mi sono reso conto che avrei dovuto includere -m
(o --create-home
) opzione per creare nuovi utenti con la directory $HOME come di seguito:
$ sudo useradd -m user_name
Oppure,
$ sudo useradd --create-home user_name
Ma ho dimenticato di includere questa opzione e ho continuato a creare alcuni nuovi utenti. Se sei come me, non eliminare gli utenti esistenti e ricrearli con -m
opzione.
Puoi facilmente creare una home directory per un utente esistente in Linux usando mkhomedir_helper
comando, senza eliminare e ricreare l'utente.
Crea directory home per utenti esistenti in Linux
Il mkhomedir_helper
è un programma di supporto per pam_mkhomedir
modulo. Il pam_mkhomedir
Il modulo PAM creerà la home directory di un utente se non esiste all'inizio della sessione.
Per prima cosa, questo modulo crea le home directory e poi le popola con il contenuto della directory skel specificata. Il valore predefinito di umask
è 0022
e il valore predefinito di path-to-skel è /etc/skel
.
Permettetemi di mostrarvi un esempio per spiegare come creare la directory home per un utente esistente con l'aiuto di mkhomedir_helper
comando.
Per prima cosa, creiamo un nuovo utente chiamato otechnix utilizzando useradd
comando:
$ useradd ostechnix
Imposta la password per l'utente:
$ passwd ostechnix
Ora passa al nuovo utente:
$ su - ostechnix
Verrà visualizzato il seguente messaggio di errore:
su: warning: cannot change directory to /home/ostechnix: No such file or directory
Come puoi vedere nell'output sopra, la home directory per l'utente ostechnix non esiste, quindi questo errore.
Verifichiamolo esaminando il /home
directory:
$ ls -l /home/ total 0 drwx------ 1 vagrant vagrant 72 Dec 15 13:19 vagrant
Bene, è vero che non esiste una home directory per l'utente ostechnix.
Quindi creiamo la home directory per l'utente esistente (cioè ostechnix nel nostro caso) con mkhomedir_helper
comando.
Per fare ciò, prima disconnettiti dall'utente ostechnix se hai già effettuato l'accesso:
$ exit
Ed esegui il comando seguente per creare la home directory per l'utente chiamato otechnix :
$ sudo mkhomedir_helper ostechnix
Tieni presente che devi eseguire il comando precedente come root
utente o sudo
diverso utente.
Ora passa all'utente ostechnix:
$ su - ostechnix
Questa volta non riceverai alcun messaggio di avviso, perché la home directory per l'utente chiamata ostechnix è stata creata con mkhomedir_helper
comando.
[[email protected] ~]$ pwd /home/ostechnix
Per maggiori dettagli, fare riferimento alle pagine man:
$ man mkhomedir_helper
Ora sai come creare directory home dopo aver creato gli utenti. Questo può essere utile quando hai dimenticato di includere -m
opzione durante la creazione di utenti con useradd
comando.
Invece di usare useradd
, puoi utilizzare adduser
comando che creerà automaticamente le home directory dell'utente senza alcuna opzione.
Lettura correlata:
- Come spostare la directory principale su una nuova partizione o disco in Linux
- Aggiungi, elimina e concedi privilegi Sudo agli utenti in Alpine Linux
- Aggiungi, elimina e concedi privilegi Sudo agli utenti in Arch Linux
- Aggiungi, elimina e concedi privilegi Sudo agli utenti in Fedora
- Aggiungi, elimina e concedi privilegi Sudo agli utenti in CentOS
- Aggiungi, elimina e concedi privilegi Sudo agli utenti in Ubuntu
Immagine in primo piano di FreeCliparts da Pixabay.