J'avais un fichier avec 644 ( -rw-r--r--
) et je voulais le changer en 664 ( -rw-rw-r--
), après avoir exécuté:
sudo chmod -664 my_file
les autorisations de fichier ont été définies sur 000 ( ----------
).
Essayer de modifier les autorisations pour autre chose que 000 semble ne pas fonctionner. Qu'est-ce que j'oublie ici?
command-line
permissions
chmod
illgoforit
la source
la source
-
devant 644? Essayezsudo chmod 644 my_file
.-644
supprimera les droits.Réponses:
Vous utilisez
-664
, utilisez simplement à la664
place. Et n'utilisez jamaissudo
lorsque vous n'en avez pas besoin. Si c'est votre dossier, vous n'avez pas besoinsudo
:Lorsque vous exécutez
chmod
avec un-
avant le mode, vous supprimez ce mode. Voirman chmod
(c'est moi qui souligne):Les chiffres sont les suivants:
Ainsi, un fichier avec des
777
autorisations signifie que tout le monde a le droit de faire les trois, puisque 1 + 2 + 4 = 7, et donc définir les autorisations sur 7 signifie autoriser la lecture, l'écriture et l'exécution.Si vous commencez avec un fichier dont le mode est
777
:Et maintenant, exécutez
chmod -644
, vous supprimerez les bits644
et vous vous retrouverez avec un fichier dont le mode est133
:En effet, vous avez supprimé 6 (lecture (4) + écriture (2)) des autorisations du propriétaire, ne laissant que 1 (exécution) défini, et 4 (lecture) du groupe et d'autres autorisations. Le résultat est un fichier avec seulement des autorisations d'exécution (1) pour le propriétaire, et des autorisations d'écriture et d'exécution (vous en désactivez 4, en laissant 1 et 3) pour le reste.
Parce que votre fichier avait vraisemblablement les autorisations par défaut pour les nouveaux fichiers, donc
644
, lorsque vous avez exécutéchmod -644 my_file
, vous avez supprimé tous les bits d'autorisation définis et obtenu un fichier sans autorisations pour personne.la source