Ubuntu: modo de acceso predeterminado (permisos) para usuarios dir de inicio (/ inicio / usuario)

14

¿Qué es un modo de acceso predeterminado (por ejemplo, 0755) para los directorios de inicio de los usuarios en Ubuntu (por ejemplo, de qué se emite ls -ld /home/*)? ¿En otras distribuciones principales de Linux (Debian, RedHat, Gentoo, Arch)?

¿Cómo puedo cambiar este valor predeterminado?

PD: Lo siento, pero no puedo encontrar un ubuntu ahora y probarlo yo mismo.

osgx
fuente
No estoy preguntando sobre umask, sino sobre skelyhome-dirs
osgx
No agregue nueva información en los comentarios, sino
inclúyala
no es una información nueva, son comentarios sobre una comprensión errónea de mi pregunta
osgx

Respuestas:

15

Al crear un usuario usando useradd --create-home username, el directorio de esqueleto (generalmente /etc/skel) se copia, incluidos sus permisos.

El directorio de inicio ( /home/username) está sujeto a la UMASKconfiguración en /etc/login.defs. Esto está configurado 022de forma predeterminada, por lo que los permisos para se /home/usernameconvierten en 755.

Extracto relevante de la página del manual de Ubuntu deuseradd :

Las siguientes variables de configuración en /etc/login.defs cambian el comportamiento de esta herramienta:
[..]
UMASK (número)

La máscara de creación del modo de archivo se inicializa a este valor. Si no se especifica, la máscara se inicializará a 022.

useradd y los usuarios nuevos usan esta máscara para establecer el modo del directorio de inicio que crean

Lekensteyn
fuente
¿Qué pasa con redhat / debian?
osgx
AFAIK es una cosa estándar de useradd, si fuera específico de Ubuntu, debería haber sido mencionado en la página del manual. Una página de manual de redhat: linux.die.net/man/8/useradd
Lekensteyn
10

El permiso predeterminado de la página de inicio del usuario se puede controlar en los siguientes lugares.

  • La opción de directorio de esqueleto ( -k, --skel SKEL_DIR) de useradd.
  • SKELvalor en /etc/adduser.confque define el directorio esqueleto predeterminado.
  • DIR_MODEvalor /etc/adduser.confque define los permisos predeterminados.

El directorio de inicio de los nuevos usuarios se crea /etc/skelcomo plantilla (comportamiento predeterminado).
Permiso predeterminado de /etc/skeles 0755 (drwxr-xr-x).
El uso de un directorio de esqueleto personalizado con los permisos correctos permitirá que los nuevos directorios principales tengan los permisos deseados.

Los valores predeterminados para adduserse definen en /etc/adduser.conf.
El valor predeterminado de DIR_MODEin /etc/adduser.confes 0755.
Cambiar DIR_MODEa los permisos correctos ( DIR_MODE=0750o similares) permitirá que los nuevos directorios principales tengan los permisos deseados.
Según la documentación de Ubuntu, esta parece ser la mejor opción.

Los directorios de inicio de usuarios ya existentes deberán cambiarse manualmente.

sudo chmod 0750 /home/username

Por lo tanto, es una buena idea cambiar /etc/adduser.confjusto después de la instalación para evitar que los nuevos usuarios obtengan 0755 (drwxr-xr-x)permisos de tipo.
Aún así, el primer usuario creado durante la instalación habrá 0755configurado su directorio de inicio, que debe cambiarse manualmente.

UMASKin /etc/login.defses una configuración general para archivos / directorios / etc. creada por los usuarios (no solo en sus directorios de inicio). y podría cambiar dependiendo de USERGROUPS_ENABen /etc/login.defs.

La explicación oficial: Gestión de usuarios - Seguridad del perfil de usuario
Compruebe también otras secciones de Gestión de usuarios.

Relacionado: /ubuntu/46501/why-can-other-users-see-the-files-in-my-home-folder

Sithsu
fuente
3
Las respuestas de solo enlace son un no-no debido a la posible descomposición futura de enlaces. Incluya información pertinente en sus respuestas.
Ƭᴇcʜιᴇ007
@ techie007 lo sé. Hubiera usado un comentario si tuviera suficientes repeticiones.
Sithsu
1
@ techie007 Se agregó más contenido a la respuesta
Sithsu
Ajuste DIR_MODEen /etc/adduser.confes definitivamente el camino correcto a seguir.
user1338062
2

Nota: No cambie el UMASK valor en /etc/login.defs si desea cambiar sólo los permisos de directorio casa. Porque cambiar el UMASK afectará todo.

Una vez seguí lo mismo y cuando instalé cualquier sistema de paquetes en todo el pip, no estaba accesible para otros usuarios y constantemente estaba rechazando el permiso. Dado que el UMASK predeterminado afectó el permiso de todos los directorios de paquetes que se crearon después de que se aplicaron los cambios.

La forma correcta es modificar DIR_MODE en /etc/adduser.conf . Dado que /etc/adduser.conf se usa en la mayoría de las distribuciones de Linux, esta solución funciona para la mayoría.

Abhishek Meena
fuente
1

Los permisos predeterminados para / home en ubuntu son rwxr-xr-x o 755. Para / home / user también es rwxr-xr-x o 755. Al menos está en mi instalación.

Para cambiar los permisos de archivo del directorio de inicio, abra una terminal y ejecute algo como:

chmod 700 /home/user

Recuerde cambiar el 700 al valor chmod que realmente desea establecer.

Si no posee el directorio, necesita privilegios de root para cambiar los permisos. Ubuntu usa sudopara eso:

sudo chmod 700 /home/user

Cuando ejecute este comando, le pedirá la contraseña de administrador.

Rincewind42
fuente
2
Su segunda parte es incorrecta, el directorio de inicio es de su propiedad, por lo que no necesitará un superusuario adecuado para eso.
Lekensteyn
Suponiendo que solo quiere cambiar los derechos en su propio directorio de inicio. Dije "Si no eres el propietario del directorio". Mi código funcionará en el directorio de inicio de cualquier usuario.
Rincewind42
He editado el post para que sea más correcto (espero que les guste), su puesto original no incluye en absoluto: superuser.com/revisions/303995/1
Lekensteyn
0

Consulte la página de manual de umask .

La configuración predeterminada de umask es

0022

Permite groupy otherslee y ejecuta el acceso.

nik
fuente
No, mi pregunta no se trata de una máscara de usuario, sino de permisos predeterminados de carpeta en sí de usuario (justo después de usuario aes creado, lo que va a ser una potencia de ls -ld /home/a)
osgx