logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:lagrenouille:tutos:les-droits-sous-linux [14/05/2023 19:17]
lagrenouille [Utilisation]
utilisateurs:lagrenouille:tutos:les-droits-sous-linux [14/05/2023 20:12]
lagrenouille [allons plus loin]
Ligne 94: Ligne 94:
  
 |read=r ​ | write=w | execute=x| |read=r ​ | write=w | execute=x|
-    ​    ​    ​+   ​symbole octale  ​   ​symbole octale ​   ​symbole octale ​
-    ​    ​    ​|      + 5 binaire de 100     2 binaire de 10     1 binaire de 001  ​|      
-    ​    ​    ​+ ​7 ​   ​5 ​    5  ​
-    ​    ​    ​+ u = utilisateur ​    g = groupe ​    o = autres  ​
-    ​    ​    ​|+4+2+1=7 ​4+1=5 4+1=5 |
  
  
 + Les systèmes UNIX créent des fichiers et répertoires avec des permissions standard comme suit :
  
 +Fichiers | 666 -rw-rw-rw- (6+6+6)
  
 +Répertoires | 755 -rwxr-xr-xr (7+5+5 )
 +**
 +• 644 = rw-r—r—** Lecture, écriture pour le propriétaire / Lecture pour les autres
  
 +**• 666 = rw-rw-rw-** Lecture, écriture pour tout le monde
  
 +**• 700 =rwx------** Lecture, écriture, exécution juste pour le propriétaire
  
 +**• 705 =rwx---r-x** Le propriétaire à tous les droits / Le groupe aucun / Les autres lire et exécuter
  
 +**• 755 =rwxr-xr-x** Le propriétaire à tous les droits / Les autres lire et exécuter
  
 +**• 764 =rwxrw-r—** Tous droits pour le propriétaire / Lecture, écriture pour le groupe / Lecture seule pour les autres
  
 +**• 774 =rwxrwxr—** Tous les droits pour le propriétaire et le groupe / Lecture seule pour les autres
  
 +**• 775 =rwxrwxr-x** Tous les droits pour le propriétaire et le groupe / Lecture et exécution pour les autres
  
 +Pour changer le propriétaire d’un fichier il faut utiliser la commande **chown**
  
 +<code root>​chown usager fichier</​code>​
  
 +Votre fichier appartient à root, et vous voulez qu’i appartienne à toto
  
 +<code root>​chown ​ toto:toto dossier</​code>​
  
 +la commande **chgrp** ​
 +
 +Pour changer le groupe d’un fichier :
 +<code root>​chgrp groupe fichier</​code>​ .
 +
 +La commande « chgrp » est utilisée pour changer le groupe de fichier ou du répertoire
 +
 +Seul l’utilisateur de la racine peut changer les attributs/​processus du fichier
 +
 +– R Changer l’autorisation sur tous les sous-répertoires du répertoire(et leurs fichiers) ​
 +
 +-c Changer l’autorisation pour chaque fichier
 +
 +chmod 755=Droits de votre utilisateur : Tous les droits (7) 
 +
 +Droits de votre groupe : Lecture et exécution (5) 
 +
 +Droits de tous les utilisateurs : Lecture et exécution (5)
 +
 +Une bonne protection, pour que personne vienne écrire sur votre fichier, ​
 +
 +même pas vous, c’est un chmod 444
 +
 +Autres extensions
 +
 +chmod 666 signifie que tous les utilisateurs peuvent lire et écrire, mais ne s’exécute pas
 +chmod 744 permet seulement au propriétaire de faire toutes les actions, le groupe et les autres ne sont autorisés que pour lire
 +
 +chmod 711 permet seulement au propriétaire de faire toutes les actions, le groupe et les autres ne sont autorisés que pour lire
 +
 +chmod 444 Permettre l’autorisation de lecture pour le propriétaire et tous les autres
 +
 +Les permissions disponibles pour chaque personne / groupe sont les suivantes :
 +
 +lecture: Donne le droit de lister (nécessite aussi le droit exécution) et lire dans un répertoire,​ et/ou lire un fichier.
 +
 +écriture: Donne le droit de créer, modifier, renommer, supprimer des fichiers et/ou répertoires.
 +
 +exécution: Pour un répertoire : donne le droit de le traverser pour lire ses sous-répertoires.
 +
 +Pour un fichier : donne le droit de l’exécuter si c’est un programme ou un script
 +           
 +**''​Pour en finir : les droits en chiffres'' ​ :**
 +
 +|• "​4"​ |pour le droit de lecture (read)|
 +|• "​2"​ |pour le droit d’écriture (write)|
 +|• "​1"​ |pour le droit d’exécution (execute)|
 +
 +=====allons plus loin=====
 +
 +Les droits spécifiques. Cette gestion des droits n’étant pas suffisante pour certains admins, ceux utilisent **les ACL**.
 +une autre gestion des droits. (L access control list ou Listes de contrôle d’accès..
 +
 +Les listes de contrôle d’accès (ACL) permettent aux administrateurs de logiciels à usages collaboratifs,​ de donner à certains utilisateurs ou groupes d’utilisateurs le droit d’effectuer certaines actions
 +
 +(lire, écrire, supprimer) sur des pages déterminées.
 +
 +on peut donc cacher ou rendre accessibles une ou plusieurs parties d’un logiciels à un groupes ou à un utilisateur,​ autoriser ou non des accès, des écritures, des suppressions ...etc ....
 +
 +Nous venons de voir les droits avec les extensions de fichiers suivants :
 +
 +Normalement acl est installé par défaut, ou tout au moins si l’on a installé un serveur.
 +
 +si je veux savoir les droits sur mon répertoire images: ​
 +
 +<code root> getfacl ​ images/</​code>​
 +<​code>​file:​ images/
 +owner: www-data
 +group: www-data
 +user::rwx
 +group::r-x
 +other::​r-x</​code>​
 +
 +
 +** Autres extensions**
 +|lrwxrwxrwx |lien symbolique|
 +|brw-rw--- |periphérique de type blocs|
 +|crw-rw-rw- |périphérique de type caractère|
 +|srw |socket|
 +|prw |pile fifo|
 +|Nrwxrw--- |certains fichiers réseau|
 +
 +
 +<code user>ls -lha diaporama</​code>​
 +lrwxrwxrwx 1 root root 25  4 juin   2020 diaporama -> /​home/​malignum/​diaporama/​
 +ls -lha /dev/sda
 +brw-rw---- 1 root disk 8, 0  6 mai   15:16 /dev/sda
 +
 +getfacl /dev/sda
 +
 +getfacl : suppression du premier « / » des noms de chemins absolus
 +
 +# file: dev/sda
 +
 +# owner: root
 +
 +# group: disk
 +
 +user::rw-
 +
 +group::rw-
 +
 +other::---
 +
 +le c pour les périphériques de type caractère (ou nœud de périphérique en mode caractère)
 +
 +<code user>ls -lisha /​dev/​tty ​
 +11 0 crw-rw-rw- 1 root tty 5, 0 14 mai   08:19 /​dev/​tty</​code>​
 +
 +– le s pour les périphériques de type socket ​
 +
 +– le s pour droit SGID ou le droit SUID
 +
 +Selon le placement du s
 +
 +rwsrwxrwx, il s'agit d'un droit SUID
 +
 +rwxrwsrwx, il s'agit d'un droit SGID
 +
 +Le droit SUID permet d’exécuter un fichier avec les droits du propriétaire du fichier..il faut donc avoir les droits d’exécution,​ bien souvent ce sera les droits root, donc à utiliser avec précaution...
 +
 +Le droit SUID est noté ---s------ dans le cas ou s remplace un - ou ---S------, dans le cas ou s cache un x
 +
 +Sur un répertoire,​ ce droit permet d’affecter les droits du ropriétaire à tous les fichiers créés dans ce répertoire.
 +
 +Le droit SGID permet d’exécuter un fichier avec les droits du groupe propriétaire du fichier. ​
 +
 +**''​Le sticky bit (bit collant)''​**
 +
 +le droit d’écriture signifie que l’on peut créer et supprimer les fichiers de ce répertoire.
 +
 +Le sticky bit permet de faire la différence entre les deux droits.
 +
 +Lorsque ce droit est positionné sur un répertoire,​ il interdit la suppression des fichiers qu’il contient à tout utilisateur autre que le propriétaire.
 +
 +le Sticky Bit est une autorisation spéciale qui peut être définie sur un répertoire doté d’autorisations « d’écriture » 
 +
 +définies pour le groupe qui y a accès. Ce bit garantit que tous les membres du groupe peuvent écrire dans le répertoire,​ mais seule la personne qui a créé un fichier, c’est-à-dire le propriétaire du fichier, peut supprimer le fichier.
 +
 +il est représenté par la lettre t ou T, qui vient remplacer le droit d’exécution x, des autres utilisateurs que le propriétaire et ceux appartenant au groupe du fichier.
 +
 +---------t dans le cas ou t remplace un - ou ---------T, dans le cas ou t cache un x.
 +
 +Ce droit indique que le fichier doit rester en mémoire vive, même si l’on en a plus besoin
 +
 +Le sticky bit empêche de supprimer des fichiers, il n’empêche pas de les vider de leur contenu
 +
 +exemple:
 +
 +je crée le répertoire "​rapeteur"​
 +
 +<code user>​mkdir rapeteur
 +chmod +t rapeteur</​code>​
 +
 +<code user> ls -lha rapeteur/
 +total 16K
 +drwxr-xr-t ​ 2 momo momo 4,0K 16 mai   17:12 .
 +drwxr-xr-x 53 momo momo  12K 16 mai   ​17:​12</​code>​
 +
 +seule momo pourra supprimer les fichiers dans rapeteur
 +
 +<code user>​chmod o-x rapeteur/</​code>​
 +
 +<code user>ls -lha rapeteur/
 +total 16K
 +drwxr-xr-T ​ 2 momo momo 4,0K 16 mai   17:12 .
 +drwxr-xr-x 53 momo momo  12K 16 mai   17:12 .</​code>​
 +
 +la même commande que chmod +t avec : 
 +<code user>​chmod 1755 rapeteur/</​code>​
 +
 +<code user>ls -lha rapeteur/
 +total 16K
 +drwxr-xr-t ​ 2 momo momo 4,0K 16 mai   17:12 .
 +drwxr-xr-x 53 momo momo  12K 16 mai   17:12 ..
 +</​code>​
 +
 +''​exemple du fichier tmp''​
 +
 +<code user>ls -la / |grep tmp
 +drwxrwxrwt ​ 16 root root 12288 15 mai   00:20 tmp</​code>​
 +
 +les 2 commande setfacl (affecter) et getfacl (afficher) qui gèrent les ACL.
 +
 +Les paramètres les plus utiles sont -s (attribuer),​ -m (modifier), et -x (supprimer).
 +
 +u (utilisateur),​ g (groupe) et o (autres) sont les sujets classiques des opérations des droits d’accès.
 +
 +Les permissions restent les permissions classiques sous Unix à savoir r, w et x.
 +
 +Il y a toutes les options suivantes :
 +
 +|-s |--set=aclset the ACL of file(s), replacing the current ACL|
 +|-S |--set-file=file read ACL entries to set from file|
 +|-m |--modify=acl modify the current ACL(s) of file(s)|
 +|-M |--modify-file=file read ACL entries to modify from file|
 +|-x |--remove=acl remove entries from the ACL(s) of file(s)|
 +|-X |--remove-file=file read ACL entries to remove from file|
 +|-b |--remove-all remove all extended ACL entries|
 +|-K |--remove-default remove the default ACL|
 +|-n |--no-mask don’t recalculate the effective rights mask|
 +|-d |--default operations apply to the default ACL|
 +|-R |--ecursive recurse into subdirectories --post-order visit subdirectories first|
 +|-L |--logical logical walk, follow symbolic links|
 +|-P |--physical physical walk, do not follow symbolic links restore=file restore ACLs (inverse of `getfacl -R’) test test mode (ACLs are not modified)|
 +|-v |--version print version and exit|
 +|-h |help this help text|
 +
 +Nous avons bien 2 façons de lire les droits sur un fichier
 +
 +avant toute chose:
 +<code root>apt update && apt-get install acl</​code>​
 +
 +<code root>ls -lisha /​usr/​sbin/​biosdecode
 +1182299 24K -rwxr-xr-x 1 root root 24K 17 mai    2021 /​usr/​sbin/​biosdecode</​code>​
 +
 +
 +<code root>​getfacl /​usr/​sbin/​biosdecode
 +getfacl : suppression du premier « / » des noms de chemins absolus
 +# file: usr/​sbin/​biosdecode
 +# owner: root
 +# group: root
 +user::rwx
 +group::r-x
 +other::r-x
 +</​code>​
 +
 +Nous avons vu comment donner les droits avec la commande "​chmod"​
 +
 +Voyons maintenant avec la commande "​setfacl"​
 +**
 +les commandes setfacl et getfacl**
 +
 +Exemple: je crée un répersoire de travail collaboratif<​ /br> des groupe et je donne les droits à chacun
 +
 +<code user>​sudo mkdir /​opt/​partage
 +ls -lisha /​opt/​partage/​
 +total 8,0K
 +1331073 4,0K drwxr-xr-x 2 root root 4,0K 15 mai   23:45 .
 +1308162 4,0K drwxr-xr-x 3 root root 4,0K 15 mai   23:45 ..</​code>​
 +
 +Visualiser les permissions ACLs du dossier :
 +
 +<code user>​getfacl /​opt/​partage/​
 +getfacl : suppression du premier « / » des noms de chemins absolus
 +# file: opt/​partage/​
 +# owner: root
 +# group: root
 +user::rwx
 +group::r-x
 +other::​r-x</​code>​
 +
 +<code user>​sudo setfacl -m g:momo:rwx /​opt/​partage/</​code>​
 +
 +<code user>​touch /​opt/​partage/​firstfichier.txt</​code>​
 +
 +<code user>​getfacl /​opt/​partage/​firstfichier.txt
 +getfacl : suppression du premier « / » des noms de chemins absolus
 +# file: opt/​partage/​firstfichier.txt
 +# owner: momo
 +# group: momo
 +user::rw-
 +group::r--
 +other::​r--</​code> ​
 +
 +Suppression juste pour le répertoire
 +
 +<code user>​setfacl -b /​opt/​partage/​firstfichier</​code>​
 +
 +Suppression juste pour le fichier
 +
 +<code user>​setfacl -b fichier ​ /​opt/​partage/​ </​code>​
 +
 +Pour supprimer les acl par défaut :
 +
 +setfacl -k repertoire ​
 +
 +Suppression pour le répertoire,​ les sous-répertoires
 +
 +setfacl -R -k repertoire
  
  
  
  
utilisateurs/lagrenouille/tutos/les-droits-sous-linux.txt · Dernière modification: 15/05/2023 18:08 par lagrenouille

Pied de page des forums

Propulsé par FluxBB