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: