Qual è la differenza tra i comandi addusere useraddsu Ubuntu?
Qual è la differenza tra i comandi addusere useraddsu Ubuntu?
Risposte:
useraddè binario nativo compilato con il sistema. Maadduserè uno script perl che usa iluseraddbinario nel back-end.
adduserè più intuitivo e interattivo rispetto al suo back-enduseradd. Non c'è differenza nelle funzionalità fornite.
-mopzione creerà la home directory.
adduser(8)è più intuitivo e crea e configura un utente per impostazione predefinita nel modo previsto. E useradd(8)fai solo quello che chiedi, quindi vuoi creare una home directory, devi dirlo per crearla per te.
Utilizzare sempreadduser (e deluserquando si eliminano gli utenti) quando si creano nuovi utenti dalla riga di comando. (Se stai scrivendo uno script, specialmente se miri alla portabilità, potresti voler utilizzare invece le utilità di basso livello - e adduser/ deluserpotrebbe non essere disponibile su tutte le distro, ad esempio su SuSE.)
I comandi useradd, userdele usermodsono utility di basso livello che sono lì per ragioni storiche, mentre adduser/deluserDo The Right Thing ™. (Ricordo quale usare pensando che user*viene dopo adduser/deluserin alfabeto, e quindi è "peggio".)
Secondo le rispettive manpage (su Ubuntu 12.04 Precise Pangolin, ovvero un sistema derivato Debian).
adduserdice:(Enfasi aggiunta.)
addusereaddgroupaggiungere utenti e gruppi al sistema in base alle opzioni della riga di comando e alle informazioni di configurazione in/etc/adduser.conf. Sono front-end più amichevoli per strumenti di basso livello comeuseradd,groupaddeusermodprogrammi , per impostazione predefinita che scelgono valori UID e GID conformi alla politica Debian, creando una home directory con configurazione scheletrica, eseguendo uno script personalizzato e altre funzionalità.addusereaddgrouppuò essere eseguito in una delle cinque modalità:
useradddice:
useraddè un'utilità di basso livello per l'aggiunta di utenti. Su Debian, gli amministratori dovrebberoadduser(8)invece usare invece.
Vedi anche: Qual è la differenza tra "adduser" e "useradd"? (su SuperUser)
adduser ": per gli script automatici preferirei useraddperché è sempre lì, non interattivo e non specifico per la distribuzione .
addusersu openSUSE, e non è lì. (13.2)
locate adduserun sistema SuSE 11 al lavoro, ho scoperto che c'era una addusermanpage, ma non binaria (e né una delusermanpage né un comando).
/usr/sbin/adduser -> useradd
adduser: aggiungi utente con profilo completo e informazioni (pass, quota, autorizzazione, ecc.)
useradd: aggiungi solo l'utente con il suo nome (se vuoi aggiungere un utente temporaneo con solo un nome, altre informazioni non richieste)
Un'altra coppia di differenze, che portano a scenari specifici in cui useradd potrebbe essere preferibile.
In alcune nuove distribuzioni, tra cui Ubuntu 14.4, adduser richiederà informazioni come password e "gecos" (dati per il comando finger). Ciò significa che può essere meno adatto per la chiamata da uno script (credito: già menzionato in un commento di Wernight).
I prompt possono essere soppressi passando argomenti null:
adduser --disabled-password --gecos "" USER
useraddconsente di passare più gruppi aggiuntivi a cui aggiungere un utente tramite l' -Gopzione. addusersembra richiedere di chiamare il comando una volta per ogni gruppo da aggiungere.
adduserè più amichevole in quanto configura le cartelle home dell'account e altre impostazioni (ad es. caricamento automatico delle statistiche di sistema e delle notifiche all'accesso), mentre useraddcrea semplicemente l'utente.
La differenza di base è che "adduser" creerà la directory home e aggiungerà i file scheletro a quella directory in cui "useradd" non creerà alcuna directory home e file scheletro!
Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
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] y
# ll /home/
total 20
drwxr-xr-x 5 root root 4096 Oct 26 15:52 ./
drwxr-xr-x 22 root root 4096 Oct 26 15:47 ../
drwx------ 8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x 3 root root 4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x 2 try try 4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#
Sottolineerò anche che addusernon sempre ha l' -Mopzione e inoltre non rispetta la --systembandiera che dice specificamente :
Si noti che useradd non creerà una home directory per tale utente, indipendentemente dall'impostazione predefinita in /etc/login.defs (CREATE_HOME). È necessario specificare le opzioni -m se si desidera creare una home directory per la creazione di un account di sistema.
Se stai cercando di creare un utente di sistema senza una home directory, utilizza useradd --system -M.