# [SOLVED] [NTFS-3G] i [Udev] - /media uprawnienia

## soban_

Mam nastepujacy problem, mianowicie chcialbym zamontowac dysk C: D: i E: z windowsa w nastepujacy sposob:

/mnt/C - (/dev/sda1) - uprawnienia do odczytu i zapisu ma tylko jeden uzytkownik (soban),

/mnt/D - (/dev/sda2) - uprawnienia do zapisu i odczytu ma jeden uzytkownik (soban), reszta ma prawda do odczytu,

/mnt/E - (/dev/sda4) - (tak samo jak D).

Uprawnienia do folderu moge zmienic przy pomocy chmod, jednak gdy uzywam ntfs-3g *(montuje wyzej wspomniane partycje) to automatycznie uprawnienia sie zmieniaja - wszyscy uzytkownicy dostaja wszelkie mozliwe uprawnienia.

Googlujac wpadlem na cos takiego, ze niby w fstabie dodajac umask=0022 - mozemy ustawic odpowiednie uprawnienia. Jednak cos mi to nie trybi.

Tutaj znajduje sie moj aktualny konfig. A i jeszcze jedno, chcialbym takie same uprawnienia ustawic dla /media jak w przypadku D i E. Wyglada to tak:

```
soban@SoBaN-PC ~ $ ls /media/ -all

razem 52

drwxr-xr-x  8 soban soban    4096 01-18 19:40 .

drwxr-xr-x 24 root  root     4096 01-10 02:49 ..

-rw-r--r--  1 soban soban       0 01-18 19:40 .hal-mtab

-rw-r--r--  1 soban soban       0 01-06 02:52 .keep_sys-apps_hal-0

-rw-r--r--  1 soban soban       0 12-08 11:02 .keep_sys-fs_udisks-0

drwxrwx---  1 root  plugdev  8192 01-18 19:59 sdb1

drwxrwx---  1 root  plugdev 12288 01-18 19:55 sdb2

drwxrwx---  1 root  plugdev 12288 01-16 02:01 sdb3

drwxr-xr-x  2 soban soban    4096 08-09 10:47 sdc1

drwxr-xr-x  2 soban soban    4096 08-09 10:46 sdc2

drwxr-xr-x  2 soban soban    4096 08-09 10:46 sdc3
```

//edit

Na okretke z dyskami bym wiedzial juz jak obejsc problem, bo:

```
root@SoBaN-PC /home/soban # ntfs-3g -o rw,gid=users,umask=0022 /dev/sda2 /mnt/D
```

Montuje juz dysk tak:

```
soban@SoBaN-PC /mnt $ ls -all | grep D

drwxr-xr-x  1 root  root  36864 01-18 19:31 D
```

I moglbym w sumie reszte folderow zamontowac w swoim katalogu - tyle ze z mozliwoscia zapisu. Tak to wyglada w fstabie:

 *Quote:*   

> /dev/sda1               /mnt/C          ntfs-3g         user,umask=0222,locale=pl_PL.UTF-8    	0 0

 

Jednak nie jest to rozwiazanie problemu, no i nie wiem jak to zrobic z /media. Tak, aby plugdev dawal tylko uzytkownikowi (soban) mozliwosc zapisu, zas reszta tylko do odczytu. Ewentualnie - zebym mogl wybrac kto jeszcze bedzie mial mozliwosc zapisu.

----------

## boo

Niestety nie mam w tej chwili działającego gentoo, więc nie sprawdzę czy działa, ale znalazłem:

http://wiki.archlinux.pl/Udev

Jest tam przykładowy plik konfiguracyjny dotyczący ntfs-3g i udev. W gentoo potrzebny plik siedzi (chyba) gdzieś w /lib/udev/rules.d/ , trzeba go znaleźć i przekopiować do /etc/udev/rules.d/ i tam się bawić (gid, umask...). 

Próbowałeś grupę ustawić na soban?

Co się dzieje, jeśli wpiszesz "mount /mnt/C"?

Wtedy powinno zamontować się z ustawieniami z fstab-a.

----------

## soban_

Z tym Udev zaraz zabieram sie za czytanie - tak ze dzieki, zas jesli chodzi o mount to:

```
root@SoBaN-PC /home/soban # ls /mnt/ -all

razem 88

drwxr-xr-x 10 root  root   4096 01-18 18:08 .

drwxr-xr-x 24 root  root   4096 01-10 02:49 ..

drwxr-xr-x  2 soban soban  4096 01-18 18:08 C

drwxr-xr-x  2 soban soban  4096 2009-11-26  cdrom

drwxr-xr-x  1 root  root  36864 01-18 19:31 D

drwxr-xr-x  1 root  root  20480 01-18 18:27 E

drwxr-xr-x  2 root  root   4096 2009-11-26  floppy

drwxr-xr-x  2 root  root   4096 01-10 09:06 ftp

drwxr-xr-x  2 root  root   4096 2009-12-03  I

-rwxr-xr-x  1 root  root      0 2009-11-26  .keep

drwxr-xr-x  2 root  root   4096 01-18 16:25 sshfs

root@SoBaN-PC /home/soban # mount /mnt/C

root@SoBaN-PC /home/soban # ls /mnt/ -all

razem 92

drwxr-xr-x 10 root  root   4096 01-18 18:08 .

drwxr-xr-x 24 root  root   4096 01-10 02:49 ..

drw-r-xr-x  1 root  root   8192 01-18 19:38 C

drwxr-xr-x  2 soban soban  4096 2009-11-26  cdrom

drwxr-xr-x  1 root  root  36864 01-18 19:31 D

drwxr-xr-x  1 root  root  20480 01-18 18:27 E

drwxr-xr-x  2 root  root   4096 2009-11-26  floppy

drwxr-xr-x  2 root  root   4096 01-10 09:06 ftp

drwxr-xr-x  2 root  root   4096 2009-12-03  I

-rwxr-xr-x  1 root  root      0 2009-11-26  .keep

drwxr-xr-x  2 root  root   4096 01-18 16:25 sshfs

root@SoBaN-PC /home/soban # cat /etc/fstab | grep C

/dev/sda1               /mnt/C          ntfs-3g         user,umask=0122,locale=pl_PL.UTF-8       0 0

```

 OK, sprawa zrobiona w przypadku C, D i E:

```
root@SoBaN-PC /mnt # ls -all | grep soban

drwxrwx---  1 soban soban  8192 01-18 21:32 C

drwxr-xr-x  2 soban soban  4096 2009-11-26  cdrom

drwxrwxr-x  1 soban soban 36864 01-18 21:32 D

drwxrwxr-x  1 soban soban 20480 01-18 21:32 E

root@SoBaN-PC /mnt # cat /etc/fstab | grep soban

/dev/sda1               /mnt/C          ntfs-3g         user,gid=soban,uid=soban,umask=0007,locale=pl_PL.UTF-8     0 0

/dev/sda2               /mnt/D          ntfs-3g         user,gid=soban,uid=soban,umask=0002,locale=pl_PL.UTF-8     0 0

/dev/sda4               /mnt/E          ntfs-3g         user,gid=soban,uid=soban,umask=0002,locale=pl_PL.UTF-8     0 0

```

----------

## boo

Jakbyś znalazł plik odpowiadający za montowanie hdd to dodanie czegoś takiego:

początek

```
# start at sdb to ignore the system hard drive

KERNEL!="sd[a-z]*", GOTO="my_media_automount_end"

```

koniec

```

# exit

LABEL="my_media_automount_end"

```

powinno załatwić sprawę (nie można by było montować żadnych dysków twardych).

----------

## soban_

Wiesz nie chodzi o mozliwosc montowania, co mozliwosc zapisu. Chcialbym tylko ja miec taka mozliwosc, ewentualnie udostepnic komus taka mozliwosc do konkretnego dysku. Cala reszta uzytkownikow powinna miec mozliwosc odczytu.

----------

## boo

Nie obiecuję, że działa /etc/udev/rules.d/10-my-media-automount.rules :

```

# vim:enc=utf-8:nu:ai:si:et:ts=4:sw=4:ft=udevrules:

#

# /etc/udev/rules.d/10-my-media-automount.rules

# http://wiki.archlinux.pl/Udev

#przepuszczamy tylko sda1, sda2, sda4 (brzydko, lepiej by było po UUID jakoś zrobić)

KERNEL!="sda1|sda2|sda4", GOTO="my_media_automount_end"

ACTION=="add", PROGRAM!="/sbin/blkid %N", GOTO="my_media_automount_end"

# import some useful filesystem info as variables

IMPORT{program}="/sbin/blkid -o udev -p %N"

# get the label if present, otherwise assign one based on device/partition

ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"

ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# create the dir in /media and symlink it to /mnt

ACTION=="add", RUN+="/bin/mkdir -p '/media/%E{dir_name}'"

# opcje montowania dla sda1

ACTION=="add", KERNEL=="sda1", ENV{mount_options}="$env{mount_options},user,gid=soban,uid=soban,umask=0007,locale=pl_PL.UTF-8"

# opcje montowania dla sda2 i sda4

ACTION=="add", KERNEL=="sda2|sda4", ENV{mount_options}="$env{mount_options},user,gid=soban,uid=soban,umask=0002,locale=pl_PL.UTF-8"

# automount ntfs filesystems using ntfs-3g driver

ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/mount -t ntfs-3g -o %E{mount_options} /dev/%k '/media/%E{dir_name}'"

# clean up after device removal

ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l '/media/%E{dir_name}'", RUN+="/bin/rmdir '/media/%E{dir_name}'"

# exit

LABEL="my_media_automount_end"

```

Last edited by boo on Tue Jan 18, 2011 10:12 pm; edited 1 time in total

----------

## soban_

Super, wszystko dziala tak jak chcialem. Wielkie dzieki @boo za pomoc.

----------

