¿Por qué umask 077 no permite al usuario ejecutar archivos / directorios?

10

Estoy usando umask 077. "Otro" y "grupo" no tienen ningún derecho, pero el usuario no puede ejecutar archivos / directorios. ¿Por qué umask 077 no permite que el propietario ejecute archivos / directorios?

Solo yo
fuente

Respuestas:

6

Cuando utiliza un umask077, solo el usuario tiene permisos de lectura, escritura y ejecución. El usuario definitivamente podrá abrir ('ejecutar') directorios (vea más sobre por qué los directorios deben ser ejecutables en mi respuesta aquí ). Sin embargo, los archivos siempre deben hacerse ejecutables ingresando chmod u+x myfile; nunca son ejecutables automáticamente. En umaskesta respuesta se proporciona información más útil sobre :

La posibilidad probable de sus problemas es que quizás haya ingresado el valor de forma ligeramente incorrecta, lo que ha resultado en una umask diferente, o que el valor no se haya establecido permanentemente. Si ingresa umask 077en la terminal, solo será válida para esa sesión de la terminal; para que sea permanente para su usuario, simplemente agregue umask 077a su ~/.profile. La configuración predeterminada del sistema para umaskestá en /etc/login.defs; se utiliza para estar en /etc/profile. Consulte también la página de manual para pam_umask, que es un módulo pam que maneja la asignación de umask.

Los siguientes ejemplos son de una configuración exitosa de umask 077:

1) Para la creación de carpetas : mkdir docmarcado con stat doclos permisos correctos y una carpeta 'ejecutable':

File: `doc'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d  Inode: 6425268     Links: 2
Access: (0700/drwx------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:33:01.236675420 +0100
Modify: 2012-09-12 11:33:01.236675420 +0100
Change: 2012-09-12 11:33:01.236675420 +0100
 Birth: -

2) Para la creación de archivos : touch newverificado con stat newlos permisos correctos; el archivo solo se hace ejecutable cuando usa chmod +x:

File: `new'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 6303902     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:34:58.272676270 +0100
Modify: 2012-09-12 11:34:58.272676270 +0100
Change: 2012-09-12 11:34:58.272676270 +0100

Un umask077 otorgará los permisos que se muestran, pero si aún tiene problemas con los permisos después de configurarlos umask 077correctamente (como se discutió más arriba), podemos investigarlo más a fondo.

Comunidad
fuente
5

El valor de umask se usará para modificar adecuadamente la máscara predeterminada para permisos de archivo (permiso base 0666) y dmask para permisos de directorio / carpeta (permiso base 0777).

Los valores efectivos de máscara y máscara se calcularán deduciendo el valor de máscara (cálculos octales).

Por lo tanto, una umask 0022 resultaría en fmask para obtener un valor 0644 (es decir, 0666 - 0022) mientras que dmask sería 0755 (es decir, 0777 - 0022).

El umask 0077 evita que se creen archivos con acceso no solo al mundo (indicado por el último dígito octal) sino también a los miembros de su grupo (indicado por el penúltimo dígito octal).

Referencia:

preciso
fuente
cuanto más leo esto, más no lo entiendo. ¿Hay alguna explicación para el chico novato que solo quiere hacer pequeños cambios sin saberlo profundamente?
GusDeCooL