Parmi les deux options pour modifier les autorisations:
chmod 777 file.txt
chmod a+rwx file.txt
J'écris un document qui détaille les besoins des utilisateurs pour modifier les autorisations de fichier d'un certain fichier. Je veux le détailler comme le moyen le plus courant de modifier les autorisations de fichier.
Est actuellement dit:
- Set permissions on file.txt as per the example below:
- chmod 777 /tmp/file.txt
Ceci est juste un exemple et ne changera pas les fichiers pour avoir des autorisations complètes pour tout le monde.
permissions
Kevdog777
la source
la source
775
ou755
uniquement pour les fichiers exécutables.chmod 777
c'est commechmod a=rwx
, nonchmod a+rwx
.777
ou666
est simple et beaucoup plus mémorisable queugo+rwx
,a+rwx
ouugo+rw
qui est très déroutant caro
ambigu et peut signifier pour vous, propriétaire ou autres, que vous choisissez. Donc, au lieu de faire la grosse erreur, vous continuezman
à vérifier pour vérifier lequel est lequel, ou utilisez simplement les chiffres.Réponses:
Google donne:
chmod 777
est environ 3 fois plus populaire.Cela dit, je préfère utiliser les options longues dans la documentation et les scripts, car elles sont auto-documentées. Si vous suivez vos instructions avec "Exécuter
ls -l | grep file.txt
et vérifier les autorisations", vous voudrez peut-être utiliserchmod a+rwx
car c'est ainsi que ls affichera les autorisations.la source
7
signifie, etc.chmod 777
est plus populaire (comme conjetured avant de voir vos chiffres) est simplement que vous tapez 2 caractères de moins :)chmod 777
est un raccourci pratique pour obtenir le même effet. Vos lecteurs apprécieraient l'élément éducatif de votre documentation. Le 777 est plus populaire car il est beaucoup plus facile et plus rapide d'appuyer sur 7 trois fois, mais lorsqu'un nouvel utilisateur voit le 777 pour la première fois, il ne sait peut-être pas exactement ce que cela signifie. C'est pourquoi c'est un mauvais choix comme documentation principale. Mais cela vaut vraiment la peine d'être mentionné comme un conseil.[Je modifie pour ajouter les meilleures pratiques, en suivant la suggestion de Dotancohen dans sa réponse. J'espère que ça ne le rend pas moins clair, et que la bonne habitude est prise]
Informations supplémentaires importantes: elles ne sont pas équivalentes.
chmod a+rwx
: définissez les 3 derniers octaux sur 777, afin de vous assurer que le propriétaire, le groupe et les utilisateurs disposent de l'ensemble "rwx". S'il y a des bits supplémentaires dans le premier octal (setuid, setgid et / ou Sticky bit), ils ne sont pas modifiés. Pensez-y comme un binaire "ou 00777".chmod 777
: définissez les droits sur 00777, afin de vous assurer que le propriétaire, le groupe et les utilisateurs ont défini "rwx", ET RIEN DE PLUS. Il s'assure également que les bits supplémentaires (setuid, setgid et / ou Sticky bit) sont définis sur 0.Donc, utilisez le premier formulaire, si vous voulez juste vous assurer d'accorder l'accès à tout le monde (et s'il vous plaît assurez-vous double, triple que c'est nécessaire ... cela ouvre la porte à toutes sortes de problèmes de sécurité, certains d'une portée assez inattendue ils permettent à un utilisateur malveillant de le faire)
Utilisez le formulaire 777 si vous souhaitez également vous assurer de réinitialiser tout bit setuid / setgid / sticky, c'est-à-dire si les fichiers doivent être "00777", ce qui est probablement plus probable dans votre cas (le droit du fichier est connu et doit être : 00777). Ici aussi, assurez-vous que c'est vraiment nécessaire ...
Habituellement, il est préférable de conserver l'accès au propriétaire (et parfois au groupe): puis utilisez les groupes pour accorder l'accès à certains utilisateurs spécifiques au fichier / répertoire. a + rwx est à la fois facile et généralement la mauvaise façon d'accorder l'accès (bien sûr, il y a de très rares cas où c'est la seule façon ...)
http://en.wikipedia.org/wiki/Chmod est une bonne lecture car elle explique ce que chaque chiffre ou lettre représente (y compris setuid / setgid / sticky)
la source
others
autorisation? Si vous êtes connecté à la machine en tant qu'utilisateur, vous pouvez sûrement simplement utiliser l'users
autorisation?chmod 777
c'est commechmod a=rwx
.Je pense généralement à la différence étant que la définition des autorisations sur 0777 les définit explicitement sur 0777. Comme mentionné précédemment, le 0 de tête sera déduit si vous tapez simplement 777. Alors qu'un + rwx ajoute lecture / écriture / exécution en laissant setuid / sticky peu intacte.
Supposons que vous vouliez simplement être sûr qu'un fichier est exécutable, vous pouvez utiliser un + x afin de pouvoir modifier le privilège d'exécution sans vous soucier ni modifier les autres autorisations. Si vous avez utilisé la représentation octale, vous devez connaître les autorisations actuellement définies pour être sûr de ne pas modifier les autorisations d'une autre manière que celle que vous souhaitiez.
la source
Je dirais que donner les valeurs numériques est beaucoup plus courant dans les "guides simples des peuples" tels que ceux produits pour les utilisateurs d'hébergement web à petit budget. Cependant, veillez à les spécifier en tant que valeurs octales et non décimales:
$ chmod 0777 some_dir
Notez le leader
0
dans0777
. Bien que Bash et d'autres environnements CLI fassent ce qu'il faut avec l'utilisation du non-rembourré777
, de nombreux langages de programmation tels que PHP et Perl ont des fonctions similaires qui nécessitent la direction0
. Je recommande donc également son utilisation dans Bash, pour se souvenir qu'il est censé être là.Note aux downvoters: Comme précisé dans les commentaires, la
chmod
commande sait en fait passer la directive en octal même si la notation décimale est spécifiée. Cependant, tous les environnements ne le prennent pas en charge, il est donc préférable de s'habituer à le spécifier explicitement.la source
chmod
ne traite jamais le nombre comme décimal.chmod 777 file
etchmod 0777 file
sont complètement équivalents.chmod
commande shell; vous pouvez simplement penser que les trois chiffres sont indépendants les uns des autres, chacun vous indiquant un ensemble d'autorisations.chmod 77
est équivalent àchmod 077
.chmod
commande interprète son argument mode en octal. Vous devez faire attention si vous utilisez la plupart des langages de programmation (C, Perl,…), mais dans un script shell, c'est octalchmod
.