Retourner au contenu. Retourner à la navigation

 

Module 1

by admin @ 23/02/2006

Chapitre 06 - Gestion des permissions

1. Les permissions

Comme vu précedement, la commande ls -l nous donne beaucoup d'informations sur un fichier.

root@localhost # ls -l
-r-xr-xr-x 1 root wheel 32464 27 May 09:35 /bin/ls

Nous allons nous interesser aux parties : droits et propriétaire du fichier.

1.1 Propriétaire

Un fichier appartient à un utilisateur et un à un groupe. Généralement le groupe dans lequel est l'utilisateur. Dans l'exemple ci-dessus, root est l'utilisateur propriétaire et wheel le groupe propriétaire.

1.1.1 Changer l'utilisateur propriétaire

Nous allons pouvoir changer l'utilisateur propriétaire grâce à la commande : chown

La commande chown n'est utilisable que par root.

Note:

les options entre crochets [ ] sont des options facultatives

Syntaxe :

chown [-R] user[:group] fichier

L'option -R est utilisée pour changer le propriétaire de façon recursive pour les dossiers.

Exemple :

root@localhost # ls -l fichier
-rw-r--r-- 1 andrew kernel 0 7 Sep 10:52 fichier
root@localhost # chown linus
-rw-r--r-- 1 linus kenrel 0 7 Sep 10:52 fichier
root@localhost # chown richard:gpl
-rw-r--r-- 1 richard gpl 0 7 Sep 10:52 fichier

1.1.2 changer le groupe propiétaire

La commande chown n'étant utilisable que par root, les utilisateurs disposent de la commande chgrp pour changer le groupe propriétaire. L'utilisateur doit appartenir au nouveau groupe.

Syntaxe :

chgrp [-R] group fichier

Exemple :

richard@localhost # ls -l fichier
-rw-r--r-- 1 richard gpl 0 7 Sep 10:52 fichier
richard@localhost # chgrp gnu fichier
-rw-r--r-- 1 richard gnu 0 7 Sep 10:52 fichier

1.2 Les droits

Sous linux il y a trois actions que l'on va autoriser ou non :

  • lire : Read

  • ecrire : Write

  • exécuter : eXecute

Ces trois actions vont être définies pour trois types de personnes :

  • l'utilisateur propriétaire : User

  • le groupe propriétaire : Group

  • les autres : Others

1.2.1 Les fichiers

Read : lire le contenu du fichier

Write : modifier le contenu du fichier

eXecute : exécuter le fichier

1.2.2 Les dossiers

Read : lister le contenu du dossier

Write : modifier le contenu (supprimer un fichier, renommer un fichier)

eXecute : exécuter des commandes à l'interieur du dossier.

1.2.3 Modifier les droits

Nous allons pouvoir modifier les droits avec la commande chmod. Cette commande peut etre utilisée de deux façons différentes : avec des lettres ou avec des chiffres.

Syntaxe :

chmod [–R] droits fichier

1.2.3.1 Mode lettré

Dans ce mode, nous allons utiliser des lettres et des opérateurs pour ajouter ou supprimer des droits.


lettre

signification

lettre

signification

u

utilisateur

r

read

g

groupe

w

write

o

others

x

execute

a

tous



Les opérateurs disponibles sont :


+

ajoute un droit

-

supprime un droit

=

ajoute un droit et supprime les autres

Exemple :

root@localhost # ls -l fichier
-rw-r--r-- 1 root wheel 0 7 Sep 10:52 fichier
root@localhost # chmod u+x fichier
-rwxr--r-- 1 root wheel 0 7 Sep 10:52 fichier
root@localhost # chmod g+wx,o-r fichier
-rwxrwx--- 1 root wheel 0 7 Sep 10:52 fichier
root@lab# chmod a=r fichier
-r--r--r-- 1 root wheel 0 7 Sep 10:52 fichier

1.2.3.2 Mode chiffré

Dans ce mode, nous allons transformer les droits en valeurs octales :


chiffre

signification

4

read

2

write

1

execute

En additionant ces chiffres, on arrive à un nombre à trois chiffres. Les centaines pour l'utilisateur, les dizaines pour le groupe et les unités pour les autres.

Exemple :

Nous allons donner les droits de lecture, écriture et exécution à l'utilisateur. Les droits de lecture et exécution au groupe et aux autres.

4+2+1 = 7
4+1 = 5
root@localhost # ls -l fichier
-rw-r--r-- 1 root wheel 0 7 Sep 10:52 fichier
root@localhost # chmod 755 fichier
-rwxr-xr-x 1 root wheel 0 7 Sep 10:52 fichier

1.3 Umask

Par défaut, tous les fichiers créés ont comme droit 666 et les dossiers 777. L'umask est un masque qui va réduire ces droits. Lors de la création d'un fichier, le système va soustraitre l'umask aux droits par défaut. Par l'umask est à 0022.

On a donc 666 - 022 = 644.

Vérifions en créant un fichier.

root@localhost # touch document
root@localhost # ls -l document
-rw-r--r-- 1 root wheel 0 7 Sep 11:02 document

On peut définir le umask grâce à la commande umask.

root@localhost # umask 077

1.4 Les droits spéciaux

Il existe trois droits spéciaux : suid, sgid et sticky bit. Il sont ajoutés grâce à la commande chmod.


droit

lettre

chiffre

suid

s

4

sgid

s

2

sticky

t

1

1.4.1 SUID

Lorsque vous exécutez une commande, celle-ci se lance avec votre uid. Cette commande aura donc accès seulement aux fichiers où vous possedez des droits.

Si le suid est placé sur un exécutable, ce dernier se lancera avec l'uid de son propriétaire.

1.4.2 SGID

Le droit sgid fonctionne de la même façon que le suid en ce qui concerne les exécutables.

Mais le sgid peut aussi être attribué à un dossier. Tout fichier créé dans un dossier portant le sgid aura comme groupe propriétaire le groupe du dossier.

1.4.3 Sticky

Si vous possedez le droit d'écriture sur un dossier, vous pouvez renommer ou supprimer tous les fichiers qu'il contient. Ce fonctionnement n'est pas adéquat pour un dossier public, où tout le monde à accès en écriture comme "/tmp". Si le sticky bit est placé sur un dossier, seul le possesseur d'un fichier pourra le renommer ou le supprimer.

Par admin Dernière modification 22/03/2007 15:52
Navigation
Actualités
20/10/2008 Société Générale se met au vert
15/09/2008 Sortie de la version VLC 0.9.2
23/06/2008 Opération du libre à Nantes !
23/06/2008 OpenSuse 11
18/06/2008 Firefox 3 !
Plus d'actualités...
Articles
22/05/2008 Première approche de Qmail
19/05/2008 Test de la distribution Elive 1.0 Gem
14/05/2008 GNUPG introduction à la cryptographie et utilisation de GnuPG
21/02/2008 GNU / Screen
03/09/2007 The Linux File System Encryption API
More articles
Tips
28/04/2008 Mozilla Firefox : Google Talk et Facebook Chat
22/04/2008 Sed : Rechercher du texte entre deux chaines de caractères
04/04/2008 Gérer son(ses) écran(s) avec xrandr
26/03/2008 Tips sur l'historique de vos commandes
13/02/2008 Linux-Unix Cheat Sheets
More tips
Codes
09/04/2008 Chapitre 13 - Administration DNS et DHCP
09/04/2008 Chapitre 06 - Service web avec Apache
04/04/2008 Chapitre 09 - PureFTPd
04/04/2008 Chapitre 06 - Scripting Bash
01/04/2008 Chapitre 20 - Haute Disponibilité
More codes
Courses
13/09/2006 Module 3
23/02/2006 Module 2
23/02/2006 Module 1
More courses
Formation Linux

Supinfo Training Center has the first Linux Certification. The training is 13 days and allow you to pass the LPI 101 and 102.

more info
 
 
Vous êtes ici :
Cours Module 1 Chapitre 06 - Gestion des permissions