GNU/Linux >> Linux Esercitazione >  >> Linux

Crea directory home per utenti esistenti in Linux

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.


Linux
  1. 20 comandi Linux essenziali per ogni utente

  2. Come eliminare gli account utente con Home Directory in Linux

  3. Come creare una directory condivisa per tutti gli utenti in Linux

  4. Come creare un utente Linux usando Ansible

  5. Qual è lo scopo del file .bash_profile nella directory home dell'utente in Linux

Come creare un'unità USB avviabile per Linux

Spiegazione della struttura della directory di Linux per i principianti

Come creare una nuova directory in Linux

Come creare/aggiungere utenti in Linux

Modifica la home directory per un utente LDAP in Linux

Crea un nuovo utente vsftpd e blocca (specifica) la directory home/login