Commençons par les commandes nécessaires à l'administration des utilisateurs. Vous vous douterez que les privilèges super utilisateurs sont requis pour exécuter la majorité de ce genre de commandes.
adduser nouvel_utitisateur ou useradd nouvel_utilisateur : ajout d'un utilisateur. La première commande est plus conviviale mais la seconde reste plus apropriée pour faire un script.
userdel utilisateur ou deluser utilisateur : suppression d'un utilisateur.
addgroup nouveau_groupe ou groupadd nouveau_groupe : ajout d'un groupe.
passwd : change le mot de passe de l'utilisateur courant.
passwd utilisateur : change le mot de passe d'un utilisateur (il peut s'agir de root). Le mot de passe administrateur est requis lorsque cette commande est effectuée sur une autre session que celle de l'utilisateur concerné.
who : donne la liste des utilisateurs connectés.
Le fichier /etc/passwd donne la liste des utilisateurs et le fichier /etc/shadow la liste des mots de passe cryptés, vous pouvez les afficher grâce à des commandes vues précédemment.
Il existe aussi un système de groupes sous les systèmes de type Unix, voici les commandes liées à l'administration des groupes (les privilèges root sont encore requis) :
addgroup nouveau_groupe : ajouter un groupe.
usermod -G nom_du_groupe nom_de_l_utilisateur : ajouter un utilisateur dans un groupe.
usermod -g nom_du_groupe nom_de_l_utilisateur : définir un groupe comme groupe principal d'un utilisateur.
Le fichier /etc/group contient lui la liste des groupes.
Maintenant parlons des droits des utilisateurs sur des fichiers qui peuvent être des fichiers de toutes sortes (fichiers textes, répertoires, exécutables, ...). Le tableau suivant résume les différents groupes d'utilisateurs et les différents droits que l'on peut leur attribué grâce à la commande chmod (qui sert à changer les droits des fichiers) :
Groupes |
u |
g |
o |
||||||
Désignation |
user |
group |
other |
||||||
Signification |
Utilisateur propriétaire |
Groupe propriétaire |
Autres utilisateurs |
||||||
Droits |
r |
w |
x |
r |
w |
x |
r |
w |
x |
Désignation |
read |
write |
execute |
read |
write |
execute |
read |
write |
execute |
Signification |
lecture |
écriture |
exécution |
lecture |
écriture |
exécution |
lecture |
écriture |
exécution |
Numéro |
400 |
200 |
100 |
40 |
20 |
10 |
4 |
2 |
1 |
Il est possible que vous ne perceviez pas immédiatement le fonctionnement de cette commande chmod mais ne vous inquiétez pas, les exemples qui suivent vont éclaircir vos interrogations :
Remarques :
Pour donner plusieurs droits de façon numérique il suffit d'additionner les numéros entre eux par dizaines. Par exemple : o + rx = 005, u + rwx = 700, ug + rw = 600, ugo + rwx = 777, ... attention toutefois à la place des zéros qui signifient "aucuns droits".
Lorsque l'on change les droits avec les lettres qui leur correspondent, on utilise + pour ajouter les droits et – pour les enlever.
L'option -R sert à indiquer que les droits s'appliquent récursivement au fichiers contenus dans un répertoire sur lequel on applique la commande (y compris dans les sous-répertoires).
Si vous n'êtes pas l'utilisateur propriétaire du fichier sur lequel vous lancez un chmod, il vous faudrat les privilèges administrateur.
Pour finir, voici les commandes qui permettent de changer les groupes et/ou utilisateurs propriétaires sur un fichier (il faut bien entendu soit être l'utilisateur propriétaire du fichier concerné, soit root pour pouvoir exécuter ces commandes) :