Vous êtes sur la page 1sur 11

Droits d’endossement pour les fichiers

SetUserId : Le fichier s’exécute (temporairement) avec les droits du


propriétaire du fichier plutôt qu’avec celles de l’utilisateur qui l’exécute (
Accorder temporairement des droits élevés à un utilisateur normal pour
exécuter une tâche).

SetGroupId : Le fichier s’exécute avec les droits du groupe auquel il


appartient, indépendamment du groupe de l’utilisateur qui l’exécute.

Sticky Bit : Seul le propriétaire du fichier (et root) peut supprimer ou


modifier ce fichier, même si d’autres utilisateurs ont normalement les
permissions pour le faire.( sticky bit sur des fichiers n’est pas une pratique
standard et n’est pas largement répandue)

Abderrahim GHADI Système d’exploitation Gnu/Linux 1 / 11


Droits d’endossement pour les répertoires
SetUserId : Aucun sens pour les répertoires.

SetGroupId : Tous les fichiers créés dans ce répertoire hériteront du


groupe du répertoire plutôt que du groupe de l’utilisateur qui les a créés.
Cela peut être utile pour les répertoires partagés par plusieurs utilisateurs
où vous souhaitez que les fichiers nouvellement créés appartiennent au
même groupe.

Sticky Bit : Permet de faire la différence entre la suppression et la


modification des fichiers appartenant à ce répertoire :
w : modification et suppression
t : modification sans suppression

Abderrahim GHADI Système d’exploitation Gnu/Linux 2 / 11


Droits d’endossement pour les répertoires
Le droit SUID possède la valeur octale 4000 (Emplacement du x du User).

Le droit SGID possède la valeur octale 2000 (Emplacement du x du


Group).

Le droit Sticky Bit possède la valeur octale 1000 (Emplacement du x du


Other).

Droits d’endossement pour les répertoires


Son flag est la lettre s ou S qui vient de masquer le x du propriétaire :
Majuscule : absence du droit d’exécution du propriétaire.

minuscule : présence du droit d’exécution du propriétaire.

Abderrahim GHADI Système d’exploitation Gnu/Linux 3 / 11


Droits étendus et chmod
chmod u+s file ou chmod +4000 file

chmod g+s file ou chmod +2000 file

chmod +t Rep ou chmod +1000 Rep

Abderrahim GHADI Système d’exploitation Gnu/Linux 4 / 11


ACL: Les Listes de contrôle d’accès (Access Control Lists)
permet de faire une gestion plus fine des droits d’accés.

en réseau, une liste d’adresses et de ports autorisés ou interdits par un


pare-feu.

Access Control Lists)


Une ACL permet d’attribuer des droits d’accés à un utilisateur particulier sur
un fichier particulier.

Abderrahim GHADI Système d’exploitation Gnu/Linux 5 / 11


ACL
$ sudo grep ACL /boot/config-$(uname -r)
CONFIG_EXT4_FS_POSIX_ACL=y : support général des ACL est présent

$ sudo mount -t ext4 -o defaults,acl /dev/sdb1/ /tt : monter sdb1, formatée


en ext4 avec le support ACL, dans le répertoire /tt

$ sudo mount -o remount,acl / : remonter une partition déjà montée (ici /)

Commande ACL
setfacl : permet de positionner les ACLs (équivalent de chmod).

getfacl : permet d’afficher les ACLs (équivalent de ls -l).

Abderrahim GHADI Système d’exploitation Gnu/Linux 6 / 11


Commande setfacl
# setfacl <-option> u:<utilisateur>:<permissions> <fichier>

# setfacl <-option> g:<groupe>:<permissions> <fichier>

# setfacl <-option> o:<permissions> <fichier>

Options setfacl
-m : modifier les ACL d’un fichier ou répertoire :
u1$ setfacl -m user:u2:r-x /home/u1/f1
u1$ setfacl -m u:u2:rw-,u:u3:rwx,g:g2:r - -,o:- - - /home/u1/f1

-x : supprime une entrée ACL : u1$ setfacl -x u:u2 /home/u1/f1

-b : supprime toutes les entrées ACLs : u1$ setfacl -b /home/u1/f1

-R : récursive : u1$ setfacl -R -m u:u2:r- - /home/u1/Rep

Abderrahim GHADI Système d’exploitation Gnu/Linux 7 / 11


Masque ACL
Contrôle les permissions maximales disponibles pour les utilisateurs et les
groupes spécifiques sur un fichier ou un répertoire :
Appliquer le masque r-x sur f.pdf : u1$ setfacl -m m::r-x f.pdf

Droit ACL par defaut


Définissent les permissions qui seront appliquées automatiquement à de
nouveaux fichiers ou répertoires créés à l’intérieur d’un répertoire donné
(Héritage des droits).
u1$ setfacl -m d:u:u2:r-x /var/www

Pour annuler l’héritage : u1$ setfacl -k /var/www

Abderrahim GHADI Système d’exploitation Gnu/Linux 8 / 11


Commande getfacl
1 < anonym@debian : GH > ls -l
2 -rw -r - -r - - 1 ghadi ghadi 0 3 d é c . 20:01 T
3 < anonym@debian : GH > setfacl -m u : gh : rwx T
4 < anonym@debian : GH > getfacl T
5
6 # file : T
7
8 # owner : g h a d i
9
10 # group : ghadi
11
12 user :: rw -
13
14 user : gh : rwx
15
16 group :: r - -
17
18 mask :: rwx
19
20 other :: r - -
21 < anonym@debian : GH > setfacl -m m :: r - x T
22 < anonym@debian : GH > getfacl T
23 # file : T
24 # owner : g h a d i
25 # group : ghadi
26 user :: rw -
27 user : gh : rwx #e f f e c t i v e : r−x
28 group :: r - -
29 mask :: r - x
30 other :: r - -
31 < anonym@debian : GH > ls -l
32 -rw -r - xr - -+ 1 ghadi ghadi 0 3 déc. 20:01 T

Abderrahim GHADI Système d’exploitation Gnu/Linux 9 / 11


Sauvegarde / restauration des ACL
Sauvegarde : $ getfacl -R /chemin/vers/rep > /chemin/vers/rep.acl

Restauration : $ setfacl - -restore=/chemin/vers/rep.acl

Abderrahim GHADI Système d’exploitation Gnu/Linux 10 / 11


Certaines commandes qui préservent les ACLs
1 cp -a source destination
2 mv -- preserve = all source destination
3 tar - cpzf archive . tar . gz -- acls -- xattrs / chemin / vers / dossier
4 star -c -f backup . star / chemin / vers / repertoire ( - c create -f sp é cifie le
nom du fichier )

Rmq : Le répertoire cible doit être situé sur une partition gérant les ACL.

Certaines commandes qui ne préservent pas les ACLs


Les transferts de fichiers via des protocoles tels que FTP ou SCP ne
préservent pas les ACLs

Éditeur de texte : Les éditeurs écrivent simplement le contenu du fichier


sans préserver les attributs.

Abderrahim GHADI Système d’exploitation Gnu/Linux 11 / 11

Vous aimerez peut-être aussi