Articles - Linux

La console Linux

  |   11949  |  Poster commentaire  |  Linux
Sommaire :

Les utilisateurs et les droits



sudo: exécuter une commande en root



Code BASH :
 
sudo ls #exécuter une commande en tant que root
sudo su #devenir root et le rester
 


Pour quitter le « mode root », tapez exit (ou faites la combinaison Ctrl + D).

adduser : gestion des utilisateurs



Code BASH :
 
adduser patrick #ajout de l'utilisateur patrick; le mot de pass vous sera demandé
passwd patrick #changer le mot de passe de patrick
deluser patrick #supprime l'utilisateur patrick sans confirmation
deluser --remove-home patrick# supprime le repertoire personnel de patrick
 


addgroup : gestion des groupes



Code BASH :
 
addgroup amis #ajouter un groupe d'utilisateur
usermod -g amis patrick #ajouter patrick dans le groupe amis
usermod -g patrick patrick #remettre patrick dans le groupe patrick comme il l'était avant
delgroup amis # supprime le groupe amis
 



Il est aussi possible de faire en sorte qu'un utilisateur appartienne à plusieurs groupes. Pour ce faire, utilisez le paramètre -G (majuscule).
Exemple : usermod -G amis,paris,collegues patrick.
Séparez les noms des groupes par une virgule, sans espace entre chaque nom de groupe.



Faites très attention en utilisant usermod ! Lorsque vous avez recours à -G, l'utilisateur change de groupe et ce peu importe les groupes auxquels il appartenait auparavant.
Si vous voulez ajouter des groupes à un utilisateur (sans perdre les groupes auxquels il appartenait avant cela), utilisez -a :
usermod -aG amis patrick


addgroup et delgroup n'existent que sous Debian et ses dérivés (même remarque que pour adduser et deluser).
Les commandes « traditionnelles » qui fonctionnent partout sont groupadd et groupdel, mais elles offrent moins d'options.


chown: gestion des propriétaires d'un fichier



Commande utilisée en tant que root

Code BASH :
 
chown patrick rapport.txt #patrick devient le propriétaire du fichier
chgrp amis rapport.txt #changer le groupe propriétaire d'un fichier
#chown peut aussi changer le groupe propriétaire d'un fichier
chown patrick:amis rapport.txt #Cela affectera le fichier à l'utilisateur patrick et au groupe amis.
#-R : affecter récursivement les sous-dossiers
#donner tout le contenu du dossier personnel de patrick à mateo21 (et au groupe mateo21)
chown -R mateo21:mateo21 /home/patrick/
 


chmod : modifier les droits d'accès



Le fonctionnement des droits



Code BASH :
 
mateo21@mateo21-desktop:~$ ls -l
total 40
drwxr-xr-x 2 mateo21 mateo21 4096 2007-11-13 21:53 Desktop
drwxr-xr-x 2 mateo21 mateo21 4096 2007-11-13 13:46 Documents
 


On peut voir cinq lettres différentes. Voici leur signification :

d (Directory) : indique si l'élément est un dossier ;
l (Link) : indique si l'élément est un lien (raccourci) ;
r (Read) : indique si on peut lire l'élément ;
w (Write) : indique si on peut modifier l'élément ;
x (eXecute) : si c'est un fichier, « x » indique qu'on peut l'exécuter. Ce n'est utile que pour les fichiers exécutables (programmes et scripts).

Si la lettre apparaît, c'est que le droit existe. S'il y a un tiret à la place, c'est qu'il n'y a aucun droit.

Les droits sont découpés en fonction des utilisateurs:


  • le premier triplet rwx indique les droits que possède le propriétaire du fichier sur ce dernier ;
  • le second triplet rwx indique les droits que possèdent les autres membres du groupe sur ce fichier ;
  • enfin, le dernier triplet rwx indique les droits que possèdent tous les autres utilisateurs de la machine sur le fichier.


chmod : modifier les droits d'accès



Attribuer des droits avec des chiffres (chmod absolu)

Droit Chiffre
r 4
w 2
x 1


Si vous voulez combiner ces droits, il va falloir additionner les chiffres correspondants.

Voici la liste des droits possibles et la valeur correspondante :

Droits

Chiffre

Calcul

---

0

0 + 0 + 0

r--

4

4 + 0 + 0

-w-

2

0 + 2 + 0

--x

1

0 + 0 + 1

rw-

6

4 + 2 + 0

-wx

3

0 + 2 + 1

r-x

5

4 + 0 + 1

rwx

7

4 + 2 + 1



Par exemple, « 640 » indique les droits du propriétaire, du groupe et des autres (dans l'ordre).

6 : droit de lecture et d'écriture pour le propriétaire.
4 : droit de lecture pour le groupe.
0 : aucun droit pour les autres.

Code BASH :
 
chmod 600 rapport.txt
 


Attribuer des droits avec des lettres (chmod relatif)

Dans ce mode, il faut savoir que :
u = user (propriétaire) ;
g = group (groupe) ;
o = other (autres).

et que :

+ signifie : « Ajouter le droit » ;
- signifie : « Supprimer le droit » ;
= signifie : « Affecter le droit ».

Code BASH :
 
chmod g+w rapport.txt # Ajouter le droit d'écriture au groupe
chmod o-r rapport.txt #Enlever le droit de lecture aux autres
chmod g+w,o-w rapport.txt #Ajouter le droit d'écriture au groupe et l'enlever aux autres
chmod go-r rapport.txt #Enlever le droit de lecture au groupe et aux autres 
chmod +x rapport.txt #Ajouter le droit d'exécution à tout le monde
chmod u=rwx,g=r,o=- rapport.txt #Affecter tous les droits au propriétaire, juste la lecture au groupe, rien aux autres
 


Et toujours… -R pour affecter récursivement

Code BASH :
 
chmod -R 700 /home/mateo21