En plus de useradd
, plus répandu, les systèmes basés sur Debian contiennent également une commande adduser
supplémentaire qui fournit une interface de niveau supérieur pour ajouter des utilisateurs et certaines tâches connexes. Il existe diverses questions/réponses sur d'autres sites SE qui détaillent les différences de base entre ces commandes, par exemple:
La plupart des réponses disent essentiellement que adduser
fournit une interface plus agréable pour ajouter des utilisateurs de manière interactive, mais ne donne pas beaucoup de détails sur ce qui se passe lorsque adduser
est exécuté qui ne se compare pas à useradd
. Donc:
adduser
fait que useradd
ne fait pas?Tout d'abord, les extraits de page de manuel respectifs mettent en évidence les différences entre les deux commandes et donnent une indication de ce qui se passe. Pour adduser
:
adduser et addgroup ajoutent des utilisateurs et des groupes au système en fonction des options de ligne de commande et des informations de configuration dans /etc/adduser.conf. Ils sont des interfaces utilisateur plus conviviales pour les outils de bas niveau tels que les programmes useradd, groupadd et usermod, en choisissant par défaut les valeurs UID et GID conformes à la politique Debian, en créant un répertoire personnel avec une configuration squelettique, en exécutant un script personnalisé et d'autres fonctionnalités.
Alors pour useradd
:
useradd est un utilitaire de bas niveau pour ajouter des utilisateurs. Sur Debian, les administrateurs devraient généralement utiliser adduser (8) à la place.
Un examen plus approfondi de adduser
révèle qu'il s'agit d'un script Perl fournissant une interface de haut niveau et offrant ainsi certaines des fonctionnalités des commandes suivantes:
useradd
groupadd
passwd
- utilisé pour ajouter/modifier les mots de passe des utilisateurs.gpasswd
- utilisé pour ajouter/modifier des mots de passe de groupe.usermod
- utilisé pour modifier divers paramètres associés à l'utilisateur.chfn
- utilisé pour ajouter/modifier des informations supplémentaires détenues sur un utilisateur.chage
- utilisé pour modifier les informations d'expiration du mot de passe.edquota
- utilisé pour modifier les quotas d'utilisation du disque.Une exécution de base de la commande adduser
est la suivante:
adduser username
Cette commande simple fera un certain nombre de choses:
username
./home/username
Et copiez-y les fichiers de /etc/skel
.Le programme useradd
peut accomplir la plupart de ces tâches, mais il ne le fait pas par défaut et a besoin d'options supplémentaires. Certaines informations nécessitent plus de commandes:
useradd -m -U username
passwd username
chfn username
Notez que adduser
garantit que les UID et GID créés sont conformes à la politique Debian . La création d'utilisateurs normaux avec useradd
semble correcte, à condition que UID_MIN
/UID_MAX
Dans /etc/login.defs
Corresponde à la politique Debian. Ce qui est un problème cependant, c'est que Debian spécifie une plage particulière pour les UID des utilisateurs système qui ne semble être prise en charge que dans /etc/adduser.conf
, Ajoutant ainsi naïvement un utilisateur système avec useradd
et sans spécifier un UID/GUID dans la plage correcte laisse le potentiel de graves problèmes.
Une autre utilisation courante de adduser
est de simplifier le processus d'ajout d'un utilisateur à un groupe. Ici, la commande suivante:
adduser username newgroup
remplace une commande usermod
plus complexe qui nécessite de spécifier les groupes dont l'utilisateur est déjà membre (et que vous souhaitez que l'utilisateur reste membre):
usermod -G all,other,groups,user,is,in,newgroup
Un inconvénient de l'utilisation de adduser
ici est que vous ne pouvez spécifier qu'un seul groupe à la fois.
La commande adduser crée par défaut également un répertoire/home/user pour les utilisateurs système, ce que vous ne pouvez pas faire avec la commande seradd. useradd n'ajoute des répertoires personnels qu'aux utilisateurs normaux et non aux utilisateurs système.
L'administrateur système peut faire n'importe quoi avec useradd qui peut être fait avec adduser. Il a été indiqué ici que vous ne pouvez pas créer un répertoire/home/user pour les utilisateurs du système avec useradd, et vous pouvez absolument le faire, en modifiant les fichiers contenus dans/etc/skel./etc/skel contient l'ensemble des fichiers initialement utilisés pour remplir le répertoire personnel d'un nouvel utilisateur.