GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué chmod +w no da permiso de escritura a otro(o)?

Tu situación específica

En su situación específica, podemos suponer que su actual umask es 002 (este es un valor predeterminado común) y esto explica su sorpresa.

En esa situación específica donde umask el valor es 002 (todos los números octales).

  • +r significa ugo+r porque 002 & 444 es 000 , que permite configurar todos los bits
  • +x significa ugo+x porque 002 & 111 es 000 , que permite configurar todos los bits
  • pero +w significa ug+w porque 002 & 222 es 002 , lo que evita que se establezca el bit "o".

Otros ejemplos

  • Con umask 022 +w significaría u+w .
  • Con umask 007 +rwx significaría ug+rwx .
  • Con umask 077 +rwx significaría u+rwx .

Lo que habría coincidido con sus expectativas

Cuando cambias umask a 000 , ejecutando

umask 000

en tu terminal, entonces

chmod +w file

establecerá permisos para ugo+w.

Nota al margen

Como sugiere ilkkachu, tenga en cuenta que umask 000 no significa que todo el mundo pueda leer y escribir todos sus archivos.

Pero umask 000 significa todos los que tienen algún tipo de acceso a cualquier La cuenta de usuario en su máquina (que puede incluir programas que ejecutan servicios de servidor ofc) puede leer y escribir todos los archivos que crea con esa máscara activa y no cambiar (si la cadena de directorios que los contiene hasta la raíz también lo permite). /P>

Con:

chmod +<perms>

los permisos se agregan a usuario , grupo y otro pero con el umask aún aplicándose. Se asegura de que el archivo no tenga más permisos de los que tendría un archivo recién creado.

Si desea agregar los permisos a usuario , grupos y otro independientemente del umask, use

chmod a+<perms>

que es la abreviatura de

chmod ugo+<perms>

Linux
  1. ¿Por qué el usuario raíz necesita permiso de Sudo?

  2. ¿Por qué las interfaces de red no están en /dev como otros dispositivos?

  3. ¿Por qué Tomcat funciona con el puerto 8080 pero no con el 80?

  4. ¿Por qué el contenedor docker solicita Permiso denegado?

  5. ¿Por qué el mapeo MAP_GROWSDOWN no ​​crece?

Linux – ¿Por qué Locale Es_mx funciona pero no Es?

¿Por qué Mv(1) copia objetos si se niega el permiso para mover?

¿Por qué `exit &` no funciona?

Linux:¿por qué Rsync en Linux no conserva todas las marcas de tiempo (hora de creación)?

¿Por qué find -exec mv {} ./target/ + no funciona?

¿Por qué yum updateinfo no muestra todas las actualizaciones?