Je crois (pas sûr) que le propriétaire d'un fichier / répertoire et l'utilisateur root sont les seuls utilisateurs autorisés à modifier les autorisations d'un fichier / répertoire. Suis-je correct ou y a-t-il d'autres utilisateurs qui sont également autorisés à modifier les autorisations?
files
permissions
user226341
la source
la source
Aux fins d'un fonctionnement normal, seuls root et le propriétaire peuvent
chmod
. En outre, root peutchown
etchgrp
, et en outre, le propriétaire peutchgrp
aussi longtemps que le propriétaire est membre du groupe cible.Pour des raisons de sécurité, il existe cependant un autre cas: tout utilisateur disposant d'une autorisation d'écriture dans le répertoire contenant le fichier peut remplacer le fichier par une copie et devenir ainsi le propriétaire, ce qui lui permet de modifier les autorisations et le contenu.
Ainsi:
Nous avons créé un répertoire et écrit un fichier en tant que root. Étant donné que root possède le fichier, nous ne pouvons pas y écrire, ni chmod:
Cependant, nous avons une autorisation d'écriture sur le répertoire, nous pouvons donc remplacer le fichier pour en devenir propriétaire:
Et maintenant que nous sommes le propriétaire, nous pouvons bien sûr faire ce que nous voulons avec ce fichier:
De même, tout utilisateur disposant d'une autorisation d'écriture sur n'importe quel répertoire du chemin complet menant au fichier peut remplacer la structure du répertoire à partir de ce moment, obtenant ainsi la propriété du fichier avec le nom donné. La propriété ou les autorisations du fichier d'origine réel (que nous avons renommé «votrefichier2») ne sont bien sûr pas modifiées.
la source
getfacl / setfacl
) qui offrent plus de flexibilité que les autorisations de fichiers de style "classique". La suppression de fichiers dans * nix fonctionne en supprimant le lien vers le fichier du répertoire, donc la suppression du fichier est toujours contrôlée par les autorisations du répertoire; les autorisations de fichiers eux-mêmes n'y jouent aucun rôle.La
chmod
commande appelle assez directement l'appel système du même nom; la page de manuel de l'chmod(2)
appel système (sous Linux 4.10) indique:Donc, oui, un processus exécuté en tant que root peut modifier les autorisations de n'importe quel fichier s'il n'a pas abandonné la
CAP_FOWNER
capacité.Également intéressant est
chown
; la page de manuel dechown(2)
dit:la source