GNU/Linux >> Linux Esercitazione >  >> Linux

Assegna l'accesso in lettura/scrittura a un utente su una directory specifica in Linux

In un articolo precedente, ti abbiamo mostrato come creare una directory condivisa in Linux. Qui, descriveremo come dare accesso in lettura/scrittura a un utente su una directory specifica in Linux.

Ci sono due metodi possibili per farlo:il primo sta usando ACL (Access Control List) e il secondo sta creando gruppi di utenti per gestire i permessi dei file, come spiegato di seguito.

Ai fini di questo tutorial, utilizzeremo la seguente configurazione.

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

Assicurati che tutti i comandi vengano eseguiti come utente root o usa il comando sudo con privilegi equivalenti.

Iniziamo creando la directory chiamata reports utilizzando la mkdir comando:

# mkdir -p /shares/project1/reports   				

Utilizzo dell'ACL per consentire l'accesso in lettura/scrittura all'utente nella directory

Importante :per utilizzare questo metodo, assicurati che il tuo tipo di filesystem Linux (come Ext3 ed Ext4, NTFS, BTRFS) supporti gli ACL.

1. Innanzitutto, controlla il tipo di file system corrente sul tuo sistema e anche se il kernel supporta ACL come segue:

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

Dallo screenshot qui sotto, il tipo di filesystem è Ext4 e il kernel supporta ACL POSIX come indicato da CONFIG_EXT4_FS_POSIX_ACL=y opzione.

2. Quindi, controlla se il file system (partizione) è montato con ACL opzione o meno:

# tune2fs -l /dev/sda1 | grep acl

Dall'output sopra, possiamo vedere che l'opzione di montaggio predefinita ha già il supporto per ACL . Se nel caso non fosse abilitato, puoi abilitarlo per la partizione particolare (/dev/sda3 per questo caso):

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

3. Ora è il momento di assegnare un accesso in lettura/scrittura a un utente tecmint in una directory specifica chiamata reports eseguendo i seguenti comandi.

# 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

Nello screenshot sopra, l'utente tecmint ora ha i permessi di lettura/scrittura (rw) sulla directory /shares/project1/reports come si vede dall'output del secondo getfacl comando.

Per ulteriori informazioni sugli elenchi ACL, consulta le nostre guide seguenti.

  1. Come utilizzare gli ACL (Elenchi di controllo di accesso) per impostare le quote disco per utenti/gruppi
  2. Come utilizzare gli elenchi di controllo accessi (ACL) per montare condivisioni di rete

Vediamo ora il secondo metodo per assegnare l'accesso in lettura/scrittura a una directory.

Utilizzo dei gruppi per consentire l'accesso in lettura/scrittura all'utente nella directory

1. Se l'utente ha già un gruppo di utenti predefinito (normalmente con lo stesso nome del nome utente), cambia semplicemente il proprietario del gruppo della directory.

# chgrp tecmint /shares/project1/reports

In alternativa, crea un nuovo gruppo per più utenti (a cui verranno concessi i permessi di lettura/scrittura su una directory specifica), come segue. Tuttavia, questo creerà una directory condivisa:

# groupadd projects

2. Quindi aggiungi l'utente tecmint al gruppo projects come segue:

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

3. Cambia il proprietario del gruppo della directory in progetti:

# chgrp	projects /shares/project1/reports

4. Ora imposta l'accesso in lettura/scrittura per i membri del gruppo:

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

Questo è tutto! In questo tutorial, ti abbiamo mostrato come dare accesso in lettura/scrittura a un utente su una directory specifica in Linux. In caso di problemi, chiedi tramite la sezione commenti qui sotto.


Linux
  1. Come estrarre i file Tar in una directory specifica o diversa in Linux

  2. Come eliminare gli account utente con Home Directory in Linux

  3. Come gestire gli utenti con useradd in Linux

  4. Linux – Esegui Vs Leggi bit. Come funzionano le autorizzazioni di directory in Linux?

  5. Linux + come consentire solo a un utente specifico di leggere il file

Crea directory home per utenti esistenti in Linux

Come unire un sistema Linux a un dominio Active Directory

Come disabilitare l'accesso SSH a un utente specifico in Linux

Come limitare l'accesso SSH a determinati utenti in Linux

Come creare/aggiungere utenti in Linux

Esegui rispetto al bit di lettura. Come funzionano i permessi di directory in Linux?