Monta partizione NTFS all'avvio, con utente non root come proprietario

21

Attualmente sto montando una partizione NTFS all'avvio usando la seguente riga in / etc / fstab:

/dev/sda3        /media/data           ntfs      nls=iso8859-1,umask=000

Per l'installazione di Ubuntu 11.10, sembra che tutti i file e le cartelle siano di proprietà di root - e poiché NTFS non supporta lo stesso sistema di gestione dei diritti in ogni caso, non c'è modo che io possa cambiarlo dopo che il mount è stato completare. Qualunque cosa io faccia, ls -l in qualsiasi punto della partizione NTFS elencherà ogni file e cartella come di proprietà di root:root .

Tuttavia, questo causa alcuni problemi per me. In particolare, alcune applicazioni in esecuzione con il mio account (chiamate tomas ) si lamentano dei diritti di accesso. Inoltre, ogni volta che provo a copiare ( cp ) o spostare ( mv ) i file da una delle mie partizioni ext3 alla partizione NTFS, ricevo messaggi di errore che dicono

mv: preserving times for '[path to new file]': Operation not permitted

o, analogamente

mv: preserving permissions for ...

Montare la partizione nel mio nome invece che in root? Se è così, come posso farlo in fstab?

Aggiornamento:

Ora ho cambiato le opzioni in base ai suggerimenti e sono arrivato a questo:

nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas

ls -l ora mostra tutti i file di mia proprietà anziché quelli di root, e sembra che alcuni dei problemi che ho avuto prima siano risolti. Tuttavia, non tutti.

Quando avvio Eclipse, viene visualizzato un messaggio che non è possibile eseguire un file relativo a Android-sdk: Autorizzazione negata. ls -l mi dice quanto segue sul file:

-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*

Questo è come voglio io. Ma se provo a eseguirlo ( ./adb in un terminale) ottengo anche errori di autorizzazione negati. Ma se lo eseguo con sudo , funziona (credo - almeno non mi dà un messaggio di errore, ma non mi dà affatto alcun risultato, il che penso che non dovrebbe ... )

Perché il file sopra, con autorizzazioni di esecuzione per chiunque , non è ancora eseguibile da nessun altro oltre root ? Come posso cambiare il modo in cui monto il file system così è?

Aggiornamento 2:

OK, ora sono un po 'più avanti. Montando con queste opzioni

nls=iso8859-1,permissions,users,auto

Ho ottenuto tutte le autorizzazioni impostate nel modo in cui mi aspetto che siano, e chown e chmod cambiano effettivamente le impostazioni sui file (almeno secondo ls -l ) = D

MA il mio sistema si comporta ancora in modo strano. Le autorizzazioni per il file di script adb vengono visualizzate come sopra, ma né I né Eclipse possono eseguirlo senza errori di "Autorizzazione negata". Ma per quanto posso vedere il file ha tutti i flag richiesti ( o=rwx dovrebbe essere sufficiente, giusto?). Perché non funziona?

Aggiornamento 3

OK, ho ottenuto tutto ciò che funziona sul lato Ubuntu, con le seguenti opzioni:

nls=iso8859-1,permissions,users,auto,exec

Tuttavia, quando provo ad accedere ai file nella partizione da Windows, le impostazioni di sicurezza sono tutte incasinate. Su tutti i file (di quei pochi che ho esaminato) è stato aggiunto un nuovo account chiamato Account Unknown(long GUID) alla lista degli utenti, e ha tutti i diritti. La maggior parte degli altri utenti viene ridotta in modo tale da non avere i diritti per fare cose che mi aspetto. In particolare, "Tutti" non sembra più avere diritto a "Attraversa cartella / esegue".

Questo potrebbe essere risolvibile semplicemente selezionando la partizione e consentire a Tutti di fare qualsiasi cosa nella cartella radice, e poi dirgli di farlo in modo ricorsivo, ma preferirei non averlo perché ho paura ci vorranno giorni per completare ...

    
posta Tomas Lycken 04.01.2012 - 22:50

4 risposte

24

Nella colonna delle opzioni aggiungi permissions e auto (e probabilmente user o users )

nls=iso8859-1,permissions,users,auto
  • permissions : (opzione NTFS-3G) Imposta le autorizzazioni standard sui file creati e usa il controllo di accesso standard.
  • auto : verrà montato all'avvio e da mount -a
  • user : consente a un utente ordinario di montare il filesystem
  • users : consente a ogni utente di montare e smontare il filesystem

Quindi modifica la proprietà del filesystem:

sudo chown -R thomas:thomas /media/data 

La mia linea in /etc/fstab

/dev/sda5 /media/ntfs ntfs-3g users,permissions,auto 0 0

Monta e elenca i permessi

sudo mount /media/ntfs
Using default user mapping

[email protected]:~$ ls -l /media

drwxr-xr-x 1 root root 4096 2012-01-04 17:08 ntfs

Modifica la proprietà ed elenca le nuove autorizzazioni

[email protected]:~$ sudo chown bodhi:bodhi /media/ntfs

[email protected]:~$ ls -l /media

drwxr-xr-x 1 bodhi bodhi 4096 2012-01-04 17:10 ntfs

Per impostazione predefinita, ntfs-3g monta la partizione noexec, nosuid e nodev.

  • noexec : non consentire l'esecuzione diretta di alcun file binario sul filesystem montato.
  • nosuid : non consentire l'identificazione di set-user-identifier o set-group-bit per avere effetto.
  • nodev : non interpretare caratteri o bloccare dispositivi speciali sul file system.

Per sovrascriverlo e consentire l'esecuzione di file, usa exec

/dev/sda5 /media/ntfs ntfs-3g exec,permissions,auto 0 0

Ora otteniamo

[email protected]:~$ ls -l /media/ntfs

-rwx------ 1 bodhi bodhi 28 2012-01-04 17:16 file

[email protected]:~$ /media/ntfs/file
It works
    
risposta data Panther 04.01.2012 - 22:54
2

Utilizza le opzioni uid e gid (o usa la funzione di mappatura utente) di mount.ntfs (8)

    
risposta data tumbleweed 04.01.2012 - 23:26
2

Ora il mio funziona perfettamente quando cambio la linea di fstab in

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0
    
risposta data e01 22.06.2012 - 10:06
1

Che ne dici di usare udisks ? Può facilmente montare partizioni NTFS con il tuo utente come proprietario.

Esempio (inseriscilo nella riga di comando):

/usr/bin/udisks --mount /dev/sda3

Puoi anche aggiungere quel comando alle applicazioni di avvio e verrà automaticamente montato quando esegui il login.

Riferimento: AutomaticallyMountPartitions

    
risposta data amfcosta 01.05.2012 - 03:16

Leggi altre domande sui tag