Quand je lance , chmod +w filename
il ne donne pas l' autorisation d'écriture other
, il donne juste l' autorisation d'écriture user
et group
.
Après avoir exécuté cette commande
chmod +w testfile.txt
ls -l testfile.txt
tirages en cours
-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
.
linux
command-line
permissions
chmod
Ravi Sevta
la source
la source
ugo
, utiliseza
.+w
ne pas travailler.askubuntu
réponse que vous faites référence ci-dessus que "Ce comportement est obligatoire pour POSIX, et donc pas un bug". Veuillez noter que le texte d'utilisation de l'application POSIX n'est pas normatif et n'est donc pas mandaté par POSIX.Réponses:
Votre situation spécifique
Dans votre situation spécifique, nous pouvons deviner que votre courant
umask
est002
(c'est une valeur par défaut courante) et cela explique votre surprise.Dans cette situation spécifique où la
umask
valeur est 002 (tous les nombres sont octaux).+r
des moyensugo+r
parce002 & 444
est000
, ce qui permet tous les bits à définir+x
des moyensugo+x
parce002 & 111
est000
, ce qui permet tous les bits à définir+w
moyensug+w
parce002 & 222
est002
, ce qui empêche le bit « o » pour être ensemble.Autres exemples
umask 022
+w
signifieraitu+w
.umask 007
+rwx
signifieraitug+rwx
.umask 077
+rwx
signifieraitu+rwx
.Qu'est-ce qui aurait correspondu à vos attentes
Lorsque vous passez
umask
à000
, en exécutantdans votre terminal, puis
définira les autorisations sur ugo + w.
Note latérale
Comme suggéré par ilkkachu, notez que
umask 000
cela ne signifie pas que tout le monde peut lire et écrire tous vos fichiers.Mais cela
umask 000
signifie que tous ceux qui ont une sorte d'accès à n'importe quel compte d'utilisateur sur votre machine (qui peuvent inclure des programmes exécutant des services de serveur ofc) peuvent lire et écrire tous les fichiers que vous créez avec ce masque actif et ne changent pas (si la chaîne contenant répertoires jusqu'à la racine le permet également).la source
r
bit pour les parties où l'umask le permet. Ceci est clairement indiqué dans les manuels de GNU chmod et FreeBSD chmod, ainsi que dans la norme. Pareil pour+x
. Car+w
vous avez raison, pour le cas de ce umask particulier.0
ne signifie pas que tout le monde peut lire et écrire tous vos fichiers, car de nombreuses applications créent des fichiers particulièrement privés avec le mode0600
, ce qui signifie que le groupe et les autres n'ont aucun accès, quel que soit le umask.umask
est une partie importante de la façon dont+r
se comporte, pas un sidenote. D' ailleurs, même en supposant umask002
,chmod +r
ne signifie paschmod ugo=r
, cela signifiechmod ugo+r
Avec:
les permanentes sont ajoutées à l' utilisateur , au groupe et à d' autres, mais avec l'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 à l' utilisateur , aux groupes et autres indépendamment du umask, utilisez
ce qui est court pour
la source
Vous devez spécifier à qui vous accordez les autorisations, par exemple
other
en utilisantchmod o+w testfile.txt
la source
+w
donne la permission à tous (utilisateur, groupe et autres).chmod a+w testfile.txt
. Utilisezu
pour l'utilisateur,g
pour le groupe,o
pour les autres eta
pour tous.chmod a+w filename
,chmod +w filename
etchmod ugo+w filename
sont alternatifs les uns aux autres alors pourquoi ne pas simplement utiliser+w