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?
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.
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.