# ntfs3g

## flammenflitzer

Hallo

Ich habe Probleme beim Zugriff auf ntfs-Partitionen mit der Kombination gentoo-sources-2.6.24-r3 + fuse-2.7.2 + ntfs3g(alle Versionen) Das System hängt sich auf. Habe im Log nichts gefunden. gentoo-sources-2.6.23-r3 + fuse-2.7.2 + ntfs3g(alle Versionen) funktioniert. Vielleicht liegt das an fuse. Die neueste Version ist ja nicht in Portage. Hat jemand diese Kombination gentoo-sources-2.6.24-r3 + fuse-2.7.2 + ntfs3g-1.2412 ohne Probleme in Nutzung? (Ich nutze z.Z. wieder gentoo-sources-2.6.23-r3 ohne Probleme.)

MfG

----------

## Necoro

 *Fuse-2.7.3 Release Notes wrote:*   

> A bug in the fuse kernel module is fixed which could cause
> 
> a hang under linux-2.6.24.  This bug only affects the fuse
> 
> kernel module built from this package, the module in the
> ...

 

 :Arrow:  installier das Modul im Kernel und stelle sicher, das nicht das externe geladen wird

----------

## flammenflitzer

Ich kompillere also den kernel mit fuse als modul neu, installiere fuse, ignoriere die Fehlermeldung, daß das kernelmodul schon vorhanden ist und starte 

```
fuse |      default
```

 normal?

----------

## Necoro

 *flammenflitzer wrote:*   

> Ich kompillere also den kernel mit fuse als modul neu, installiere fuse, ignoriere die Fehlermeldung, daß das kernelmodul schon vorhanden ist und starte 
> 
> ```
> fuse |      default
> ```
> ...

 

Genau  :Smile: 

und ich sehe das auch nicht so als "Fehlermeldung", sondern als "info"  :Smile: 

btw: das /etc/init.d/fuse starten ist noch nicht mal nötig  :Wink: 

/edit: Ok - mit in-kernel-modul haut es hier hin

```
[ebuild   R   ] sys-kernel/tuxonice-sources-2.6.24-r4  USE="-build -symlink" 0 kB 

[ebuild   R   ] sys-fs/ntfs3g-1.2310  USE="-debug -suid" 0 kB 

[ebuild   R   ] sys-fs/fuse-2.7.2  0 kB 
```

----------

## musv

Gleich mal noch 'ne Ergänzungsfrage zu ntfs3g. 

Wie kriegt man es hin, daß mount per default auf ntfs3g statt auf den Kernel-ntfs-Treiber zurückgreift? Wenn ich bis jetzt 'ne Ntfs-Partition mounten will, krieg ich 'ne Fehlermeldung, daß keine ntfs-Unterstützung vorhanden ist. Hat ja auch recht, weil ich den ntfs-Treiber im Kernel deaktivert hab.

----------

## AmonAmarth

 *musv wrote:*   

> Gleich mal noch 'ne Ergänzungsfrage zu ntfs3g. 
> 
> Wie kriegt man es hin, daß mount per default auf ntfs3g statt auf den Kernel-ntfs-Treiber zurückgreift? Wenn ich bis jetzt 'ne Ntfs-Partition mounten will, krieg ich 'ne Fehlermeldung, daß keine ntfs-Unterstützung vorhanden ist. Hat ja auch recht, weil ich den ntfs-Treiber im Kernel deaktivert hab.

 

dirty hack?

```
# ln -s /usr/bin/ntfs-3g /sbin/mount.ntfs
```

quelle: http://gentoo-wiki.com/HOWTO_NTFS_write_with_ntfs-3g#Use_ntfs-3g_instead_of_kernel.27s_read-only_ntfs_driver_for_AutoMounting

dort gibts auch noch mehr infos.

mfg

----------

## flammenflitzer

Das funktioniert aber mit der neuen Version nicht mehr so schön. Bis zur vorletzten Version habe ich das so gemacht. Ich hatte alle ntfs Partitionen aus der fstab entfernt und konnte mit kde 3.5.9 die Medien im Konqueror -> Speichermedien automatisch mit Schreibzugriff einbinden. Für die letzte Version von ntfs-3g brauche ich wieder die Einträge in der fstab. mittlerweile funktioniert nicht einmal mehr

```
/dev/sdb1  /mnt/Samsung-1             ntfs-3g noauto,users,uid=1000,gid=1000,nls=utf8 0 0
```

```
drwxrwxrwx  2 olaf users  4096 13. Mär 10:40 Samsung-1
```

----------

## firefly

definiere neue Version (stable in Portage oder wirklich die neuste Version)

----------

## ph03n1x

Also ich weiss nicht, was ihr da macht...

Fuse: Hab ich nicht explizit installiert, im kernel aktiviert, deinstallieren

ntfs: Im Kernel den Treiber rausnehmen, brauchst du ja nicht, da du das ntfs3g modul benutzen willst

ntfs3g: emergen

Klappt super und automounted mir auch gleich alle ntfs laufwerke bereits mit meinen standardsettings in gnome. Bin echt überrascht, wie gut die ntfs treiber geworden sind. Bis jetzt sehr schnell und zuverlässig, vor 2 Jahren war das noch nicht der Fall...

Klappte bei mir für:

- gentoo-sources-2.6.24-r4

- gentoo-sources-2.6.25-r1

----------

## flammenflitzer

Welche ntfs3g Version?

----------

## firefly

 *flammenflitzer wrote:*   

> Welche ntfs3g Version?

 

meine Frage überlesen?

----------

## flammenflitzer

Bei mir 

```
sys-fs/ntfs3g-1.2412  USE="-debug suid"
```

----------

## firefly

was sagt ntfs-3g wenn du die ntfs-partition direkt mit ntfs-3g mounten möchtest?

```
ntfs-3g /dev/sdb1 "/mnt/Samsung-1"
```

----------

## maggu2810

Man kann sich auch einfach eine hal policy erstellen, um zu sagen, dass für ntfs ntfs-3g verwendet werden soll.

So spart man sich den Link (mount.ntfs -> mount.ntfs-3g)

Auszug:

```
      <match key="volume.fstype" string="ntfs">

        <merge key="volume.fstype" type="string">ntfs-3g</merge>

        <merge key="volume.policy.mount_filesystem" type="string">ntfs-3g</merge>

```

----------

## flammenflitzer

 *firefly wrote:*   

> was sagt ntfs-3g wenn du die ntfs-partition direkt mit ntfs-3g mounten möchtest?
> 
> ```
> ntfs-3g /dev/sdb1 "/mnt/Samsung-1"
> ```
> ...

 

Link mount.ntfs -> mount.ntfs-3g

----------

## firefly

 *flammenflitzer wrote:*   

>  *firefly wrote:*   was sagt ntfs-3g wenn du die ntfs-partition direkt mit ntfs-3g mounten möchtest?
> 
> ```
> ntfs-3g /dev/sdb1 "/mnt/Samsung-1"
> ```
> ...

 

??

ich wollte das du die partition direkt mit ntfs-3g mountest anstelle mit mount.

----------

## flammenflitzer

als root wird sie eingebunden. Als user

```
olaf@localhost ~ $ ntfs-3g /dev/sdb1 "/mnt/Samsung-1"

Error opening '/dev/sdb1': Keine Berechtigung

Failed to mount '/dev/sdb1': Keine Berechtigung

Please check '/dev/sdb1' and the ntfs-3g binary permissions,

and the mounting user ID. More explanation is provided at

http://ntfs-3g.org/support.html#unprivileged
```

Bin ein bißchen unaufmerksam. Steige gerade von kde 3 auf kde 4 um.

MfG

----------

## maggu2810

In der Meldung steht ja schon der Link, der alles erklären sollte: http://ntfs-3g.org/support.html#unprivileged

Oder?

Du kannst beispielsweise einfach ntfs3g mit USE-Flag "suid" übersetzen.

----------

## firefly

 *flammenflitzer wrote:*   

> als root wird sie eingebunden. Als user
> 
> ```
> olaf@localhost ~ $ ntfs-3g /dev/sdb1 "/mnt/Samsung-1"
> 
> ...

 

was sagt

```
ls -l /dev/sdb*
```

ich vermute die rechte stehen auf 640 und root:disk

die Device-node für die NTFS partition muss leider die Rechte 660 haben sprich die Gruppe darf auch darauf schreibend zugreifen.

----------

## flammenflitzer

```
olaf@localhost ~ $ ls -l /dev/sdb*

brw-r----- 1 root disk 8, 16 27. Apr 17:09 /dev/sdb

brw-r----- 1 root disk 8, 17 27. Apr 17:09 /dev/sdb1

brw-r----- 1 root disk 8, 26 27. Apr 17:09 /dev/sdb10

brw-r----- 1 root disk 8, 27 27. Apr 17:09 /dev/sdb11

brw-r----- 1 root disk 8, 18 27. Apr 17:09 /dev/sdb2

brw-r----- 1 root disk 8, 21 27. Apr 17:09 /dev/sdb5

brw-r----- 1 root disk 8, 22 27. Apr 17:09 /dev/sdb6

brw-r----- 1 root disk 8, 23 27. Apr 17:09 /dev/sdb7

brw-r----- 1 root disk 8, 24 27. Apr 15:21 /dev/sdb8

brw-r----- 1 root disk 8, 25 27. Apr 16:42 /dev/sdb9
```

Das müsste ich wohl irgendwo in den udev-rules ändern?

----------

## maggu2810

Davon würde ich sehr abraten

----------

## firefly

und wie soll es man sonst machen, wenn man ntfs-3g als user verwenden möchte?

----------

## flammenflitzer

Bin offen für Vorschläge. 

Weiß jemand auf Anhieb, wo ich das einfügen muß? Sonst bleibt bloß das erstellen neuer Regeln oder stundenlanges recherchieren.

----------

## firefly

ich habe hier eine generelle udev-Regel, welche für alle ntfs-partitionen gilt, solange diese als /dev/sd* auftauchen.

 *76-ntfs.rules wrote:*   

> # change mode to 0660 for ntfs-partition so mounting via ntfs-3g works
> 
> KERNEL=="sd*" , ENV{ID_FS_TYPE}=="ntfs", MODE="0660"

 

Aber Achtung: Dadurch wird dem Benutzer ermöglicht direkt auf das device zu schreiben. Ein Schadprogram könnte dadurch diese Partition zerstören

----------

## maggu2810

 *maggu2810 wrote:*   

> In der Meldung steht ja schon der Link, der alles erklären sollte: http://ntfs-3g.org/support.html#unprivileged
> 
> Oder?
> 
> Du kannst beispielsweise einfach ntfs3g mit USE-Flag "suid" übersetzen.

 

 *firefly wrote:*   

> und wie soll es man sonst machen, wenn man ntfs-3g als user verwenden möchte?

 

Siehe oben

----------

## flammenflitzer

Habe ntfs3g mit USE-Flag "suid" übersetzt.

----------

## firefly

 *maggu2810 wrote:*   

>  *maggu2810 wrote:*   In der Meldung steht ja schon der Link, der alles erklären sollte: http://ntfs-3g.org/support.html#unprivileged
> 
> Oder?
> 
> Du kannst beispielsweise einfach ntfs3g mit USE-Flag "suid" übersetzen. 
> ...

 

tja nur das dies leider nicht mehr ausreicht mit der neusten Version. Seit der Version 1.2310 werden die root-rechte trotz suid recht früh wieder fallen gelassen. Bis zur Version 1.2412 geschah dies zu früh womit ein Benutzer überhaupt nicht mehr ntfs partitionen mit ntfs-3g einhängen konnte. Ab der neusten Version funktioniert es zu mindestens wieder wenn der Benutzer in der selben Gruppe ist, wie bei der Device-node angegeben. Aber dafür muss die Gruppe Schreibrechte besitzen.

----------

## maggu2810

Oh, das ist mir jetzt aber peinlich!

Zumindest mit der hal policy funktioniert es, wenn man dann sowas wie das KDE Frontend drauf los lässt, weil hal selber ja wiederum mit root Rechten arbeitet.

Deiner Regel sollte man vielleicht noch hinzufügen, dass diese Devices einer anderen Gruppe (z.B. ntfs) zugeschrieben werden, wodurch ein Benutzer der in dieser Gruppe ist, auch nur auf diese Gerätedateien Schreibzugriff hat.

----------

## firefly

Das mit der Gruppe wäre etwas besser:

 *76-ntfs.rules wrote:*   

> # change mode to 0660 for ntfs-partition so mounting via ntfs-3g works
> 
> KERNEL=="sd*" , ENV{ID_FS_TYPE}=="ntfs", MODE="0660", GROUP="ntfs"

 

aber das mit hal+kde funktioniert bei mir nicht, eventuell passt was mit der hal-policy nicht:

 */etc/hal/fdi/policy/10-ntfs-policy.fdi wrote:*   

> <?xml version="1.0" encoding="UTF-8"?>
> 
> <deviceinfo version="0.2">
> 
>    <device>
> ...

 

----------

## maggu2810

Der untere Teil der policy ist wegen DVD-RAM, brauchst du also nicht.

HAL muss danach neu gestartet werden (und zum Beenden von HAL muss wohl mitlerweile auch X beendet werden, wenn ich mich recht entsinne).

```
cat /etc/hal/fdi/policy/20-storage-methods.fdi
```

```
<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">

  <device>

    <match key="volume.fsusage" string="filesystem">

      <!-- allow these mount options for ntfs -->

      <match key="volume.fstype" string="ntfs">

        <merge key="volume.fstype" type="string">ntfs-3g</merge>

        <merge key="volume.policy.mount_filesystem" type="string">ntfs-3g</merge>

        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">

          <append key="volume.mount.valid_options" type="strlist">uid=</append>

          <append key="volume.mount.valid_options" type="strlist">gid=</append>

          <append key="volume.mount.valid_options" type="strlist">dmask=</append>

          <append key="volume.mount.valid_options" type="strlist">fmask=</append>

          <append key="volume.mount.valid_options" type="strlist">umask=</append>

          <append key="volume.mount.valid_options" type="strlist">locale=</append>

          <append key="volume.mount.valid_options" type="strlist">utf8</append>

          <append key="volume.mount.valid_options" type="strlist">force</append>

        </match>

        <!-- I never used FreeBSD, so i removed the next lines (e.g. all the volume.mount.valid_options) . -->

        <!--

        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD">

         ...

        </match>

        -->

      </match>

        <!-- workaround: my dvd-ram with udf filesystem was detected as ext2 -->

        <!-- I am using now the label (setted with tune2fs - the next time i should do

               that by creation and mkudffs) -->

        <!-- <match key="volume.uuid" string="6a8c181c-bc67-4082-8606-c5aff8528bdd">

          <merge key="volume.fstype" type="string">udf</merge>

        </match>

        -->

        <match key="volume.label" string="DVD-RAM_-_UDF">

          <merge key="volume.fstype" type="string">udf</merge>

        </match> -->

    </match>

  </device>

</deviceinfo>
```

----------

