Assignar accés de lectura/escriptura a un usuari en un directori específic a Linux


En un article anterior, us vam mostrar com crear un directori compartit a Linux. Aquí, descriurem com donar accés de lectura/escriptura a un usuari en un directori específic a Linux.

Hi ha dos mètodes possibles per fer-ho: el primer és crear grups d'usuaris per gestionar els permisos dels fitxers, tal com s'explica a continuació.

Per al propòsit d'aquest tutorial, utilitzarem la configuració següent.

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

Assegureu-vos que totes les ordres s'executen com a usuari root o utilitzeu l'ordre sudo amb privilegis equivalents.

Comencem creant el directori anomenat informes mitjançant l'ordre mkdir:

# mkdir -p /shares/project1/reports   				

Ús d'ACL per donar accés de lectura/escriptura a l'usuari al directori

Important: per utilitzar aquest mètode, assegureu-vos que el vostre tipus de sistema de fitxers Linux (com ara Ext3 i Ext4, NTFS, BTRFS) admeti ACL.

1. Primer, comproveu el tipus de sistema de fitxers actual al vostre sistema i també si el nucli admet ACL de la següent manera:

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

A la captura de pantalla següent, el tipus de sistema de fitxers és Ext4 i el nucli admet ACL POSIX tal com indica l'opció CONFIG_EXT4_FS_POSIX_ACL=y.

2. A continuació, comproveu si el sistema de fitxers (partició) està muntat amb l'opció ACL o no:

# tune2fs -l /dev/sda1 | grep acl

A la sortida anterior, podem veure que l'opció de muntatge predeterminada ja té suport per a ACL. Si en cas que no estigui habilitat, podeu activar-lo per a la partició en particular (/dev/sda3 per a aquest cas):

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

3. Ara, és hora d'assignar un accés de lectura/escriptura a un usuari tecmint a un directori específic anomenat informes executant les ordres següents.

# 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

A la captura de pantalla de dalt, l'usuari tecmint ara té permisos de lectura/escriptura (rw) al directori /shares/project1/reports com es veu a la sortida de la segona ordre getfacl.

Per obtenir més informació sobre les llistes d'ACL, consulteu les nostres guies següents.

  1. Com utilitzar les ACL (llistes de control d'accés) per configurar quotes de disc per a usuaris/grups
  2. Com utilitzar les ACL (llistes de control d'accés) per muntar recursos compartits de xarxa

Vegem ara el segon mètode per assignar accés de lectura/escriptura a un directori.

Ús de grups per donar accés de lectura/escriptura a l'usuari al directori

1. Si l'usuari ja té un grup d'usuaris predeterminat (normalment amb el mateix nom que el nom d'usuari), simplement canvieu el propietari del grup del directori.

# chgrp tecmint /shares/project1/reports

Alternativament, creeu un grup nou per a diversos usuaris (que tindran permisos de lectura/escriptura en un directori específic), de la següent manera. Tanmateix, això crearà un directori compartit:

# groupadd projects

2. A continuació, afegiu l'usuari tecmint al grup projectes de la manera següent:

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

3. Canvieu el propietari del grup del directori a projectes:

# chgrp	projects /shares/project1/reports

4. Ara configureu l'accés de lectura/escriptura per als membres del grup:

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

Això és! En aquest tutorial, us vam mostrar com donar accés de lectura/escriptura a un usuari en un directori específic a Linux. Si teniu cap problema, pregunteu a través de la secció de comentaris a continuació.