[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ntfs-3g и монтирование непривилегированным пользователем



Artem Chuprina <ran@ran.pp.ru> writes:

> Dmitrii Kashin -> debian-russian@lists.debian.org  @ Sun, 09 Sep 2012 18:10:51 +0400:
>
>  >>>> Я подозреваю, что вариант с sudo окажется более безопасным, чем suid на
>  >>>> mount.ntfs-3g, потому что самозащиту оного хелпера проверяли куда
>  >>>> меньше, чем самозащиту mount и sudo.  Я, в частности, сильно сомневаюсь,
>  >>>> что он вообще умеет смотреть в fstab.
>  >>
>  >>> Я думаю, что Вы, конечно, правы, но мне видится странным, что vfat я
>  >>> могу дать пользователю разрешение монтировать, просто подправив
>  >>> /etc/fstab и указав в соответствующем месте опцию user, а для
>  >>> монтирования флешки с ntfs мне приходится прибегать к ухищрениям с sudo.
>  >>
>  >> Файловая система vfat обрабатывается модулем ядра.
>  >> Файловая система ntfs-3g обрабатывается fuse, не имеющем особого
>  >> отношения к ядру.
>  >> Потому и ухищрения с добавлением пользователей в группу fuse.
>
>  DK> Ну да, это так. Вот только разработчики ntfs-3g прямым текстом говорят,
>  DK> что опции user и users в /etc/fstab не работают, потому что mount
>  DK> вызывает ntfs-3g с пониженными привилегиями, считают это проблемой
>  DK> mount, а не ntfs-3g, и рекомендуют именно suid.
>
> Скажем так, я, в отличие от них, не считаю это _проблемой_ mount.  mount
> прав, imho.
>
> И я, в отличие от авторов ntfs-3g, не считаю suid правильным подходом по
> вышеотквоченной причине, которую, если надо, могу расписать подробнее.

Я, пожалуй, попрошу Вас объяснить подробнее. В чем принципиальное
отличие делегирования прав процессу ntfs-3g через suid-бит и через sudo?

Вот как, например, это работает у меня сейчас:
--------------------
$ whoami
freehck
$ groups
freehck floppy sudo audio users fuse
$ ls -l `which ntfs-3g`
-rwsr-x--- 1 root fuse 141112 Сен  9 13:48 /bin/ntfs-3g
$ ls -l /dev/sdc1
brw-rw---T 1 root floppy 8, 33 Сен 10 15:03 /dev/sdc1
$ grep flash /etc/fstab
/dev/sdc1            /mnt/flash ntfs-3g
noauto,rw,users,gid=users,fmask=0117,dmask=0002         0       0
$ mount /mnt/flash/
$ echo $?
0
$ umount /mnt/flash/
$ echo $?
0
--------------------

Таким образом, монтировать ntfs-3g имеют право только пользователи
группы fuse. А монтировать они, разумеется, имеют право только те
устройства, на которые они обладают правом записи.

То есть у меня, равно, как и в случае с sudo, правом монтирования
обладает группа пользователей, которым такая возможность была
предоставлена администратором. Плюс еще они ограничены списком групп тех
устройств, которые им надо монтировать. И мне видится такое ограничение
достаточным.

Однако и в случае с suid-битом, и в случае c sudo, ntfs-3g работает с
правами root. Так в чем же разница? Почему sudo как решение проблемы
по-вашему лучше, чем suid?

-- 
**************************************
*  jabber:  freehck@jabber.mipt.ru   *
*   Registered linux user #546240    *
**************************************


Reply to: