useradd Man page

Resume Wikipedia de Skel

Sous Linux, le répertoire /etc/skel contient les fichiers qui permettent de construire automatiquement le répertoire /home de l’utilisateur au moment de sa création avec le programme useradd. Le répertoire /home contient les données personnelles de chaque utilisateur comme la configuration de l’environnement de travail et des applications courantes. Dans un système d’exploitation Linux, c’est aussi le répertoire de référence du système au moment de la connexion de l’utilisateur, ce qui est pratique parce qu’il contient de nombreux fichiers de configuration importants ainsi que les données de l’utilisateur.
Le programme useradd est situé dans le répertoire /usr/sbin/, et n’est accessible qu’en mode root. Il faut alors posséder les droits d’administrateur ou de super-utilisateur.
/etc/skel permet donc à l’administrateur de personnaliser un squelette pour le répertoire /home qui fixe les paramètres initiaux à chaque nouveau compte utilisateur créé.
Portail GNU/Linux

USERADD(8) Commandes de gestion du systèm USERADD(8)

NOM
useradd – créer un nouvel utilisateur ou modifier les informations par
défaut appliquées aux nouveaux utilisateurs

SYNOPSIS

useradd [options] LOGIN

useradd -D

useradd -D [options]

DESCRIPTION

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

Quand elle est invoquée sans l’option -D, la commande useradd crée un
nouveau compte utilisateur qui utilise les valeurs indiquées sur la
ligne de commande et les valeurs par défaut du système. En fonction des
options de la ligne de commande, la commande useradd fera la mise à
jour des fichiers du système, elle pourra créer le répertoire personnel
et copier les fichiers initiaux.

Par défaut, un groupe sera également créé pour le nouvel utilisateur
(voir -g, -N, -U, et USERGROUPS_ENAB)

OPTIONS

Les options disponibles pour la commande useradd sont :

-b, –base-dir RÉP_BASE
Répertoire de base par défaut du système si l’option -d RÉP_PERSO
n’est pas spécifiée. RÉP_BASE est concaténé avec le nom du compte
pour définir le répertoire personnel. Quand l’option -m n’est pas
utilisée, RÉP_BASE doit exister.

Si cette option n’est pas précisée, useradd utilisera le répertoire
de base précisé par la variable HOME dans /etc/default/useradd ou
/home par défaut.

-c, –comment COMMENTAIRE
Toute chaîne de texte. C’est généralement une description courte du
compte, elle est actuellement utilisée comme champ pour le nom
complet de l’utilisateur.

-d, –home-dir RÉP_PERSO
Le nouvel utilisateur sera créé en utilisant RÉP_PERSO comme valeur
de répertoire de connexion de l’utilisateur. Le comportement par
défaut est de concaténer UTILISATEUR au répertoire RÉP_BASE, et de
l’utiliser en tant que nom de répertoire de connexion. Il n’est pas
nécessaire que le répertoire RÉP_PERSO existe mais il ne sera pas
créé s’il n’existe pas.

-D, –defaults
Consultez ci-dessous la sous-section « Modifier les valeurs par
défaut ».

-e, –expiredate DATE_FIN_VALIDITÉ
Date à laquelle le compte utilisateur sera désactivé. La date est
indiquée dans le format AAAA-MM-JJ.

Si non précisé, useradd utilisera la date d’expiration par défaut
précisée par la variable EXPIRE dans /etc/default/useradd ou une
chaîne vide (pas d’expiration) par défaut.

-f, –inactive DURÉE_INACTIVITÉ
Nombre de jours suivant la fin de validité d’un mot de passe après
lequel le compte est définitivement désactivé. Une valeur de 0
désactive le compte dès que le mot de passe a dépassé sa fin de
validité, et une valeur de -1 désactive cette fonctionnalité.

Si non précisé, useradd utilisera la période d’inactivité par
défaut précisée par la variable INACTIVE dans /etc/default/useradd,
ou -1 par défaut.

-g, –gid GROUPE
Nom du groupe ou identifiant numérique du groupe de connexion
initial de l’utilisateur. Le nom du groupe doit exister. Un numéro
de groupe doit se référer à un groupe déjà existant.

Si non précisé, le comportement de useradd dépendra de la variable
USERGROUPS_ENAB dans /etc/login.defs. Si cette variable est
configurée à yes (ou si -U/–user-group est précisée sur la ligne
de commandes), un groupe sera créé pour l’utilisateur, avec le même
nom que son identifiant. Si la variable est configurée à no (ou si
-N/–no-user-group est précisé sur la ligne de commandes), useradd
configurera le groupe primaire du nouvel utilisateur à la valeur
précisée par la variable GROUP dans /etc/default/useradd, ou 100
par défaut.

-G, –groups GROUPE1[,GROUPE2,…[,GROUPEN]]] Liste de groupes supplémentaires auxquels appartient également
l’utilisateur. Chaque groupe est séparé du suivant par une virgule,
sans espace entre eux. Les groupes sont soumis aux mêmes
restrictions que celles de l’option -g. Le comportement par défaut
pour l’utilisateur est de n’appartenir qu’au groupe initial.

-h, –help
Afficher un message d’aide et quitter.

-k, –skel RÉP_SQUELETTE
Le répertoire squelette, qui contient les fichiers et répertoires
qui seront copiés dans le répertoire personnel de l’utilisateur,
quand le répertoire personnel est créé par useradd.

Cette option n’est valable que si l’option -m (ou –create-home)
est utilisée.

Si cette option n’est pas précisée, le répertoire squelette est
défini par la variable SKEL dans /etc/default/useradd ou, par
défaut, /etc/skel.

Si possible, les ACL et les attributs étendus seront copiés.

-K, –key CLÉ=VALEUR
Surcharge les valeurs par défaut de /etc/login.defs (UID_MIN,
UID_MAX, UMASK, PASS_MAX_DAYS et autres).

Par exemple : -K PASS_MAX_DAYS=-1 peut être utilisé pour la
création de comptes système pour désactiver la gestion de la durée
de validité des mots de passe, même si les comptes système n’ont
pas de mot de passe. Plusieurs options -K peuvent être précisées,
comme par exemple : -K UID_MIN=100 -K UID_MAX=499

-l, –no-log-init
N’ajoute pas l’utilisateur aux bases de données lastlog et faillog.

Par défaut, les entrées de l’utilisateur dans les bases de données
lastlog et faillog sont remises à zéro pour éviter de réutiliser
les entrées d’un utilisateur précédemment supprimé.

For the compatibility with previous Debian’s useradd, the -O option
is also supported.

-m, –create-home
Créé le répertoire personnel de l’utilisateur s’il n’existe pas.
Les fichiers et les répertoires contenus dans le répertoire
squelette (qui peut être défini avec l’option -k) sera copié dans
le répertoire personnel.

Par défaut, si cette option n’est pas précisée et si CREATE_HOME
n’est pas activée, aucun répertoire personnel ne sera créé.

-M
Ne crée pas le répertoire personnel de l’utilisateur, même si la
configuration globale au système contenue dans /etc/login.defs
(CREATE_HOME) est configurée à yes.

-N, –no-user-group
Ne crée pas de groupe avec le même nom que celui de l’utilisateur,
mais ajoute l’utilisateur au groupe précisé par l’option -g ou par
la variable GROUP dans /etc/default/useradd.

Le comportement par défaut (si les options -g, -N, et -U ne sont
pas précisées) est défini par la variable USERGROUPS_ENAB dans
/etc/login.defs.

-o, –non-unique
Permet de créer un compte d’utilisateur avec un identifiant
(« UID ») dupliqué (non unique).

Cette option n’est valable qu’avec l’option -u.

-p, –password MOT_DE_PASSE
Le mot de passe chiffré, comme renvoyé par crypt(3). Le
comportement par défaut est de désactiver le mot de passe.

Remarque : l’utilisation de cette option est déconseillée car le
mot de passe (ou le mot de passe chiffré) peut être visible des
utilisateurs qui affichent la liste des processus.

Il est nécessaire de vérifier si le mot de passe respecte la
politique de mots de passe du système.

-r, –system
Créer un compte système.

Les utilisateurs système seront créés sans information d’expiration
dans /etc/shadow, et leur identifiant numérique est choisi dans
l’intervalle SYS_UID_MIN-SYS_UID_MAX, défini dans /etc/login.defs,
au lieu de UID_MIN-UID_MAX (et leurs équivalents GID pour la
création des groupes).

Notez que useradd ne créera pas de répertoire personnel pour ces
utilisateurs, indépendamment de la configuration par défaut dans
/etc/login.defs (CREATE_HOME). Vous devez préciser l’option -m si
vous voulez qu’un répertoire personnel soit créé pour un compte
système.

-R, –root RÉP_CHROOT
Appliquer les changements dans le répertoire RÉP_CHROOT et utiliser
les fichiers de configuration du répertoire RÉP_CHROOT.

-s, –shell INTERPRÉTEUR
Le nom de l’interpréteur de commandes initial de l’utilisateur
(« login shell »). Le comportement par défaut est de laisser ce
champ vide. Le système sélectionnera alors l’interpréteur par
défaut indiqué par la variable SHELL dans /etc/default/useradd, ou
une chaîne vide par défaut.

-u, –uid UID
La valeur numérique de l’identifiant de l’utilisateur. Cette valeur
doit être unique, sauf si l’option -o est utilisée. La valeur ne
doit pas être négative. Le comportement par défaut est d’utiliser
la plus petite valeur d’identifiant à la fois supérieure ou égale à
UID_MIN et supérieure aux identifiants de tous les autres
utilisateurs.

Voir aussi aussi l’option -r et la description de UID_MAX.

-U, –user-group
Crée un groupe avec le même nom que celui de l’utilisateur, et
ajoute l’utilisateur à ce groupe.

Le comportement par défaut (si les options -g, -N, et -U ne sont
pas précisées) est défini par la variable USERGROUPS_ENAB dans
/etc/login.defs.

-Z, –selinux-user UTILISATEUR_SELINUX
L’utilisateur SELinux utilisé pour la connexion de l’utilisateur.
Le comportement par défaut est de laisser ce champ vide. Le système
sélectionnera alors l’utilisateur SELinux par défaut.

Modifier les valeurs par défaut
Quand il est invoqué avec seulement l’option -D, useradd affichera les
valeurs actuelles par défaut. Quand il est invoqué avec l’option -D et
d’autres options, useradd mettra à jour les valeurs par défaut des
options précisées. Les options valables sont :

-b, –base-dir RÉP_BASE
Préfixe du chemin des répertoires personnels pour les nouveaux
utilisateurs. Le nom de l’utilisateur sera attaché à la fin de
RÉP_PERSO pour créer le nom du nouveau répertoire personnel si
l’option -d n’est pas utilisée pendant la création d’un nouveau
compte.

Cette option configure la variable HOME dans /etc/default/useradd.

-e, –expiredate DATE_FIN_VALIDITÉ
Date à laquelle le compte utilisateur sera désactivé.

Cette option configure la variable EXPIRE dans
/etc/default/useradd.

-f, –inactive DURÉE_INACTIVITÉ
Nombre de jours après la fin de validité d’un mot de passe avant
que le compte ne soit désactivé.

Cette option configure la variable INACTIVE dans
/etc/default/useradd.

-g, –gid GROUPE
Le nom ou l’identifiant du groupe pour le groupe principal d’un
nouvel utilisateur (quand l’option -N/–no-user-group est utilisée
ou quand la variable USERGROUPS_ENAB est configurée à no dans
/etc/login.defs). Le nom du groupe doit exister, et un identifiant
de groupe numérique doit avoir une entrée existante.

Cette option configure la variable GROUP dans /etc/default/useradd.

-s, –shell INTERPRÉTEUR
Le nom de l’interpréteur de commandes du nouvel utilisateur.

Cette option configure la variable SHELL dans /etc/default/useradd.

NOTES
L’administrateur système doit se charger de placer les fichiers par
défaut dans le répertoire /etc/skel (ou tout autre répertoire de
modèles indiqué dans /etc/default/useradd ou sur la ligne de commande).

AVERTISSEMENTS
Vous ne pouvez pas ajouter d’utilisateur à un groupe NIS ou LDAP. Cela
doit être effectué sur le serveur correspondant.

De la même façon, si le nom de l’utilisateur existe dans une base de
données externe, telle que NIS ou LDAP, useradd refusera de créer le
compte d’utilisateur.

It is usually recommended to only use usernames that begin with a lower
case letter or an underscore, followed by lower case letters, digits,
underscores, or dashes. They can end with a dollar sign. In regular
expression terms: [a-z_][a-z0-9_-]*[$]?

On Debian, the only constraints are that usernames must neither start
with a dash (‘-‘) nor plus (‘+’) nor tilde (‘~’) nor contain a colon
(‘:’), a comma (‘,’), or a whitespace (space: ‘ ‘, end of line: ‘\n’,
tabulation: ‘\t’, etc.). Note that using a slash (‘/’) may break the
default algorithm for the definition of the user’s home directory.

Les noms d’utilisateur sont limités à 16 caractères.

CONFIGURATION
Les variables de configuration suivantes dans /etc/login.defs modifient
le comportement de cet outil :

CREATE_HOME (boolean)
Indiquer si un répertoire personnel doit être créé par défaut pour
les nouveaux utilisateurs.

Ce réglage ne s’applique pas pour les utilisateurs système, et peut
être annulé sur la ligne de commande.

GID_MAX (nombre), GID_MIN (nombre)
Plage d’identifiants numériques de groupes que les commandes
useradd, groupadd ou newusers peuvent utiliser pour la création des
groupes normaux.

La valeur par défaut pour GID_MIN (respectivement GID_MAX) est 1000
(respectivement 60000).

MAIL_DIR (chaîne de caractères)
Répertoire d’attente des courriels (« mail spool directory »). Ce
paramètre est nécessaire pour manipuler les boîtes à lettres
lorsque le compte d’un utilisateur est modifié ou supprimé. S’il
n’est pas spécifié, une valeur par défaut définie à la compilation
est utilisée.

MAIL_FILE (chaîne de caractères)
Définir l’emplacement des boîtes aux lettres des utilisateurs
relativement à leur répertoire personnel.

Les paramètres MAIL_DIR et MAIL_FILE sont utilisés par useradd, usermod
et userdel pour créer, déplacer ou supprimer les boîtes aux lettres des
utilisateurs.

MAX_MEMBERS_PER_GROUP (nombre)
Nombre maximum de membres par entrée de groupe. Lorsque le maximum
est atteint, une nouvelle entrée de groupe (ligne) est démarrée
dans /etc/group (avec le même nom, même mot de passe, et même GID).

La valeur par défaut est 0, ce qui signifie qu’il n’y a pas de
limites pour le nombre de membres dans un groupe.

Cette fonctionnalité (groupe découpé) permet de limiter la longueur
des lignes dans le fichier de groupes. Ceci est utile pour
s’assurer que les lignes pour les groupes NIS ne sont pas plus
grandes que 1024 caractères.

Si vous avez besoin de configurer cette limite, vous pouvez
utiliser 25.

Remarque : les groupes découpés ne sont peut-être pas pris en
charge par tous les outils (même dans la suite d’outils Shadow).
Vous ne devriez pas utiliser cette variable, sauf si vous en avez
vraiment besoin.

PASS_MAX_DAYS (nombre)
Nombre maximum de jours de validité d’un mot de passe. Après cette
durée, une modification du mot de passe est obligatoire. S’il n’est
pas précisé, la valeur de -1 est utilisée (ce qui enlève toute
restriction).

PASS_MIN_DAYS (nombre)
Nombre minimum de jours autorisé avant la modification d’un mot de
passe. Toute tentative de modification du mot de passe avant cette
durée est rejetée. S’il n’est pas précisé, la valeur de -1 est
utilisée (ce qui enlève toute restriction).

PASS_WARN_AGE (nombre)
Nombre de jours durant lesquels l’utilisateur recevra un
avertissement avant que son mot de passe n’arrive en fin de
validité. Une valeur négative signifie qu’aucun avertissement n’est
donné. S’il n’est pas précisé, aucun avertissement n’est donné.

SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
If /etc/subuid exists, the commands useradd and newusers (unless
the user already have subordinate group IDs) allocate SUB_GID_COUNT
unused group IDs from the range SUB_GID_MIN to SUB_GID_MAX for each
new user.

The default values for SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT are
respectively 100000, 600100000 and 10000.

SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)
If /etc/subuid exists, the commands useradd and newusers (unless
the user already have subordinate user IDs) allocate SUB_UID_COUNT
unused user IDs from the range SUB_UID_MIN to SUB_UID_MAX for each
new user.

The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are
respectively 100000, 600100000 and 10000.

SYS_GID_MAX (nombre), SYS_GID_MIN (nombre)
Plage d’identifiants numériques de groupes que les commandes
useradd, groupadd ou newusers peuvent utiliser pour la création de
groupes système.

La valeur par défaut pour SYS_GID_MIN (respectivement SYS_GID_MAX)
est 101 (respectivement GID_MIN-1).

SYS_UID_MAX (nombre), SYS_UID_MIN (nombre)
Plage d’identifiants numériques d’utilisateurs que les commandes
useradd ou newusers peuvent utiliser pour la création
d’utilisateurs système.

La valeur par défaut pour SYS_UID_MIN (respectivement SYS_UID_MAX)
est 101 (respectivement UID_MIN-1).

UID_MAX (nombre), UID_MIN (nombre)
Plage d’identifiants numériques d’utilisateurs que les commandes
useradd ou newusers peuvent utiliser pour la création
d’utilisateurs normaux.

La valeur par défaut de UID_MIN (respectivement UID_MAX) est 1000
(respectivement 60000).

UMASK (nombre)
Valeur d’initialisation du masque de permissions. S’il n’est pas
précisé, le masque des permissions sera initialisé à 022.

useradd et newusers utilisent ce masque pour définir les
permissions d’accès des répertoires personnels qu’ils créent.

Il est également utilisé par pam_umask en tant que valeur d’umask
par défaut.

USERGROUPS_ENAB (booléen)
Si cette variable est configurée à yes, userdel supprimera le
groupe de l’utilisateur s’il ne contient pas d’autres membres, et
useradd créera par défaut un groupe portant le nom de
l’utilisateur.

FICHIERS
/etc/passwd
Informations sur les comptes des utilisateurs.

/etc/shadow
Informations sécurisées sur les comptes utilisateurs.

/etc/group
Informations sur les groupes.

/etc/gshadow
Informations sécurisées sur les groupes.

/etc/default/useradd
Valeurs par défaut pour la création de comptes.

/etc/skel/
Répertoire contenant les fichiers par défaut.

/etc/subgid
Per user subordinate group IDs.

/etc/subuid
Per user subordinate user IDs.

/etc/login.defs
Configuration de la suite des mots de passe cachés « shadow
password ».

VALEURS DE RETOUR
La commande useradd retourne les valeurs suivantes en quittant :

0
succès

1
impossible de mettre à jour le fichier des mots de passe

2
erreur de syntaxe

3
paramètre non valable pour l’option

4
UID déjà utilisé (et pas d’option -o)

6
le groupe spécifié n’existe pas

9
nom d’utilisateur déjà utilisé

10
impossible de mettre à jour le fichier des groupes

12
impossible de créer le répertoire personnel

14
can’t update SELinux user mapping

VOIR AUSSI
chfn, chsh, passwd, crypt(3), groupadd(8), groupdel(8),
groupmod(8), login.defs(5), newusers(8), subgid(5), subuid(5),
userdel(8), usermod(8).

shadow-utils 4.2 29/03/2016 USERADD(8)

Ils en parlent aussi

The Complete Guide to “” Command in Linux – 15 Practical …
15+ switches of command with example – Unix/Linux – CryBit
add user without using command in Linux Ultimate Trick