Montare un filesystem ext3 con i privilegi dell'utente


12

Sto provando a montare un file system ext3 da un'altra installazione di Linux in modo che l'utente, non root, abbia pieno accesso a tutti i file. (Ho davvero bisogno che l'utente abbia accesso a quei file, perché mi piacerebbe usarli da un altro computer tramite sshfs, e sshfs darà ai diritti di accesso dell'utente solo ai file.)

Se eseguo mount /dev/sda1 /mnt/whatevertutti i file sono accessibili solo da root.

Ho anche provato mount -o nosuid,uid=1000,gid=1000 /dev/sda1 /mnt/whatevercome indicato da una domanda di SuperUser che parla di ext4 ma che fallisce con un errore e dmesgriporta:

EXT3-fs: Unrecognized mount option "uid=1000" or missing value

Come posso montare il filesystem?


1
Direi che la risposta di Gilles nella domanda SuperUser che hai menzionato è quella corretta. In effetti, man page mount (8) non elenca uid=...e gid=...opzioni per nessuno dei filesystem ext2 / 3/4.
Riccardo Murri,

@Riccardo Grazie, quella era la soluzione corretta! Innanzitutto montare ext in una directory regolarmente, quindi montando quella directory bindfs -u $(id -u) -g $(id -g)nella destinazione finale. Scrivilo come una risposta, forse?
Ilari Kajaste,

1
Poiché la risposta è di Gilles ed è molto attivo anche su questo forum, lo lascerò a lui per ripubblicarlo qui e riscuotere il merito meritato.
Riccardo Murri,

Risposte:


19

Su un filesystem ext4 (come ext2, ext3 e la maggior parte degli altri filesystem di origine Unix), le autorizzazioni dei file effettive non dipendono da chi ha montato il filesystem o dalle opzioni di mount, solo dai metadati memorizzati all'interno del filesystem.

Se si dispone di un file system rimovibile che utilizza ID utente diversi dal proprio sistema, è possibile utilizzare bindfsper fornire una vista di qualsiasi file system con proprietà o autorizzazioni diverse. Il filesystem rimovibile deve essere già montato, ad es. Su /mnt/sda1; quindi, se vuoi che un determinato utente appaia come proprietario di tutti i file, puoi eseguire qualcosa del genere

mkdir /home/$user/sda1
bindfs -u $user -g $group /mnt/sda1 /home/$user/sda1

1
Grazie anche a me! Con una piccola modifica, questo funziona anche per dispositivi come ad esempio DVD-ROM SATA con collegamento a caldo (che era il dispositivo con cui ho avuto problemi). TUTTAVIA, il dispositivo verrà sempre montato 000per qualche motivo (d ---------), quindi è necessario specificare -p 700sulla bindfslinea per accedere ai file sul DVD tramite dolphin/ nautilusecc., Ad esempio.
syntaxerror,

Sarebbe bello se bindfspotesse accettare dizionari per la traduzione di qualsiasi set di UID e GID ...
Alexey
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.