Come posso montare manualmente un file system Linux in lettura / scrittura come un normale utente?


19

Questa può sembrare una domanda stupida, ma con la maggior parte delle cose su Linux, mi sembra che molte cose banali non siano documentate.

Ad ogni modo, voglio semplicemente montare un file system ext4 su un normale mount point in Ubuntu (/ media / ovunque), come scrivibile in lettura per l'utente attualmente connesso, cioè io.

Non voglio aggiungere nulla in / etc / fstab, voglio solo farlo ora, manualmente. Ho bisogno dei privilegi di superutente per montare un dispositivo, ma solo root può leggere e scrivere quel mount. Ho provato varie opzioni di mount, l'ho aggiunto in fstab, ma senza fortuna.


C'è un motivo per cui non vuoi montarlo da qualche parte nella tua home directory?
Robert S Ciaccio,

Risposte:


13

Su un filesystem ext4 (come ext2, ext3 e la maggior parte degli altri filesystem che originano 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.

Con Ubuntu, il montaggio dovrebbe avvenire automaticamente quando si inserisce il disco, oppure si dovrebbe essere in grado di fare clic su un'icona per montare. Puoi anche installare pmountper montare filesystem come un normale utente dalla riga di comando.

Se si dispone di un file system rimovibile che utilizza ID utente diversi dal proprio sistema, è possibile utilizzare bindfs(nel pacchetto Ubuntu con lo stesso nome) per fornire una vista di qualsiasi file system con proprietà o autorizzazioni diverse. Il filesystem rimovibile deve essere già montato, ad es. Su /media/disk9; quindi, se si desidera apparire come proprietario di tutti i file, è possibile eseguire

mkdir ~/disk9
sudo bindfs -u $(id -u) -g $(id -g) /media/disk9 ~/disk9

Grazie! Questo ha funzionato per me con ext3. Nota che ho dovuto prima montare il filesystem ext3 in qualche directory di montaggio, poi montare tale directory con bindfs nella directory finale.
Ilari Kajaste,

8

Quando si monta il file system ext4, utilizza le autorizzazioni incorporate nel file system. Se si desidera sovrascriverli, utilizzare quanto segue:
1. Trovare l'UID dell'utente che si desidera montare come: id <username>e cercare UID = <userid> (<username>) GID = <groupid> (<groupname>) 2 .sudo mount -o nosuid,uid=<userid>,gid=<groupid> /dev/whatever /media/wherever

Questo monterà il filesystem e contrassegnerà l'utente specificato come proprietario di tutti i file e il gruppo specificato come gruppo per tutti i file. nosuidè una misura di sicurezza che impedisce all'utente di introdurre programmi suid e di usarli per ottenere l'accesso root al sistema (ad esempio, una versione suid di bash sul filesystem). L'aggiunta noexecdell'opzione fornirà ulteriore sicurezza, ma impedirà all'utente di eseguire file sul filesystem.

Nota: se stai solo cercando di interagire con il file system da solo, dovresti correggere le autorizzazioni sul dispositivo o interagire con esso come root se è solo una cosa temporanea (ad esempio, il ripristino di un'installazione interrotta).

Se questo è per il montaggio di un'unità USB o altra unità esterna rimovibile, dovresti controllare il pmountsistema che può automatizzare il processo per te, o almeno renderlo notevolmente più semplice (ad esempio, pmount <device>dovrebbe creare le cartelle per te, montarlo come utente, e ti permettono di smontarlo come tuo utente)


1
Hai idea se questo dovrebbe funzionare anche con EXT3? Ottengo EXT3-fs: Unrecognized mount option "uid=1000" or missing valuedmesg quando lo provo con ext3.
Ilari Kajaste,

@Ilari: non funzionerà con ext3, né con ext4 del resto. La maggior parte dei driver Linux per filesystem unix non ha opzioni di mappatura UID e GID.
Gilles 'SO- smetti di essere malvagio' il

-1 non funziona.
Ilari Kajaste il


1

Se non hai voglia di modificare manualmente il tuo file / etc / fstab, ti suggerirei di provare PySDM per definire le regole per montare il tuo file system ext4 su base regolare. Può essere installato installando il pacchetto "pysdm" in Synaptic o cercando "pysdm" nel Software Center di Ubuntu. Una volta installato, è disponibile in Sistema -> Amministrazione -> Gestione dispositivi di archiviazione.

PySDM in azione


1

Appena realizzato dopo aver letto l'ultimo commento su http://ubuntuforums.org/showthread.php?t=2142284 che tutto ciò che si deve fare è unsudo chown -Rvf <user>:<group> <mountpoint>

Questo è tutto ciò che serve ...


2
Questa è un'operazione distruttiva. Se lo fai prima del montaggio, non farà alcuna differenza per la proprietà dei file sull'unità montata; se lo fai dopo il montaggio, sovrascriverà tutte le autorizzazioni. Se l'unità contiene un'installazione Linux, la modifica delle autorizzazioni in questo modo renderà impossibile l'avvio dopo averlo smontato.
Warbo,
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.