Seul l'utilisateur root est autorisé
à ajouter des utilisateurs.
La commande permettant de créer des utilisateurs est useradd
(ou adduser):
Exemple:
[root@DeepGlue steph]# useradd toto
Cette commande ajoute l'utilisateur toto
sans mot de passe (il faudra le définir plus tard).
Cette commande peut prendre des paramètres.
Pour obtenir la liste de ces paramètres: man useradd
En voici quelques uns:
-d pour préciser un chemin pour le dossier
personnel.
Par défaut, pour l'utilisateur toto,
le dossier personnel créé est /home/toto
[root@DeepGlue steph]# useradd toto -d /home/eleves/3A/toto
Cela permet de grouper les dossiers d'élèves et plus précisément
d'élèves de 3A dans un même point de l'arborescence (et
ainsi d'éviter un /home contenant directement 400 utilisateurs).
-m -k /etc/skel_special pour définir un
contenu spécial du dossier personnel.
Par défaut, c'est le contenu de /etc/skel
qui est utilisé pour "meubler" le dossier personnel lors de sa création.
En définissant un autre dossier /etc/skel_special,
vous pouvez définir un autre contenu par défaut.
[root@DeepGlue steph]# useradd toto -m -k /etc/skel_eleve
où /etc/skel_eleve est un dossier créé
pour disposer du contenu standard du dossier personnel d'un élève
type.
-p <motdepasse> permet de saisir le mot
de passe directement sans demande de confirmation.
Exemple:
[root@DeepGlue steph]# useradd toto -p monmotdepasse
-s permet de préciser le shell de l'utilisateur.
Par défaut, le shell utilisé est /bin/bash,
mais il en existe d'autres comme /bin/csh, /bin/zsh,...
Il est même possible, en mettant /bin/false,
de faire en sorte que l'utilisateur ne puisse pas se connecter directement à
la machine Linux.
C'est intéressant pour un utilisateur samba qui accède à
des partages depuis un client Window$, mais qui
n'est pas autorisé à accéder directement au serveur.
Exemple:
[root@DeepGlue steph]# useradd toto -s /bin/csh
D'autres paramètres permettent de choisir l'uid de
l'utilisateur ou de fixer une date d'expiration du compte.
Enfin, deux autres paramètres permettent de placer l'utilisateur
dans des groupes: Voir plus bas.
Seul l'utilisateur root est autorisé
à supprimer des utilisateurs.
La commande permettant de supprimer des utilisateurs est userdel:
Exemple:
[root@DeepGlue steph]# userdel toto
La suppression d'un utilisateur ne détruit pas son dossier
personnel.
Vous pouvez ensuite le supprimer à la main, ou passer un
paramètre à la commande:
Exemple:
[root@DeepGlue steph]# userdel -r toto
Il existe de la même façon une commande groupdel.
Pour ne pas supprimer un utilisateur, mais néanmoins suspendre/bloquer le compte: La commande permettant de créer des utilisateurs est passwd.
L'utilisateur root est le seul autorisé
à changer les mots de passe de tous les utilisateurs sans connaitre le
mot de passe actuel de l'utilisateur.
Un autre utilisateur ne peut changer que sont propre mot de passe et doit d'abord
fournir son mot de passe actuel avant de le changer.
Exemple:
[steph@DeepGlue steph]$ [steph@DeepGlue steph]$ passwd Changing password for user steph. Changing password for steph (current) UNIX password: <la saisie masquée> New UNIX password: <la saisie masquée> Retype new UNIX password: <la saisie masquée> passwd: all authentication tokens updated successfully. [steph@DeepGlue steph]$ |
Un utilisateur ne peut pas saisir un mot de passe trop court ou
basé sur un mot du dictionnaire (anglais), alors que root peut
outrepasser les avertissements.
Exemple:
[steph@DeepGlue steph]$ passwd Changing password for user steph. Changing password for steph (current) UNIX password: New UNIX password: <--- J'ai saisi truc BAD PASSWORD: it is too short New UNIX password: <--- J'ai saisi famous BAD PASSWORD: it is based on a dictionary word New UNIX password: ... |
Il suffit de taper passwd pour changer son mot
de passe, mais attention:
Ainsi invoqué par root, c'est le mot
de passe personnel de root qui est changé.
Pour changer le mot de passe d'un autre utilisateur, root
doit en passer le nom en paramètre.
[root@DeepGlue steph]# passwd toto
Remarque:
Le système ne gère pas les propriétaires en termes de nom
d'utilisateurs et en termes de noms de groupes, mais en termes d'UID
(identifiant d'utilisateur) et de GID
(identifiant de groupe).
Les correspondances utilisateurs/UID et groupes/GID
sont stockées dans /etc/passwd et /etc/group.
Les mots de passe sont pour des raisons de sécurité dans un fichier
/etc/shadow qui fait lui une correspondance avec
/etc/passwd en termes de noms d'utilisateurs et
non d'UID cette fois.
Pour quelques jeux sur ces noms d'utilisateurs, de groupes et sur ces UID/GID
voir la page liée.
Seul l'utilisateur root est autorisé
à ajouter des groupes.
La commande permettant de créer des groupes est groupadd:
Exemple:
[root@DeepGlue steph]# groupadd eleves
Voir man groupadd pour les options de cette commande.
- lors de la création de l'utilisateur:
Par défaut le groupe principal d'un utilisateur est un groupe du même
nom que l'utilisateur.
Ce n'est pas intéressant, surtout si pour 400 élèves, on
se retrouve avec 400 groupes.
Pour créer toto avec pour groupe principal
eleves:
[root@DeepGlue steph]# useradd toto -g eleves
Pour affecter en plus toto dans des groupes
secondaires clubbd, unss,...
[root@DeepGlue steph]# useradd toto -g eleves -G clubbd,unss
- après la création de l'utilisateur:
On utilise la commande usermod.
Pour affecter toto dans les groupes secondaires
classe3A et clubbd:
[root@DeepGlue steph]# usermod -G classe3A,clubbd toto [root@DeepGlue steph]# |
[root@DeepGlue steph]# cat /etc/group | grep toto classe3A::500:toto clubbd::507:toto [root@DeepGlue steph]# |
Pour changer le groupe principal de toto
d'eleves à professeurs
(il a eu de la promotion):
[root@DeepGlue steph]# usermod -g professeurs toto [root@DeepGlue steph]# |
Si on veut changer tous les groupes :
[root@DeepGlue steph]# usermod -g classe3A -G sport,dessin,musique
toto [root@DeepGlue steph]# |
La commande usermod permet d'effectuer d'autres
modifications, notamment sur le dossier personnel, le shell par défaut,...
Voir man usermod.
Toutes ces manipulations sont possibles en éditant les fichiers /etc/passwd
et /etc/group.
Pour modifier le groupe principal de l'utilisateur toto:
Relever le GID du groupe principal souhaité.
Editer /etc/passwd et modifier le numéro du
GID.
Ci-dessous il s'agit du deuxième 503.
toto:x:503:503::/home/toto:/bin/false
Remarque: Cela ne change pas le groupe propriétaire
sur les fichiers déjà créés par toto.
Pour affecter toto dans un groupe secondaire,
par exemple classe3A:
Editer /etc/group.
A la fin de la ligne concernant le groupe classe3A:
classe3A:x:511:tata,titi
Ajouter le nom toto (avec
une virgule pour séparateur):
classe3A:x:511:tata,titi,toto
Pour voir dans quels groupes, l'utilisateur toto
est affecté:
Existe-t-il une commande?
Il est possible de fouiner dans /etc/passwd et
dans /etc/group:
[steph@DeepGlue steph]$ cat /etc/passwd | grep toto toto:x:503:503::/home/toto:/bin/false |
[steph@DeepGlue steph]$ cat /etc/group | grep 503 eleves:x:503: |
[steph@DeepGlue steph]$ cat /etc/group | grep toto partimag:x:512:toto |
Sommaire - | Précédent - | Suivant |