GNU/Linux >> Linux Esercitazione >  >> Linux

Useradd vs Adduser:qual è la differenza?

Quando si tratta di creare un nuovo utente in Linux, hai la possibilità di utilizzare il comando adduser o useradd.

Quindi qual è la differenza tra i comandi useradd e adduser? Uno di loro è migliore dell'altro? Quale dovresti usare? useradd o adduser?

Differenza tra i comandi adduser e useradd

Useradd è un comando Linux integrato che può essere trovato su qualsiasi sistema Linux. Tuttavia, la creazione di nuovi utenti con questo livello basso è un compito noioso perché non crea directory home e password utente per impostazione predefinita.

Adduser non è un comando Linux standard. È essenzialmente uno script Perl che utilizza il comando useradd in background. Questa utility di alto livello è più efficiente nel creare correttamente nuovi utenti su Linux. Ti dà la possibilità di creare la directory home, impostare la password insieme ad alcuni parametri in più.

Diamo un'occhiata a entrambi questi comandi e al modo in cui creano utenti in Linux.

comando Useradd

Innanzitutto, diamo un'occhiata al comportamento predefinito del comando useradd. Hai mai eseguito il seguente comando?

useradd new_user

Devo ancora vedere una distribuzione in cui questo comando ha creato un account utente completo. Anche dopo aver impostato una password per il nuovo utente, dovresti utilizzare opzioni aggiuntive con essa.

Ad esempio, sul mio sistema, il comando precedente ha aggiunto la seguente voce nel file /etc/passwd.

Se leggi l'articolo sull'elenco degli utenti su Linux, probabilmente hai già familiarità con il contenuto del file /etc/passwd. All'inizio sembra buono, ma se inizi a scavare, noterai presto che alcune cose non vanno bene.

Innanzitutto, il secondo campo contiene 'x'. Ciò significa che il segnaposto per le informazioni sulla password è in /etc/shadow. Ma non ho impostato una password. Ciò significa che l'utente di prova non sarà in grado di accedere.

In secondo luogo, la home directory. Il fatto è che /home/test non esiste. Anche dopo aver impostato una password, si verificherà un errore se l'utente effettua il login. A seconda di un'altra configurazione, il tuo sistema Linux potrebbe impedire a un utente senza una directory home valida di accedere. Molto probabilmente, l'utente test sarebbe autorizzato ad accedere al tuo sistema, almeno in modalità testo. Ma l'utente test non sarà autorizzato a creare la sua home directory.

Terzo, la shell di login predefinita è sh, non bash. Non uso sh come shell. Probabilmente non lo fai nemmeno perché bash è la shell predefinita sulla maggior parte delle distribuzioni Linux.

Sebbene il comportamento di useradd possa essere leggermente modificato modificando /etc/login.defs, c'è poca o nessuna possibilità che il comando sopra crei un account utente completo. Useradd è un'utilità di basso livello. Tuttavia, può essere utile esaminare le impostazioni in /etc/login.defs.

Comando Adduser

Il comando Adduser non è disponibile su alcune distribuzioni Linux. Su altri, è un collegamento software a useradd. Mentre su alcuni altri, è uno script Perl.

Adduser è un'utilità interattiva di alto livello. Utilizza l'utilità di basso livello useradd come back-end. Le impostazioni in /etc/login.defs verranno utilizzate durante l'utilizzo del comando adduser. Sulle distribuzioni basate su Debian, anche la pagina man ne consiglia l'uso rispetto al comando useradd.

Chiamare adduser solo con un nome utente ti guiderà attraverso una serie di domande.

Dopo aver risposto ad alcune domande, verrà creato un account utente completo con home directory. Il nuovo utente è pronto per accedere tramite il tuo gestore degli accessi o in modalità testo.

Per ottenere quasi lo stesso risultato utilizzando l'utilità di basso livello useradd, il comando sarebbe simile a questo:

sudo useradd -d /home/test -m -s/bin/bash \ -c FullName,Phone,OtherInfo test && passwd test

Il -c le opzioni possono essere rimosse senza problemi, l'elenco separato da virgole che segue sono commenti aggiunti a /etc/passwd. Ma anche in questo caso, adduser ti salva due comandi aggiuntivi.

Il comando Adduser ha un elenco di opzioni disponibili. Ecco un breve elenco che penso sarà molto utile da sapere. Fare riferimento alla guida o alla pagina man per maggiori dettagli.

  • sistema:aggiunge un utente di sistema. Per impostazione predefinita, gli utenti del sistema vengono inseriti nel gruppo nogroup. Per aggiungere un utente di sistema a un gruppo esistente, fornisci l'opzione –gid o –ingroup.
  • home DIR:usa DIR come home directory invece del default. La directory verrà creata se necessario e i file di scheletro verranno copiati.
  • shell SHELL:usa SHELL invece dell'impostazione predefinita.
  • GRUPPO ingroup:imposta il gruppo principale dell'utente su GRUPPO
  • add_extra_groups:aggiunge un nuovo utente al gruppo aggiuntivo definito nel file di configurazione.

Il file di configurazione di Adduser ti consente di impostare i valori predefiniti da utilizzare durante la creazione dell'account. Il file è ben documentato e ti consente di impostare valori predefiniti come:

  • Shell predefinita
  • Rubrica principale
  • Gruppi extra
  • Aggiungi gruppi extra

Conclusione

Nella mia esperienza personale come amministratore di sistema, adduser è molto più bravo a creare nuovi utenti in Linux. Preferisco adduser su useradd ogni giorno e consiglio lo stesso.

E tu? Quale preferisci tra adduser e useradd?


Linux
  1. Linux:l'uso dell'opzione -o nel comando Useradd?

  2. Qual è la differenza tra individuare e trovare il comando in Linux

  3. Esempi di comandi adduser in Linux

  4. useradd:comando non trovato

  5. Qual è la differenza tra &> e >&in bash?

Qual è la differenza tra il comando apt e apt-get?

Il comando di spegnimento?

iptables vs nftables:qual è la differenza?

Qual è la differenza tra i comandi kill e killall?

Qual è il comando kill in Linux?

useradd vs. adduser:quali sono le differenze?