So che suona come una domanda duplicata, ma ho provato quanto segue e non ha aiutato:
Il mio disco è montato sotto
/media/data
quindi sono entrato
sudo chown -R :users /media/data
Tuttavia non riesco ancora a scrivere su quella partizione come utente.
Ho anche provato a inserire una voce in /etc/fstab
UUID=... /media/data ext4 rw,suid,dev,exec,auto,user,async 0 0
ma dopodiché il mio computer non poteva più avviarsi perché non riusciva a trovare il disco.
Ho installato Ubuntu 14.04 Server. La partizione è elencata in /dev/nvmeOn1p1
e non appare nel /etc/fstab
(vedi foto sotto).
(il dispositivo è un SSD "Intel DC P3700" da 800 GB)
Nota aggiuntiva:
Poiché la partizione è vuota, potrei anche formattarla e ricrearla usando ad esempio gparted. C'è un modo in gparted o altri programmi GUI per specificare che la partizione dovrebbe essere utilizzabile da tutti gli utenti?
Risposta accettata:
Forse stai facendo le cose nell'ordine sbagliato. Quando crei un file system con mkfs.ext4
, tutto ciò che contiene è di proprietà dell'utente root e del gruppo root con le autorizzazioni predefinite del sistema impostate.
Quando monti quel file system su una directory, vedi i permessi e il proprietario del file system, indipendentemente dal proprietario originale e dai permessi su quella directory.
Quindi fare qualcosa del genere non funzionerà:
sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data
sudo mount /dev/some/data /media/data
La cosa giusta da fare è creare il file system, montarlo e quindi modificare le autorizzazioni e la proprietà su di esso. Non importa cosa fai in /etc/fstab.
Il modo giusto per farlo è questo:
sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo mount /dev/some/data /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data
Questo dovrebbe rispondere alla tua domanda. Se hai bisogno di maggiori dettagli, continua a leggere.
Per capire meglio cosa succede, sperimentiamo un po' con un file immagine
Crea un file vuoto da formattare e montare usando fallocate -l 100MB /tmp/filesystem.img
. Quindi formattalo come file system ext4 con sudo mkfs.ext4 /tmp/filesystem.img
(non è un dispositivo a blocchi, ma se rispondi sì puoi comunque metterci un file system ext4 funzionante) e creare una directory da usare come punto di montaggio mkdir /tmp/experiment
.
Ora prova a cambiare il proprietario e le autorizzazioni su quella directory con sudo chown -R :users /tmp/experiment
e sudo chmod -R g+rw /tmp/experiment
e controlla i permessi con ls -la /tmp/experiment
. Otterrai qualcosa del genere:
ls -la /tmp/experiment/
total 0
drwxrwx--x 2 gerlos users 40 feb 19 10:37 .
drwxrwxrwt 8 root root 180 feb 19 10:38 ..
Questo ti dice che /tmp/experiment è di proprietà dell'utente gerlos e degli utenti del gruppo e che i membri del gruppo possono leggerlo, scriverlo ed eseguirlo. Puoi inserire file al suo interno, ad esempio con touch /tmp/experiment/somefile
.
Ora monta il file system su quella directory con sudo mount /mnt/filesystem.img /tmp/experiment
e guarda di nuovo ls
uscita:
$ ls -la /tmp/experiment/
total 13
drwxr-xr-x 3 root root 1024 feb 19 10:41 .
drwxrwxrwt 8 root root 180 feb 19 10:41 ..
drwx------ 2 root root 12288 feb 19 10:41 lost+found
Come puoi vedere, ora /tmp/experiment sembra di proprietà di root, con permessi diversi! Come mai? Perché non stiamo guardando /tmp/experiment in sé, ma la directory principale del file system contenuta in /mnt/filesystem.img, montata su /mnt/experiment.
Relazionato:18.04:Perché sia Xorg che Xwayland?
Inoltre, il tuo normale utente non sarà in grado di inserire file lì con touch /tmp/experiment/anotherfile
.
Se ora provi di nuovo a eseguire chown
e chmod
come sopra, cambierai proprietario e autorizzazioni non sul punto di montaggio, ma sul file system montato e i tuoi utenti potranno utilizzare il file system. Per confermare questo aspetto ls output un'ultima volta:
$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root users 1024 feb 19 10:41 .
drwxrwxrwt 8 root root 180 feb 19 10:45 ..
drwxrw---- 2 root users 12288 feb 19 10:41 lost+found
Come puoi vedere, ora i membri del gruppo utenti possono inserire file nel file system! In effetti, nulla impedisce al tuo normale utente di creare un nuovo file lì con touch /tmp/experiment/myfile
:
$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root users 1024 feb 19 11:05 .
drwxrwxrwt 8 root root 180 feb 19 11:02 ..
drwxrw---- 2 root users 12288 feb 19 10:41 lost+found
-rw-rw---- 1 gerlos gerlos 0 feb 19 11:02 myfile
Missione compiuta! 🙂