GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo configurar umask para un usuario del sistema?

Hay tres formas normales de configurar el umask de un usuario.

  1. Establecer UMASK en /etc/login.defs
  2. Agregar pam_umask.so a su configuración PAM en /etc/pam.d
  3. Ajústelo en los archivos de inicio de shell, p. /etc/profile

No hay diferencia entre los usuarios del sistema y los usuarios normales en este sentido.

Pero asumo que estás tratando de iniciar un demonio con un umask personalizado.

El problema es:todas las opciones anteriores suceden cuando un usuario inicia sesión. Si está ejecutando un demonio, nunca inicia sesión. Se inicia con init, luego se ejecuta como root o llama a setuid para ejecutar como el usuario del sistema que especifique.

Sus opciones principales son:

  1. poner umask en su script de inicio (haga un grep umask /etc/init.d/* para un ejemplo)
  2. configure init para iniciar el programa con un umask personalizado (systemd.exec upstart umask)
  3. si usa start-stop-daemon , pasa la opción umask
  4. modificar el programa en sí mismo para llamar a la función umask o llamar al sistema

Los usuarios del sistema se diferencian de los "normales" en tres formas:caducidad de la contraseña, directorio de inicio (los usuarios del sistema no tienen uno) y UID (los usuarios del sistema suelen estar por debajo de un umbral arbitrario).

En el caso general, casi no tienes suerte. Puede usar PAM para configurar el umask, pero PAM selecciona comportamientos basados ​​en otras cosas además de estas tres diferencias.

En otras palabras, no puede hacer que PAM distinga entre los usuarios del 'sistema' y los 'no del sistema'. Esto te deja con dos opciones:

  • O usa PAM para configurar el umask para todos (por ejemplo, marque /etc/login.defs ), luego configure explícitamente el umask para usuarios que no sean del sistema en /etc/bash.bashrc (o similar);

  • O escribe su propio módulo PAM para hacer esto. Creo que esto sería bien recibido por muchas personas, ya que configurar el umask es una solicitud común.

Por favor, tome esta respuesta con una generosa pizca de sal. Este tipo de solicitud es bastante común, y no me sorprendería si ahora existe una forma mejor/adecuada.


Linux
  1. Cómo configurar accesos directos de escritorio para cPanel

  2. Cómo configurar JAVA_HOME en Linux para todos los usuarios

  3. ¿Cómo instalar un módulo para todos los usuarios con pip en linux?

  4. Cómo establecer la ruta para los comandos sudo

  5. ¿Cómo configurar umask predeterminado para el servlet webdav de Tomcat?

Cómo configurar la autenticación de dos factores para cPanel

Cómo configurar el arranque PXE para hardware UEFI

¿Cómo configurar Tls para Postfix en Ubuntu?

Cómo configurar un Killswitch de Linux para VPN

¿Cómo chown directorio para múltiples usuarios?

¿Cómo configurar PATH para todos los usuarios en Debian?