Suponga que la máscara predeterminada de 0666. umask
0022 haría que la nueva máscara 0644 (0666-0022 = 0644) significara que el grupo y otros tienen permisos de lectura (sin escritura ni ejecución).
El dígito "extra" (el primer número = 0), especifica que no hay modos especiales.
Si el modo comienza con un dígito, se interpretará como octal; de lo contrario, debe ser simbólico.
0 es un dígito, al igual que 1 (para el bit fijo) o 6 (para SGID). Se puede invocar un comando como chmod
por otros métodos, como chmod ug+rw mydir
dónde agregaría los permisos de lectura y escritura al usuario y al grupo. Tenga en cuenta que el modo en este caso (ug + rw) no comienza con un dígito, por lo tanto, no se interpretaría como octal sino simbólico.
Consulte en.wikipedia.org/wiki/Chmod#Symbolic_examples para obtener simbólicos, así como www.lifeaftercoffee.com/2007/03/20/special-permission-modes-in-linux-and-unix/ para ver un poco en los modos especiales.
No sé si desenmascararías la primera parte umask
, pero técnicamente podrías. Explicaría por qué casi siempre lo ves como un cero.
Crédito a pinkfloydx33
El primer dígito de la máscara trata con permisos especiales que no encajan tan claramente en el modelo del propietario / grupo / otro. Cuando se proporcionan cuatro dígitos para un permiso de archivo, el primero se refiere a esos valores especiales:
4000 = SUID
2000 = SGID
1000 = sticky bit
El bit SUID, abreviatura de set-user-ID, hace que un programa ejecutable se ejecute con la identificación de usuario (uid) efectiva del propietario; en otras palabras, no importa quién lo ejecute, el programa se ejecuta con los derechos del propietario. Esto se ve comúnmente en programas que hacen cosas que requieren privilegios de root, pero que están destinados a ser ejecutados por usuarios normales: este passwd
es un ejemplo.
El bit SGID, abreviatura de set-group-ID, es muy similar, pero se ejecuta con la identificación de grupo efectiva (gid) del propietario.
La parte adhesiva es un poco más complicada, si desea obtener más información al respecto, puede leer la página de manual sticky
.
Estos bits también se pueden usar con directorios, pero sus significados cambian.
No creo que pueda configurarlo umask
para permitirle habilitar ninguno de estos bits adicionales de forma predeterminada, pero probablemente nunca querrá hacerlo de todos modos.
Crédito al usuario 470379
man 2 umask
(la correspondiente llamada al sistema) "solomask
se utilizan los bits de permiso de archivo ". Enbash
, umask 1000 genera un error: "número octal fuera de rango". Entonces, ¿por qué el 0 adicional? Creo que es solo para mostrar que el número está en octal.chmod 6777 dropbox
. Y, por cierto, tambiénchmod ug+s
.)0666-0022
lo es0666 & ~0022
.