Configurer l'ajout d'utilisateurs

Ensemble, la commande /usr/sbin/useradd et le répertoire /etc/skel (tous les deux simple à configurer et à utiliser) sont un moyen de vous assurer que les nouveaux utilisateurs de votre système LFS disposeront au départ des mêmes configurations sur des éléments comme PATH, la gestion du clavier et les variables d'environnement. Utiliser ces deux moyens rendra ceci plus facile et vous assure de l'état initial de chaque nouvel utilisateur.

Le répertoire /etc/skel tient des copies de différents fichiers d'initialisation et autres qui devront être copiés dans le répertoire personnel du nouvel utilisateur lorsque le programme /usr/sbin/useradd ajoutera cet utilisateur.

Useradd

Le programme useradd utilise une collection de valeurs par défaut conservée dans /etc/default/useradd, si il existe. S'il n'existe pas, alors il utilise quelques valeurs internes par défaut. Vous pouvez voir les valeurs par défaut en lançant /usr/sbin/useradd -D.

Pour changer ces valeurs en quelque chose de nouveau, créez un fichier /etc/default/useradd de base avec les mêmes valeurs que la sortie de /usr/sbin/useradd -D. Voici un exemple.

# Début /etc/default/useradd

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=
SKEL=/etc/skel

# Fin /etc/default/useradd

La seule chose manquant dans ce fichier est le shell par défaut. Ajoutez-le en lançant:

/usr/sbin/useradd -D -s/bin/bash

Ceci va configurer la ligne SHELL= en SHELL=/bin/bash.

Useradd a beaucoup d'autres paramètres pouvant être configurés dans le fichier /etc/default/useradd.

Pour plus d'informations, voir man useradd.

/etc/skel

Pour commencer, créez un répertoire /etc/skel et assurez-vous que seul l'administrateur système a le droit d'écrire dedans, donc habituellement root. Créer le répertoire en tant que root est la meilleure façon de procéder.

Les droits de tous les fichiers dans cette partie du livre doivent permettre l'écriture uniquement par le propriétaire. De même, comme il n'y a aucune façon de savoir quel type d'informations sensibles un utilisateur pourrait éventuelle placer dans leur copie de ces fichiers, vous devriez les rendre illisible pour le groupe et les autres.

Vous pouvez aussi placer d'autres fichiers dans /etc/skel et d'autres droits peuvent être nécessaires pour ceux-là.

Décidez quels fichiers d'initialisation doivent être fournis à chaque (ou tout) nouvel utilisateur. Les décisions que vous prenez affecteront ce que vous ferez dans les trois prochaines sections, /etc/inputrc, Les fichiers de démarrage Bash et /etc/vimrc, ~/.vimrc. Certains ou tous ces fichiers seront utiles à root, aux utilisateurs déjà existants et aux nouveaux utilisateurs.

Les fichiers de ces sections que vous pourriez vouloir placer dans /etc/skel incluent .inputrc, .bash_profile, .bashrc, .bash_logout, .dircolors et .vimrc. Si vous n'êtes pas sûr lesquels doivent y être mis, continuez simplement avec les sections suivantes, lisez chaque section et toutes les références proposées, et enfin décidez.

Vous lancerez un ensemble de commandes légèrement modifié des fichiers placés dans /etc/skel. Chaque section vous le rappelera. En bref, les commandes du livre ont été écrites pour des fichiers non ajoutés dans /etc/skel et envoient simplement les résultats dans le répertoire personnel de l'utilisateur. Si le fichier se trouve être dans /etc/skel, changez les commandes du livre pour envoyer la sortie là-bas et ensuite copiez le fichier /etc/skel pour les répertoires appropriés, comme /etc, ~ ou le répertoire personnel de tout autre utilisateur existant déjà dans le système.

Lors de l'ajout d'un utilisateur

Lors de l'ajout d'un nouvel utilisateur avec useradd, utilisez le paramètre -m, indiquant à useradd de créer le répertoire personnel de l'utilisateur et de copier les fichiers de /etc/skel (peut être surchargé) dans le répertoire personnel du nouvel utilisateur. Par exemple:

useradd -m -s/bin/bash jwrober