« Gestion des droits linux » : différence entre les versions

De Wiki doc

m (En chantier)
Ligne 1 : Ligne 1 :
[[Category:posix]]
[[Category:posix]]
{{chantier}}
=Droits standards=
=Droits standards=
==Chmod==
==Chmod==
==Chown==
==Chown==
==Empêcher les modifications par root==
==Empêcher les modifications par root==
Parfois, il est nécessaire d'interdire la modification d'un fichier. De manière générale, la suppression des droits d'écriture via la commande <source lang="bash" inline>chmod</source> est utilisée. Cependant, cette méthode est totalement inefficace si nous voulons interdire la modification du fichier par l'utilisateur root lui même.
Parfois, il est nécessaire d'interdire la modification d'un fichier. De manière générale, la suppression des droits d'écriture via la commande <source lang="bash" inline>chmod</source> est utilisée. Cependant, cette méthode est totalement inefficace si nous voulons interdire la modification du fichier par l'utilisateur root lui même.
Ligne 8 : Ligne 14 :
Cela peut sembler absurde en premier lieu de vouloir interdire cela à root et pourtant, le cas plus que concret du <source lang="bash" inline>resolv.conf</source> qui ne cesse de se faire modifier par le client DHCP utilisant les droits root est plus qu'insupportable, surtout quand il met l'adresse d'un serveur DNS utilisant une zone RPZ afin de rediriger de manière transparente vers un miroir de dépôt local qui ne contient pas la branche de la distribution en cours d'usage.
Cela peut sembler absurde en premier lieu de vouloir interdire cela à root et pourtant, le cas plus que concret du <source lang="bash" inline>resolv.conf</source> qui ne cesse de se faire modifier par le client DHCP utilisant les droits root est plus qu'insupportable, surtout quand il met l'adresse d'un serveur DNS utilisant une zone RPZ afin de rediriger de manière transparente vers un miroir de dépôt local qui ne contient pas la branche de la distribution en cours d'usage.
{{info|j'ai conscience que c'est un besoin spécifique mais considérez que la seule question de la confidentialité peut être avancé car la modification du serveur DNS est aussi la possibilité de voir tout les domaines que vous visitez. Il n'est donc pas inutile de maîtriser sa modification (wifi publique par exemple).}}
{{info|j'ai conscience que c'est un besoin spécifique mais considérez que la seule question de la confidentialité peut être avancé car la modification du serveur DNS est aussi la possibilité de voir tout les domaines que vous visitez. Il n'est donc pas inutile de maîtriser sa modification (wifi publique par exemple).}}
===Empêcher les modifications===
===Empêcher les modifications===
  chattr +i /etc/resolv.conf
  chattr +i /etc/resolv.conf
===Autoriser les modifications===
===Autoriser les modifications===
  chattr -i /etc/resolv.conf
  chattr -i /etc/resolv.conf
===Source===
 
===Source de la section===
* http://dev.petitchevalroux.net/linux/interdire-modifier-fichier-linux.397.html
* http://dev.petitchevalroux.net/linux/interdire-modifier-fichier-linux.397.html
=Droits étendus=
=Droits étendus=
Les ACL (access control list) permettent une gestion plus fine des droits POSIX. Dans le cas d'un partage de fichiers entre plusieurs utilisateurs par exemple, les droits standards peuvent vite montrer leurs limites.
Les ACL (access control list) permettent une gestion plus fine des droits POSIX. Dans le cas d'un partage de fichiers entre plusieurs utilisateurs par exemple, les droits standards peuvent vite montrer leurs limites.
Ligne 33 : Ligne 43 :
Méthode plus fine où on peut définir quel éléments enlever
Méthode plus fine où on peut définir quel éléments enlever
  setfacl -x u:root acl/test5.txt
  setfacl -x u:root acl/test5.txt
==Sources==
 
==Sources de la section==
* https://blog.pastoutafait.fr/billets/Les-ACLs-sous-GNU-Linux
* https://blog.pastoutafait.fr/billets/Les-ACLs-sous-GNU-Linux
* http://lea-linux.org/documentations/Gestion_des_ACL
* http://lea-linux.org/documentations/Gestion_des_ACL

Version du 22 février 2018 à 10:44

EN CHANTIER

Article en cours d'écriture et/ou de test. Certains éléments peuvent être incomplets et mener à un résultat non fonctionnel.
Merci de ne pas rager.

Droits standards

Chmod

Chown

Empêcher les modifications par root

Parfois, il est nécessaire d'interdire la modification d'un fichier. De manière générale, la suppression des droits d'écriture via la commande chmod est utilisée. Cependant, cette méthode est totalement inefficace si nous voulons interdire la modification du fichier par l'utilisateur root lui même.

Cela peut sembler absurde en premier lieu de vouloir interdire cela à root et pourtant, le cas plus que concret du resolv.conf qui ne cesse de se faire modifier par le client DHCP utilisant les droits root est plus qu'insupportable, surtout quand il met l'adresse d'un serveur DNS utilisant une zone RPZ afin de rediriger de manière transparente vers un miroir de dépôt local qui ne contient pas la branche de la distribution en cours d'usage.

INFORMATION

j'ai conscience que c'est un besoin spécifique mais considérez que la seule question de la confidentialité peut être avancé car la modification du serveur DNS est aussi la possibilité de voir tout les domaines que vous visitez. Il n'est donc pas inutile de maîtriser sa modification (wifi publique par exemple).

Empêcher les modifications

chattr +i /etc/resolv.conf

Autoriser les modifications

chattr -i /etc/resolv.conf

Source de la section

Droits étendus

Les ACL (access control list) permettent une gestion plus fine des droits POSIX. Dans le cas d'un partage de fichiers entre plusieurs utilisateurs par exemple, les droits standards peuvent vite montrer leurs limites. Installer le paquet ACL

apt install acl

Afficher les ACL

getfacl

Définir des acl de manière récursive (à l'utilisateur toto, le groupe root et man, les autre à rien)

setfacl -Rm u:toto:rwx,g:root:rwx,g:man:r-x,o:--- acl/

setfacl peut remplacer chmod. Équivalent d'un chmod 750 :

setfacl -m u::rwx,g::r-x:o::---

Définir un umask personnalisé pour le dossier. Il faut rajouter d: devant la section qu'on veux définir par défaut. Si on ne le met pas, le droit de la section n'est appliqué que aux élément existant et pas ceux créés par la suite setfacl -m d:u:yohan:rwx,d:u:root:rwx acl/

INFORMATION

Je me suis limité aux droit utilisateur car mais on peut bien sur enchaîner avec les groupes et les autres après des virgules avec un d: devant chaque arguments.

Supprimer les acl

setfacl -b acl/

ou, pour la récursivité

setfacl -Rb acl/

Méthode plus fine où on peut définir quel éléments enlever

setfacl -x u:root acl/test5.txt

Sources de la section

Sources