Scripter la création d'utilisateurs : adduser vs. useradd

Je voudrais scripter la création d’utilisateurs (locaux) sur la machine. Je vois que Debian a en gros deux façons d’ajouter ces derniers: adduser en interactif, ou alors le bon vieux useradd. J’ai jeté un oeil dans /usr/sbin/adduser, mais c’est du Perl orienté objet, et j’avoue que ça dépasse mes compétences.

Les deux ou trois dernières années, j’ai bossé essentiellement sur du CentOS/RHEL, où le fonctionnement de adduser/useradd est très différent.

En gros :

  1. Qu’est-ce qui se passe exactement lorsqu’un utilisateur est ajouté avec ‘adduser’ ?

  2. Quel serait l’équivalent exact pour obtenir la même chose avec ‘useradd’ dans un script ?

Des suggestions ?

DESCRIPTION useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.

Ça répond à ta question à savoir lequel tu devrais utiliser. C’est dans le man de useradd.

Pour réussir à avoir l’équivalent dans un script tu donnes la réponse toi même : il y’a un script perl équivalent à lui même dans /usr/sbin/adduser
Bref si tu veux réinventer la roue tu peux mais va juste falloir te coltiner les mans des deux pour savoir ce que fait l’un et comment le simuler avec l’autre.

adduser:
*ajout de l’utilisateur avec son groupe
*création du /home de l’utilisateur (à partir de /etc/skel il me semble…)
*définition du mot de passe
*saisi des infos diverses (n° de tel, nom prénom…)
plus d’info: /etc/adduser.conf

useradd:
*ajout de l’utilisateur (et de son groupe? ça je ne sais pas)
et c’est tout… :laughing:

Il faut peut-être tourner le problème dans l’autre sens… non? … rendre adduser “non-intéractif” plutôt… non? cf le man avec la quantité d’options… :wink:

Bon courage à toutes et tous… :smt006

Merci! En fait j’ai expérimenté tout l’après-midi, dans tous les sens. Une très bonne doc à ce sujet, c’est le “Linux Cookbook” de Carla Schroder, le chapitre sur les utilisateurs locaux, étant donné qu’il y a un véritable comparatif Red Hat / Debian. Après, c’est des scripts, des tests et un peu de patience.

Pour répondre à une suggestion énoncée plus haut. Non, ce n’est pas une bonne idée d’utiliser adduser dans un script. Mais useradd (avec sa pléthore d’options -m, -s, -k, etc.) fait très bien l’affaire.

Autre embûche: songer à ajouter les utilisateurs aux différents groupes comme dialout, audio, plugdev, video, cdrom, etcetera.