Per montare un dispositivo con determinati diritti, puoi utilizzare il -o Option
direttiva durante il montaggio del dispositivo. Per montare il dispositivo che hai descritto, esegui:
mount -t deviceFileFormat -o umask=filePermissions,gid=ownerGroupID,uid=ownerID /device /mountpoint
Ad esempio, montare una cartella condivisa di VirtualBox su /var/www
con www-data
come proprietario sarebbe simile a questo:
mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/www
Se desideri montare il dispositivo all'avvio, puoi aggiungere la seguente voce al tuo /etc/fstab
file:
/device /mountpoint deviceFileFormat umask=filePermissions,gid=ownerGroupID,uid=ownerUserID
Di nuovo, con lo stesso esempio la voce al /etc/fstab
il file sarebbe simile a questo:
dev /var/www vboxsf umask=0022,gid=33,uid=33
Per i filesystem che non supportano il montaggio come utente specifico (come ext4) quanto sopra darà l'errore
Unrecognized mount option "uid=33" or missing value
per cambiare il proprietario di un mount ext4 è sufficiente eseguire
chown username /mountpoint
dopo che è stato montato.
Per un file system come ext3 o ext4, dopo aver eseguito
chown -R username:group /mountpoint
per cambiare il proprietario dei file attualmente esistenti puoi impostare il bit id gruppo in modo da creare nuovi file con il gruppo specifico (non funziona per l'id utente sotto Linux):
find /mountpoint -type d -exec chmod g+ws {} \;
La voce di Wikipedia su setuid e setgid è abbastanza istruttiva, vedi la sezione sulle directory.