penna USB FAT16 sola lettura

4 risposte [Ultimo contenuto]
Ritratto di Berico3-1
Berico3-1
(Junior)
Offline
Junior
Iscritto: 10/05/2007
Messaggi: 17

Ciao a tutti,
Ho un problema fastidioso con delle penne USB formattate FAT16:
Mi è capitato che degli amici mi passino dei file sulle loro penne, loro usano Windows e non si sono mai preoccupati di formattarle in Fat32.
Quando inserisco le su dette nella porta La mia Debian Lenny no le monta automaticamente dandomi questo messaggio:

Ma montata da linea di comando con un bel

Citazione:

sudo mount /dev/sda1 /media/DATA -t vfat -o user

      tutto va a posto o quasi, perché se volessi scrivere sul supporto, non posso dato che qualsiasi utente(compreso il root) ha permessi di sola lettura.
In oltre devo aggiungere che la mia penna formattata FAT32 si monta senza problemi.
Sapete darmi un consiglio per non sfigurare con i miei amici?
(mi dicono in continuazione di passare a Winzoz)

Ritratto di mcortese
mcortese
(Guru)
Offline
Guru
Iscritto: 27/02/2009
Messaggi: 640

Per il mancato montaggio, puoi dirci cosa c'è in /etc/fstab? Sembrerebbe che dia per scontato che la chiavetta sia formattata come NTFS. Quando poi non trova un file system NTFS valido, si blocca con l'errore riportato. Forse una riga come

/dev/sda1    /media/DATA    vfat,auto    users,noauto    0    0

potrebbe aiutare.

Invece sull'accesso in sola lettura, dovresti provare con l'opzione users invece che user. Inoltre controlla i permessi del mount point /media/DATA prima del montaggio.

Ritratto di Berico3-1
Berico3-1
(Junior)
Offline
Junior
Iscritto: 10/05/2007
Messaggi: 17

grazie mcortese per aver risposto.

In effetti in /etc/fstab ho la su citata riga, che mi serve per
montare un HD esterno all'occorrenza e in effetti utilizzando users
anziché user, c'è stato un piccolo passo avanti, ma ora la
chiavetta è accessibile in scrittura solo da root, anche cercando di
cambiare i permessi con sudo chmod -R 777 /media/DATA.

di cosa si può trattare?

Ritratto di rufus
rufus
(Monster)
Offline
Monster
Iscritto: 06/04/2005
Messaggi: 253

Citazione:

grazie mcortese per aver risposto.

In effetti in /etc/fstab ho la su citata riga, che mi serve per
montare un HD esterno all'occorrenza e in effetti utilizzando users
anziché user, c'è stato un piccolo passo avanti, ma ora la
chiavetta è accessibile in scrittura solo da root, anche cercando di
cambiare i permessi con sudo chmod -R 777 /media/DATA.

di cosa si può trattare?


 Ciao prova così:

/dev/sda1    /media/DATA    vfat,auto    rw,users,noauto    0    0
Ritratto di mcortese
mcortese
(Guru)
Offline
Guru
Iscritto: 27/02/2009
Messaggi: 640

Innanzitutto potresti postare il contenuto di /etc/mtab, /etc/fstab e l'output di ls -ld /media/DATA, sia prima che dopo il mount. Così, tanto per vedere se è tutto a posto.

Però qualcosa possiamo dirla già da ora.

Il file system FAT non gestisce i permessi UNIX e comunque gli id utente di un supporto removibile potrebbero non corrispondere a quelli del tuo sistema (quelli registrati in /etc/passwd). Quindi mount simula i permessi classici aggiungendo virtualmente un proprietario e un gruppo e applicando una maschera predefinita di permessi ad ogni file e directory che trova. Per questo mount accetta opzioni speciali per i file system FAT. Direttamente dalla pagina man:

uid=value and gid=value
Set the owner and group of all files. (Default: the uid and gid of the current process.)
umask=value
Set the umask (the bitmask of the permissions that are not present). The default is the umask of the current process. The value is given in octal.

Quello che penso sia successo a te, è che hai montato la chiavetta da root. Secondo il manuale, mount ha assunto uid 0, gid 0 e umask pari a quella di root, probabilmente 002 (o 022, non cambia molto). Questo vuol dire che tutti i file sulla chiavetta, che "nativamente" non hanno proprietario e gruppo, vengono "tradotti" come appartenenti a root.root e dotati di permessi confezionati a partire dagli attributi FAT (credo consideri solo quello di sola lettura) "meno" la umask: nel tuo caso l'ultimo 2 della umask dice di togliere il permesso di scrittura a non-proprietari.

Se tutto questo ti sembra oltremodo complesso, ricorda che la filosofia di base di Linux è quella classica di UNIX, cioè di una workstation con più utenti loggati da remoto, con delle "barriere" per impedire che questi utenti accedano alle risorse l'uno dell'altro (certo, per godere del potere evocativo di questa immagine dovresti anche pensare che il supporto removibile sia un nastro, non una chiavetta USB!).

La soluzione? La migliore è montare la chiavetta come utente. D'altra parte è proprio a questo che serve l'opzione users in /etc/fstab. In questo modo chi monta la chiavetta ha tutti i diritti, gli altri no.

Ci sono molte altre soluzioni, dosando sapientemente uid, gid e umask. Ad esempio con questa riga in /etc/fstab:

/dev/sda1  /media/DATA  vfat,auto  users,noauto,gid=floppy,umask=002  0  0

permetti la scrittura a tutti gli utenti appartenenti al gruppo floppy, indipendentemente da chi monta la chiavetta. Poi decidi tu chi assegnare al gruppo floppy (d'altra parte le chiavette USB non sono i floppy dei giorni nostri?)