Ensembles, la commande /usr/sbin/useradd et le répertoire
/etc/skel
(on peut les paramétrer et
les utiliser facilement) offrent un moyen de garantir que les
nouveaux utilisateurs soient ajoutés à votre système LFS avec les
mêmes réglages de base d'éléments tels que le PATH
, le traitement du clavier et d'autres variables
d'environnement. L'utilisation de ces deux possibilités facilite la
garantie de cet état initial pour tous les nouveaux utilisateurs
ajoutés au système.
Le répertoire /etc/skel
contient des
copies de divers fichiers d'initialisation ou autres qui peuvent être
copiés dans le répertoire home du nouvel utilisateur lorsque la
commande /usr/sbin/useradd ajoute le nouvel
utilisateur.
Le programme useradd
utilise un ensemble de valeurs par défaut contenues dans /etc/default/useradd
. Ce fichier est créé dans une
installation de LFS de base par le paquet Shadow. S'il a été supprimé ou renommé, le
programme useradd
utilise des paramères par défaut internes. Vous pouvez voir les
valeurs par défaut en lançant /usr/sbin/useradd -D.
Pour modifier ces valeurs, modifiez simplement le fichier
/etc/default/useradd
en tant
qu'utilisateur root
. Une alternative
à la modification directe du fichier consiste à exécuter useradd en tant qu'utilisateur
root
en fournissant les modifications
désirées sur la ligne de commande. Vous pouvez trouver des
informations sur la façon de faire cela dans la page de man de
useradd.
Pour commencer, créez un répertoire /etc/skel
et assurez-vous qu'il n'est modifiable en
écriture que par l'administrateur du système, en général root
. La création de ce répertoire en tant que
root
est la meilleure manière de
faire.
Les droits des fichiers issus de cette partie du livre que vous
mettez dans /etc/skel
devraient n'être
modifiables que par leur propriétaire. En outre, puisqu'il n'existe
pas de règle sur le genre d'informations sensibles qu'un utilisateur
peut éventuellement mettre dans leur copie de ces fichiers, vous
devriez les rendre inaccessibles en lecture par « group »
et « other » (autres).
Vous pouvez également mettre d'autres fichiers dans /etc/skel
et il se peut que différents droits leur
soient nécessaires.
Décidez des fichiers d'initialisation qui devraient être fournis dans
chaque (ou la plupart des) répertoire home d'un nouvel utilisateur.
Les décisions que vous prendrez changeront ce que vous ferez dans les
deux prochaines sections, Les fichiers de démarrage
du shell Bash et Les fichiers vimrc.
Certains ou tous ces fichiers seront utiles à root
, aux utilisateurs qui existent déjà et aux
nouveaux utilisateurs.
Les fichiers de ces sections que vous pourriez vouloir mettre dans
/etc/skel
comprennent .inputrc
, .bash_profile
, .bashrc
, .bash_logout
, .dircolors
et .vimrc
.
Si vous n'êtes pas sûr qu'ils devraient être mis là, poursuivez
simplement les sections suivantes, lisez chaque section et les
références fournies, puis prenez votre décision.
Vous lancerez un jeu de commandes légèrement différent pour les
fichiers qui se trouvent dans /etc/skel
. Chaque section vous le rappellera. En
bref, les commandes du livre ont été écrites pour des fichiers
non ajoutés à /etc/skel
et elles envoient simplement les
résultats dans le répertoire personnel de l'utilisateur. Si le
fichier va être dans /etc/skel
,
modifiez la/les commande(s) du livre pour y envoyer la sortie au lieu
de juste copier le fichier de /etc/skel
vers les répertoires adéquats, comme /etc
, ~
ou le
répertoire home d'un autre utilisateur déjà sur le systéme.
Lors de l'ajout d'un nouvel utilisateur avec useradd, utilisez le paramètre
-m
qui dit à useradd de créer le répertoire home
de l'utilisateur et de copier les fichiers de /etc/skel
(il peut être écrasé) vers le répertoire
home du nouvel utilisateur. Par exemple (effectuez ceci en tant
qu'utilisateur root
) :
useradd -m <newuser>
Si vous partagez votre /home
ou votre
/usr/src
avec une autre distribution
Linux (par exemple, la distribution hôte utilisée pour construire
LFS), vous pouvez créer un utilisateur avec le même UID (et le même
GID de groupe principal) pour garder des droits cohérents sur ces
systèmes. Tout d'abord, sur l'autre
distro, récupérez l'UID de l'utilisateur et le GID de son
groupe principal :
getent passwd <username>
| cut -d ':' -f 3,4
La commande devrait montrer l'UID et le GID, séparés par une virgule. Maintenant sur le système BLFS, créez le groupe principal et l'utilisateur …
groupadd -g<GID>
<username>
&& useradd -u<UID>
-g<username>
<username>