Primero, asegúrese de que el paquete pam-modules
esté instalado. Eso hace que el módulo pam_umask
esté disponible. A continuación, asegúrese de que /etc/pam.d/common-session
tiene una línea de la forma
session optional pam_umask.so
modo que pam_umask
está habilitado.
Ahora, de acuerdo a la página pam_umask
hombre, la máscara de usuario por defecto se determina en el inicio de sesión mediante la comprobación de cada uno de los siguientes lugares, con el fin de:
Un defecto en todo el sistema duro situado en /etc/pam.d/common-session
. Para configurar esta manera, reemplace la línea de ese archivo se mencionó anteriormente con esto:
session optional pam_umask.so umask=002
Una entrada en el campo GECOS de un usuario individual en /etc/passwd
anula un defecto en todo el sistema suave para ese usuario específico.Cree que la entrada mediante un comando de la forma:
chfn --other='umask=002' username
Una línea de la forma en UMASK=002
/etc/default/login
(puede que tenga que crear ese archivo) establece un defecto suave de todo el sistema.
El valor UMASK
de /etc/login.defs
. Ese valor también se usa para otra cosa (calcular los permisos en el directorio de inicio de un nuevo usuario que se está creando; consulte los comentarios en /etc/login.defs
para obtener más detalles). Por lo tanto, es mejor evitar confiar en esto para establecer la umask predeterminada para los inicios de sesión regulares, para mantener las cosas separadas.
Así, en su caso, debe configurar esta sea en /etc/default/login
si usted quiere que sea posible anular la configuración para los usuarios individuales, o ponerlo en /etc/pam.d/common-session
como se describe más arriba si quiere que sea el mismo para todos los usuarios.
Tenga en cuenta que incluso con la configuración predeterminada fija, los usuarios aún pueden anular manualmente el umask
predeterminado mediante el comando umask
en el indicador del shell o en su secuencia de comandos .profile
.
También tenga en cuenta que la forma tradicional de Unix para establecer este valor predeterminado es agregando un comando umask
al /etc/profile
, y eso también funcionaría. Pero no es la forma recomendada de configurar cosas como esta en Ubuntu, porque es difícil de administrar de manera confiable usando scripts y GUI.
Nota, lamentablemente este stopped working for any application which has been converted to launch via systemd --user
.
Creo que se puede usar 'setfacl' para fijar de forma recursiva (y mantener) la configuración de acceso a un directorio. http://linuxcommand.org/man_pages/setfacl1.html – tMC
Usted * no * quiere 'chmod -R 644/home': esto elimina el bit eXecute de los directorios, lo que los hace indescifrables. – ephemient
Seguimiento del comentario de tMC: si desea esto en directorios específicos (y opcionalmente subdivide) y no lo vincula a todos (!) Archivos y directorios que pertenecen a un usuario específico, entonces use ACL. Aquí hay [una buena respuesta] (http://stackoverflow.com/a/6550059/923794) a una pregunta similar – cfi