Informations |
- Auteur(s) : idriss
- Catégorie : Linux et Shell
- Moyenne : 15/20
- Date de création : 04/08/2010
- Date mise à jour : 10/12/2012
- Licence :
|
Version imprimable
Les utilisateurs et les droits
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.
- groupdel groupe ou delgroup groupe : suppression 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 :
- chmod +x nom_du_fichier ou chmod a+x nom_du_fichier ou chmod ugo+x nom_du_fichier ou chmod 111 nom_du_fichier : donne le droit d'exécution dans un terminal à un fichier à tous les groupes.
- chmod u+x nom_du_fichier ou chmod 100 nom_du_fichier : donne le droit d'exécution dans un terminal à un fichier à l'utilisateur propriétaire (et retire tous les autres droits pour la seconde commande).
- chmod +rw nom_du_fichier ou chmod ugo +rw nom_du_fichier ou encore chmod 666 nom_du_fichier : donne le droit de lecture et d'écriture sur un fichier (ou répertoire).
- chmod 777 nom_du_fichier ou chmod ugo+rwx nom_du_fichier ou encore chmod +rwx nom_du_fichier : donne tous les droits à tous les groupes d'utilisateurs sur un fichier (ou répertoire).
- chmod -R 777 nom_du_répertoire : donne tous les droits à tous les groupes sur un répertoire et sur son contenu de manière récursive.
- chmod go-rwx nom_du_fichier : retire tous les droits au groupe propriétaire et aux autres utilisateurs.
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) :
- chown nom_utilisateur nom_du_fichier : changer l'utilisateur propriétaire d'un fichier quelcquonque.
- chgrp nom_du_groupe nom_du_fichier : changer le groupe propriétaire d'un fichier.
- chown nom_du_groupe:nom_utilisateur nom_du_fichier : changer l'utilisateur et le groupe propriétaire d'un fichier.
Vous devez être connectés pour poster un commentaire ou une note ...