Bug 27117 - [FR] control fusermount default по группе fuse
Summary: [FR] control fusermount default по группе fuse
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: fuse (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Michael Shigorin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-25 10:40 MSK by Ivan A. Melnikov
Modified: 2012-05-10 13:44 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan A. Melnikov 2012-03-25 10:40:06 MSK
Сейчас чтобы пользователь мог монтировать использующие fuse файловые системы нужно, чтобы администратор

1. при помощи control(8) разрешил использование fusermount;
2. добавил этого пользователя в группу fuse (по умолчанию в неё вроде бы никто не входит).

Второе необходимо, так как

$ ls -l /dev/fuse
crw-rw---- 1 root fuse 10, 229 Мар 25 09:58 /dev/fuse

Раз группа fuse уже есть, предлагаю:

- создать вариант установки constrol fusermount, в котором /usr/bin/fusermount получит права -rws--x---, владельца естественно root, и группу fuse
- использовать этот вариант по умолчанию.
Comment 1 Michael Shigorin 2012-03-25 13:37:07 MSK
Режим добавил в 2.8.7-alt2 (который этот баг не closes):
+new_fmode fuseonly 4710 root fuse
+new_help fuseonly "Only \"fuse\" group members can execute $BINARY"

По умолчанию его пока ставить не стал -- тогда и права на бинарь надо ставить в пакете с добавлением SUID root, чего бы не хотелось (но в чём суть просьбы).

Прошу ldv@ и релиз-менеджеров подумать и отозваться.  Мне предложенный вариант кажется достаточно разумным именно в силу того, что без группы fuse бинарник будет всё так же не опасен, а для её участников заработают сразу все звенья.

В сизиф отправлен работающий у меня task #67780 (2.8.7-alt1), для проверки заброшен тестовый (и тоже проверенный) task #67781 с 2.8.7-alt2.
Comment 2 Radik Usupov 2012-03-25 21:31:26 MSK
Мне эта фича интересна.
Comment 3 Michael Shigorin 2012-03-26 17:26:19 MSK
RM: ping

(Радик, извини -- ещё тормозил-тормозил, что не всех RM добавил...)
Comment 4 Ivan A. Melnikov 2012-04-23 11:42:31 MSK
Я тут поспрашивал окружающих, и оказалось:

- ни один из опрошенных не догадался сам до control fusermout <whatever>, многие просто сказали "это не работает"

- у всех, кто хоть раз успешно воспользовался sshfs или smbnetfs сделано control fusermount public.

Последнее довольно печально, так как означает, что на практике жесткие ограничения по умолчанию приводят к менее безопасным настройкам на пользовательских системах. Поэтому и control fusermount fuseonly нужен, так как в этой ситуации бинарник fusermount будет не доступен хотя бы псевдопользователям вроде nobody или _nginx.

В общем, ping.

Как я понял, все ждут, что скажет ldv@ по поводу ещё одного suid-ного бинарника по умолчанию. ldv@, не молчите, пожалуйста.

Если всё таки так сделать нельзя, прошу RM'ов рассмотреть возможность включения режима fuseonly при установке в дистрибутивах, ориентированных на личное и домашнее использование.
Comment 5 Dmitry V. Levin 2012-04-23 15:05:48 MSK
fuseonly по умолчанию при установке пакета выглядит вполне естественно.
Comment 6 Michael Shigorin 2012-05-06 00:40:57 MSK
Предполагаю по приезде втащить 2.8.7-alt3 в t6 и предлагаю -- в p6.
Comment 7 Repository Robot 2012-05-06 02:26:43 MSK
fuse-2.8.7-alt3 -> sisyphus:

* Sat May 05 2012 Michael Shigorin <mike@altlinux> 2.8.7-alt3
- enabled "fuseonly" mode by default (closes: #27117)
- tightened up /lib/udev/devices/{c,f}use permissions
- use control macros in package scripts
- enhanced descriptions a bit

* Sun Mar 25 2012 Michael Shigorin <mike@altlinux> 2.8.7-alt2
- added "fuseonly" mode, thanks iv@ (see also #27117)
Comment 8 Ivan A. Melnikov 2012-05-06 20:49:05 MSK
> fuse-2.8.7-alt3 -> sisyphus:

Спасибо!

Есть только вопрос.

Поставил в чистый hasher fuse-2.8.7-alt3, захожу туда hsh-shell --rooter, и вижу:

[root@localhost .in]# control fusermount
unknown
[root@localhost .in]# ls -l /usr/bin/fusermount
-rws--x--- 1 root root 31304 May  5 20:40 /usr/bin/fusermount

Это только у меня так, или это проблема hasher, или что-то с пакетом?
Comment 9 Ivan A. Melnikov 2012-05-06 20:57:02 MSK
Sorry for the noise, на "настоящей" системе всё ставится правильно.
Comment 10 Michael Shigorin 2012-05-06 21:56:08 MSK
(In reply to comment #9)
> на "настоящей" системе всё ставится правильно.
Аналогично -- так и проверял.
Comment 11 Michael Shigorin 2012-05-10 13:44:07 MSK
Немного перестарался с /etc/udev/rules.d/60-fuse.rules и всплыло это уже после перезагрузки в виде 0600,root,root на /dev/fuse (несмотря на указание прав в рулесах).

До того, как получится выписать более развесистый control file (и по-хорошему бы ему называться не fusermount, а просто fuse; но это вряд ли буду делать) -- отчасти ослабляю права из коробки в 2.8.7-alt4 (были world writeable, сделал root only, делаю group writeable).