экспериментирую тут с автомонтированием через udev с добавлением всяких собственных ништяков. pmount мне не особо нравится, к тому же надобность есть только в отмонтировании из-под пользователя, а это можно и другими средствами реализовать. наиболее приемлемым мне показался eject (из состава util-linux) со взведенным uid битом. но, как оказалось, не все так просто, как казалось. chmod ug+s /usr/bin/eject
особого эффекта не дал. отмонтирование сбоило из-за недостатка прав. изучение исходников показало, что за каким-то чертом разработчики запуск umount делают весьма странным образом. после fork-а дергают sedgid(getgid())
и setuid(getuid())
. сакральный смысл этих действий мне совершенно неясен, потому перед сборкой делается следующее:
sed -i 's/getgid/getegid/' sys-utils/eject.c
sed -i 's/getuid/geteuid/' sys-utils/eject.c
после этого все работает как надо