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.
# 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.


# 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
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.
- Cómo usar ACL (Listas de control de acceso) para configurar cuotas de disco para usuarios/grupos
- 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
# 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
tecmint
al grupo projects
de la siguiente manera:
# usermod -aG projects tecmint # add user to projects # groups tecmint # check users groups
# chgrp projects /shares/project1/reports
# 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.