Cuando lo ejecuto chmod +w filename
no da permiso de escritura a other
, solo da permiso de escritura a user
y group
.
Después de ejecutar este comando
chmod +w testfile.txt
ls -l testfile.txt
impresiones en ejecución
-rw-rw-r-- 1 ravi ravi 20 Mar 10 18:09 testfile.txt
pero en caso de +r
y +x
funciona correctamente.
No quiero usar chmod ugo+w filename
.
linux
command-line
permissions
chmod
Ravi Sevta
fuente
fuente
ugo
, usea
.+w
no funciona.askubuntu
respuesta que hace referencia más arriba que "Este comportamiento es un mandato POSIX y, por lo tanto, no es un error". Tenga en cuenta que el texto de uso de la aplicación POSIX no es normativo y, por lo tanto, POSIX no lo exige.Respuestas:
Su situacion especifica
En su situación específica, podemos adivinar que su actual
umask
es002
(este es un valor predeterminado común) y esto explica su sorpresa.En esa situación específica donde el
umask
valor es 002 (todos los números son octales).+r
significaugo+r
porque002 & 444
es000
, lo que permite establecer todos los bits+x
significaugo+x
porque002 & 111
es000
, lo que permite establecer todos los bits+w
significaug+w
porque002 & 222
es002
, lo que impide que se establezca el bit "o".Otros ejemplos
umask 022
+w
significaríau+w
.umask 007
+rwx
significaríaug+rwx
.umask 077
+rwx
significaríau+rwx
.¿Qué hubiera cumplido con sus expectativas?
Cuando cambias
umask
a000
, ejecutandoen tu terminal, entonces
establecerá permisos para ugo + w.
Nota al margen
Según lo sugerido por ilkkachu, tenga en cuenta que eso
umask 000
no significa que todos puedan leer y escribir todos sus archivos.Pero
umask 000
significa que todos los que tienen algún tipo de acceso a cualquier cuenta de usuario en su máquina (que puede incluir programas que ejecutan servicios de servidor ofc) pueden leer y escribir todos los archivos que crea con esa máscara activa y no cambian (si la cadena que contiene directorios hasta la raíz también les permite).fuente
r
bit para aquellas partes donde el umask lo permite. Esto se indica claramente en los manuales de, por ejemplo, GNU chmod y FreeBSD chmod, así como en el estándar. Lo mismo para+x
. Pues+w
tienes razón, para el caso de esa umask particular.0
no significa que todos puedan leer y escribir todos sus archivos, ya que muchas aplicaciones crean archivos que son particularmente privados con el modo0600
, lo que significa que el grupo y otras personas no tienen acceso, independientemente de la umask.umask
es una parte importante de cómo se+r
comporta, no una nota al margen. Además, incluso asumir umask002
,chmod +r
no significachmod ugo=r
, significachmod ugo+r
Con:
los permisos se agregan a usuarios , grupos y otros, pero la umask aún se aplica Se asegura de que el archivo no tenga más permiso que un archivo recién creado.
Si desea agregar los permisos a usuarios , grupos y otros independientemente de la umask, use
que es la abreviatura de
fuente
Debe especificar a quién le está dando los permisos, por ejemplo
other
, mediantechmod o+w testfile.txt
fuente
+w
da permiso a todos (usuario, grupo y otros).chmod a+w testfile.txt
. Úselou
para usuario,g
para grupo,o
para otro ya
para todos.chmod a+w filename
,chmod +w filename
ychmod ugo+w filename
son alternativas entre sí, entonces ¿por qué no solo usar?+w