Quand je lance chmod +w filename
il ne donne pas la permission d'écriture à other
, il donne juste la permission d'écriture à user
et group
.
Après avoir exécuté cette commande
chmod +w testfile.txt
fonctionnement ls -l testfile.txt
impressions
-rw-rw-r-- 1 ravi ravi 20 Mar 10 18:09 testfile.txt
mais en cas de +r
et +x
cela fonctionne correctement.
Je ne veux pas utiliser chmod ugo+w filename
.
Dans votre situation spécifique, nous pouvons deviner que votre umask
actuel est 002
(il s'agit d'une valeur par défaut courante) et cela explique votre surprise.
Dans cette situation spécifique où umask
la valeur est 2 (tous les nombres sont octaux).
+r
veux dire ugo+r
parce que 002 & 444
est 000
, qui permet de régler tous les bits+x
veux dire ugo+x
parce que 002 & 111
est 000
, qui permet de régler tous les bits+w
veux dire ug+w
parce que 002 & 222
est 002
, ce qui empêche la définition du bit "o".umask 022
+w
signifierait u+w
.umask 007
+rwx
signifierait ug+rwx
.umask 077
+rwx
signifierait u+rwx
.Lorsque vous changez umask
en 000
, en exécutant
umask 000
dans votre terminal, puis
chmod +w file
définira les autorisations sur ugo + w.
Comme suggéré par ilkkachu, notez que umask 000
ne signifie pas que tout le monde peut lire et écrire tous vos fichiers.
Mais umask 000
signifie que tous ceux qui ont un accès quelconque à n'importe lequel compte d'utilisateur sur votre machine (qui peut inclure des programmes exécutant les services du serveur ofc) peuvent lire et écrire tous les fichiers que vous créez avec ce masque actif et ne pas le faire ' t changer (si la chaîne contenant les répertoires jusqu'à la racine le permet également).
Avec:
chmod +<perms>
les perms sont ajoutés à tilisateur, groupe et autre mais avec le umask toujours appliqué. Il s'assure que le fichier ne bénéficie pas de plus d'autorisations qu'un fichier nouvellement créé.
Si vous souhaitez ajouter les perms à tilisateur, groupes et autre quel que soit le umask, utilisez
chmod a+<perms>
ce qui est court pour
chmod ugo+<perms>
Vous devez spécifier à qui vous accordez les autorisations, comme other
, en utilisant chmod o+w testfile.txt