Je voudrais autoriser les utilisateurs à chmoder un fichier appartenant à root ou à un utilisateur qui n'est pas lui-même. J'ai modifié le fichier en 777 et j'obtiens "opération non autorisée". J'ai ajouté l'utilisateur au groupe du fichier et j'obtiens le même. Pourquoi un utilisateur ne peut-il pas modifier un fichier auquel il a accès en écriture?
permissions
ashleysmithgpu
la source
la source
sudo
: linux.die.net/man/8/sudo & linux.die.net/man/5/sudoersRéponses:
Pour les droits d'accès normaux, il s'agit d'une décision de conception. Vous avez besoin de richacls :
WRITE_ACL
et peut-êtreWRITE_OWNER
.la source
Les autorisations Unix sont conçues pour être simples. Vous avez besoin de l'autorisation de lecture pour lire à partir d'un fichier, de l'autorisation d'écriture pour écrire dans un fichier et de l'autorisation d'exécution pour exécuter un fichier. Vous devez posséder un fichier pour modifier ses métadonnées¹.
Permettre à un utilisateur qui peut lire un fichier d'accorder à d'autres l'autorisation de lecture, ou autoriser un utilisateur qui peut écrire un fichier à accorder à d'autres l'autorisation d'écriture, ne changerait pas beaucoup le modèle de sécurité. En effet, les autorisations Unix sont discrétionnaires: un utilisateur qui peut lire un fichier peut exposer son contenu à d'autres utilisateurs, même si ces autres utilisateurs ne seraient pas autrement en mesure de lire le fichier (et de même pour l'écriture, l'utilisateur pourrait agir en tant que proxy et écrire au nom des autres).
D'un autre côté, permettre à un utilisateur d'accorder une autorisation qu'il n'a pas briserait complètement le système d'autorisation: l'utilisateur pourrait s'octroyer toutes les autorisations.
Il est assez rare de devoir modifier les autorisations d'un fichier que vous ne possédez pas. En règle générale, vous devez prévoir que le fichier dispose des autorisations appropriées dès sa création. Si vous en avez vraiment besoin, vous pouvez donner des
sudo chmod
droits d' utilisateur pour un mode particulier et un fichier particulier (par exemplejoe: ALL = (ALL) chmod g+r /path/to/file
).¹ A l' exception des temps d'accès et de modification, qui sont particuliers car la lecture ou l'écriture dans le fichier les définit également.
la source