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.
- Come utilizzare gli ACL (Elenchi di controllo di accesso) per impostare le quote disco per utenti/gruppi
- 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.