web-dev-qa-db-fra.com

L'utilisation de chown pour changer le propriétaire du groupe d'un répertoire n'est pas autorisée .... Pourquoi?

J'essaie d'exécuter chown sur un répertoire disposant des autorisations et propriétaires suivants:

drwxrwxr-x 2 justin devs  4096 Jan  1 20:42 test

J'essaie simplement d'exécuter ce qui suit en tant qu'utilisateur justin:

chown justin:nginx test

Donc, en gros, changez simplement le propriétaire du groupe en nginx, mais je reçois:

chown: changing ownership of `test/': Operation not permitted

Des idées?

10
Justin

Tout d'abord, utilisez la commande chgrp au lieu de chown et cela fonctionnera.

Dans le cas de l'utilisation de chown ..... Pour des raisons de sécurité dans la plupart des contextes Linux, tout changement de propriétaire est limité à l'utilisateur root même si vous êtes marqué comme propriétaire du fichier, du répertoire, etc. Dans un cas, cela vise à empêcher les utilisateurs d'échapper aux quotas en définissant les bits d'autorisation de fichier sur 777 et en modifiant la propriété d'un fichier par un autre utilisateur inconnu et en consommant leur quota.

Ainsi, l'utilisation de la commande chown dans un contexte utilisateur, en particulier lorsque la propriété ne change pas, ne doit pas être utilisée uniquement pour modifier le groupe d'un fichier.

REMARQUE: vous devez être membre du groupe dans lequel vous essayez de modifier le fichier. Cela peut être vérifié par id -a. Si vous n'êtes pas dans le groupe, vous obtiendrez ce message même si vous êtes le propriétaire du fichier.

15
mdpc

Vous devez faire partie du groupe pour pouvoir changer la propriété actuelle du groupe en. Vous pouvez modifier /etc/groups fichier en tant que root pour vous assurer que l'utilisateur justin fait partie du groupe nginx. Après avoir apporté des modifications au groupe, vous devez vous reconnecter au système pour le rendre effectif ou pour passer au groupe sans redémarrage/déconnexion, vous pouvez utiliser cmd newgrp nginx.

Vous devriez maintenant pouvoir changer le groupe du fichier ou du dossier avec cmd chgrp nginx test en tant qu'utilisateur justin.

4
Cloudmeteor