Какой самый адекватный вариант запуска suid приложений через GUI
Короче я пишу софтину на Qt (С++) которая удобно монтирует cifs(samba) и sftp(через sshfs), что-то наподобие Gigolo. И пытаюсь адекватно сделать так, чтоб пароль для операций монтирования/размонтирования спрашивался всего один раз при первой операции или вообще при входе (т.к. PAM все дела, автоанлок кейринга). Так-же конечно желательно чтоб это не оказалось дырой.
Я рассмотрел 3 варианта:
- sudo + keyring + mount - многие говорят, что так не стоит (т.к. там и таймауты и дырявое оно) и такие вещи может вызвать только пользователь в группе wheel (если конечно в конфиге sudo так написано). Хотя там есть и -S параметр удобный и даже -A который позволяет прикрутить ASKPASS программу любую ( например вызов keyring)
- pkexec (polkit) + mount - постоянно спрашивает пароль (в общем-то и понятно почему), а чтоб не спрашивал нужно руками править rules/actions. Простой смертный пользователь точно не будет этим заморачиваться
- Отдельный демон запущенный под рутом + dbus (и возможно polkit) - выглядит как самый адекватный вариант. Можно запилить демона который будет чисто запускать mount/umount/fusermount по запросу через dbus. Поидее тут можно и пароль адекватно запомнить и передавать.
Интересно узнать мнение разбирающихся в этом людей