GNU/Linux >> Tutoriales Linux >  >> Linux

Asignar acceso de lectura/escritura a un usuario en un directorio específico en Linux

En un artículo anterior, le mostramos cómo crear un directorio compartido en Linux. Aquí, describiremos cómo otorgar acceso de lectura/escritura a un usuario en un directorio específico en Linux.

Hay dos métodos posibles para hacerlo:el primero es usar ACL (Listas de control de acceso) y el segundo es crear grupos de usuarios para administrar los permisos de archivos, como se explica a continuación.

A los efectos de este tutorial, utilizaremos la siguiente configuración.

Operating system: CentOS 7
Test directory: /shares/project1/reports 
Test user: tecmint
Filesystem type: Ext4

Asegúrese de que todos los comandos se ejecuten como usuario root o use el comando sudo con privilegios equivalentes.

Empecemos por crear el directorio llamado reports usando el mkdir comando:

# mkdir -p /shares/project1/reports   				

Uso de ACL para otorgar acceso de lectura/escritura al usuario en el directorio

Importante :Para usar este método, asegúrese de que su tipo de sistema de archivos Linux (como Ext3 y Ext4, NTFS, BTRFS) admita ACL.

1. Primero, verifique el tipo de sistema de archivos actual en su sistema y también si el kernel admite ACL de la siguiente manera:

# df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
# grep -i acl /boot/config*

De la siguiente captura de pantalla, el tipo de sistema de archivos es Ext4 y el kernel admite POSIX ACL como lo indica el CONFIG_EXT4_FS_POSIX_ACL=y opción.

2. A continuación, compruebe si el sistema de archivos (partición) está montado con ACL opción o no:

# tune2fs -l /dev/sda1 | grep acl

Del resultado anterior, podemos ver que la opción de montaje predeterminada ya es compatible con ACL . Si no está habilitado, puede habilitarlo para la partición en particular (/dev/sda3 para este caso):

# mount -o remount,acl /
# tune2fs -o acl /dev/sda3

3. Ahora es el momento de asignar un acceso de lectura/escritura a un usuario tecmint a un directorio específico llamado reports ejecutando los siguientes comandos.

# getfacl /shares/project1/reports       		  # Check the default ACL settings for the directory 
# setfacl -m user:tecmint:rw /shares/project1/reports     # Give rw access to user tecmint 
# getfacl /shares/project1/reports    			  # Check new ACL settings for the directory

En la captura de pantalla anterior, el usuario tecmint ahora tiene permisos de lectura/escritura (rw) en el directorio /shares/project1/reports como se ve en la salida del segundo getfacl comando.

Para obtener más información sobre las listas de ACL, consulte nuestras siguientes guías.

  1. Cómo usar ACL (Listas de control de acceso) para configurar cuotas de disco para usuarios/grupos
  2. Cómo usar ACL (Listas de control de acceso) para montar recursos compartidos de red

Ahora veamos el segundo método para asignar acceso de lectura/escritura a un directorio.

Uso de grupos para otorgar acceso de lectura/escritura al usuario en el directorio

1. Si el usuario ya tiene un grupo de usuarios predeterminado (normalmente con el mismo nombre que el nombre de usuario), simplemente cambie el propietario del grupo del directorio.

# chgrp tecmint /shares/project1/reports

Alternativamente, cree un nuevo grupo para múltiples usuarios (a quienes se les otorgarán permisos de lectura/escritura en un directorio específico), de la siguiente manera. Sin embargo, esto creará un directorio compartido:

# groupadd projects

2. Luego agregue el usuario tecmint al grupo projects de la siguiente manera:

# usermod -aG projects tecmint	    # add user to projects
# groups tecmint	            # check users groups

3. Cambie el propietario del grupo del directorio a proyectos:

# chgrp	projects /shares/project1/reports

4. Ahora configure el acceso de lectura/escritura para los miembros del grupo:

# chmod -R 0760 /shares/projects/reports
# ls  -l /shares/projects/	    #check new permissions

¡Eso es todo! En este tutorial, le mostramos cómo otorgar acceso de lectura/escritura a un usuario en un directorio específico en Linux. Si tiene algún problema, pregunte a través de la sección de comentarios a continuación.


Linux
  1. Cómo extraer archivos Tar a un directorio específico o diferente en Linux

  2. Cómo usar sudo para asignar acceso raíz a un usuario en un servidor Linux

  3. Ocultar la entrada del usuario en la terminal en el script de Linux

  4. ¿Cómo monto manualmente un sistema de archivos de Linux de lectura/escritura como un usuario normal?

  5. Linux + cómo dar solo a un usuario específico para leer el archivo

Crear directorio de inicio para usuarios existentes en Linux

Cómo unir un sistema Linux a un dominio de Active Directory

Cómo deshabilitar el inicio de sesión SSH para un usuario específico en Linux

Cómo restringir el acceso SSH a ciertos usuarios en Linux

Cómo crear/agregar usuarios en Linux

Bit de ejecución vs lectura. ¿Cómo funcionan los permisos de directorio en Linux?