Montaggio del filesystem con l'ID utente speciale impostato

16

Voglio montare il dispositivo /dev/sda3 nella directory /foo/bar/baz . Dopo aver montato la directory dovrebbe avere il uid dell'utente johndoe . Così ho fatto:

sudo -u johndoe mkdir /foo/bar/baz
stat -c %U /foo/bar/baz
johndoe

e ho aggiunto la seguente riga al mio /etc/fstab :

/dev/sda3 /foo/bar/baz ext4 noexec,noatime,auto,owner,nodev,nosuid,user 0 1

Quando faccio ora sudo -u johndoe mount /dev/sda3 il comando stat -c %U /foo/bar/baz ha come risultato root anziché johndoe . Qual è il modo migliore per montare questo ext4-filesystem con uid johndoe set?

    
posta qbi 08.04.2011 - 09:33

3 risposte

18

Non è possibile forzare un proprietario su un disco con un filesystem ext4. Solo i filesystem che non supportano permessi Linux come fat hanno un attributo per ownership / grouphip: uid=value e gid=value . Vedi la pagina di manuale sul montaggio .

Dovresti cambiare il proprietario sul filesystem montato come in:

sudo chown johndoe /foo/bar/baz

Se è necessario modificare le autorizzazioni in modo ricorsivo:

sudo chown -R johndoe /foo/bar/baz

... e se anche il gruppo deve essere modificato in johndoe :

sudo chown -R johndoe: /foo/bar/baz
    
risposta data Lekensteyn 08.04.2011 - 09:49
15

bindfs è la risposta. Ci vorrà un file system già montato e potrai visualizzarlo con qualsiasi tipo di file che vorresti:

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo
    
risposta data Catskul 04.10.2013 - 21:08
6

Supponendo che il gruppo impostato per i file abbia le autorizzazioni appropriate, dovresti essere in grado di scoprire che è il Group ID (GID) e aggiungerti ad esso.

Per scoprire l'ID di gruppo di un file, usa ls -n . Esempio di output:

drwxr-xr-x 1 1000 1000  550 Jul  9 11:08 Desktop/

Vuoi il quarto campo per GID, che nel mio caso è il secondo 1000 .

sudo addgroup --gid GID foobar; sudo usermod 'whoami' -aG foobar

Una volta eseguito, dovresti avere il comando completo dove mai gli attributi del file per il gruppo lo consentono.

Come indicato nell'altra risposta relativa alle autorizzazioni utente, se devi correggere il gruppo su alcuni file, esegui uno di questi:

sudo chown -R :foobar ./
sudo chgrp -R  foobar ./
    
risposta data Chinoto 09.07.2012 - 21:43

Leggi altre domande sui tag