Pagina 1 di 2

Problema ntfs-3g

Inviato: mar 28 ago 2007, 18:43
da anycolouryoulike
Se cerco di montare un disco esterno USB con ntfs-3g da utente mi da questo errore:

Codice: Seleziona tutto

Error opening partition device: Permission denied
Failed to mount '/dev/sdb1': Permission denied
Da root invece lo monta senza problemi. Come posso risolvere?

Inviato: mar 28 ago 2007, 19:45
da Night_Watch
Ma quando monti gli altri dispositivi da utente funziona??

E nel caso la risposta è si: che file system usi sui dispositivi montati??

Non credo sia un problema di file system.

Inviato: mar 28 ago 2007, 19:56
da anycolouryoulike
Questo è l'fstab e mi sembra apposto:

Codice: Seleziona tutto

/dev/sda5        swap             swap        defaults         0   0
/dev/sda6        /                ext3        defaults         1   1
/dev/sda7        /usr             ext3        defaults         1   2
/dev/sda8        /home            ext3        defaults         1   2
/dev/sdb1        /media/sdb1      ntfs-3g     noauto,user,rw   0   0
/dev/hde         /media/hde       iso9660     noauto,user      0   0
/dev/hdf         /media/hdf       iso9660     noauto,user,ro   0   0
/dev/fd0         /media/fd0       auto        noauto,user      0   0
devpts           /dev/pts         devpts      gid=5,mode=620   0   0
proc             /proc            proc        defaults         0   0
tmpfs            /dev/shm         tmpfs       defaults         0   0
Gli altri dispositivi li monto tranquillamente da utente, e hanno filesystem iso9660.

Inviato: mar 28 ago 2007, 20:18
da Night_Watch
Il problema potrebbe essere che devi mettere nell'fstab users al posto di user.

Prova a modificare e vedi cosa succede.

Inviato: mar 28 ago 2007, 20:31
da anycolouryoulike
Niente sempre lo stesso errore.
La differenza tra user e users è che con user un dispositivo può essere smontato solo da chi lo ha montato mentre con users un dispositivo può essere smontato anche da chi non lo ha montato.

Inviato: mar 28 ago 2007, 21:06
da Night_Watch
Forse ho trovato la soluzione.

Direttamente dalle questions di NTFS-3G support:
If the ntfs-3g binary is set setuid-root then non-root users will be also able to mount block devices or via /etc/fstab if the 'user' or 'users' option is specified.
http://www.ntfs-3g.org/support.html#useroption

Devi settare il bit di suid al binario di ntfs-3g.

Inviato: mar 28 ago 2007, 21:14
da DaD
Prova ad inserire l'atttributo umask=027 più l'uid e il gid del tuo user.
Alla fine modificandolo dovrebbe essere così, o almeno simile a questo.

Codice: Seleziona tutto

/dev/sdb1        /media/sdb1      ntfs-3g     noauto,user,rw,uid=500,gid=100,umask=027   0   0

Inviato: mar 28 ago 2007, 21:23
da anycolouryoulike
Night_Watch ha scritto:Forse ho trovato la soluzione.

Direttamente dalle questions di NTFS-3G support:
If the ntfs-3g binary is set setuid-root then non-root users will be also able to mount block devices or via /etc/fstab if the 'user' or 'users' option is specified.
http://www.ntfs-3g.org/support.html#useroption

Devi settare il bit di suid al binario di ntfs-3g.
Scusa l'ignoranza, ma mi puoi spiegare meglio? Cos'è il suid?
DaD ha scritto:Prova ad inserire l'atttributo umask=027 più l'uid e il gid del tuo user.
Alla fine modificandolo dovrebbe essere così, o almeno simile a questo.

Codice: Seleziona tutto

/dev/sdb1        /media/sdb1      ntfs-3g     noauto,user,rw,uid=500,gid=100,umask=027   0   0
Perchè? Non capisco... questo influisce sui permessi una volta montato non sul montaggio giusto?

Inviato: mar 28 ago 2007, 21:36
da Night_Watch
anycolouryoulike ha scritto:Scusa l'ignoranza
Non devi scusarti. Qui non ci sono ignoranti o geni..........c'è solo gente che ha voglia di imparare e fare crescere Linux.

Detto questo.

Settando il bit di suid ad un binario (eseguibile per capirci) quel binario può essere eseguito da tutti gli utenti. In pratica tutti gli utenti hanno i permessi per eseguirlo.

Vai qui per gli approfondimenti:

http://it.wikipedia.org/wiki/Setuid
http://www.lilik.it/~mirko/gapil/gapilsu44.html

Inviato: mar 28 ago 2007, 21:39
da anycolouryoulike
Questo lo sapevo, ti sei espresso con termini troppo tecnici...
Quindi praticamente devo fare

Codice: Seleziona tutto

chmod +x /bin/ntfs-3g
Giusto?

Inviato: mar 28 ago 2007, 21:41
da anycolouryoulike
Se è questo non c'è n'è bisogno:

Codice: Seleziona tutto

root@darkstar:/bin# ls -l ntfs-3g
-rwxr-xr-x 1 root root 36676 2007-08-26 09:12 ntfs-3g

Inviato: mar 28 ago 2007, 22:10
da anycolouryoulike
Ok, ho letto S4d e ho capito!

Codice: Seleziona tutto

root@darkstar:/# chmod u+s /bin/ntfs-3g
root@darkstar:/# ls -l /bin/ntfs-3g
-rwsr-xr-x 1 root root 36676 2007-08-26 09:12 ntfs-3g
E così va di lusso!
Grazie mille Night_Watch!
Together we stand, divided we fall :D
:mille:

Inviato: mar 28 ago 2007, 22:21
da Night_Watch
Together we stand, divided we fall ;)

Per concludere per chi non lo sapesse: per impostare il bit di suid ad un binario il comando è:

chmod +s nome_binario

per togliere il bit di suid:

chmod -s nome_binario

Ciao a tutti.

Inviato: mar 28 ago 2007, 22:24
da anycolouryoulike
PS: c'è un modo per eliminare questo ridicolo errore?

Codice: Seleziona tutto

Il dispositivo è stato smontato con successo, ma non è stato possibile espellerlo

Inviato: mar 28 ago 2007, 22:43
da Night_Watch
Questo è un errore ridicolo di KDE. Ridicolo come giustamente dici tu perchè come farebbe il sistema operativo ad espellere un dispositivo USB??

Leggendo qualcosa in giro pare che aggiornando udev questo errore non esca più.