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?
Cuando utiliza un umask
077, 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 umask
esta 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 077
en la terminal, solo será válida para esa sesión de la terminal; para que sea permanente para su usuario, simplemente agregue umask 077
a su ~/.profile
. La configuración predeterminada del sistema para umask
está 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 doc
marcado con stat doc
los 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 new
verificado con stat new
los 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 umask
077 otorgará los permisos que se muestran, pero si aún tiene problemas con los permisos después de configurarlos umask 077
correctamente (como se discutió más arriba), podemos investigarlo más a fondo.
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).