LinuxForum.Fans
Тема

[решено]Запуск FireFox от другого пользователя.

Автор: Cruiser78 1 сообщений 800 просмотров
#356059

Привет всем!

Степень моей паранойи неуклонно растет. А именно - задумал я реанимировать запуск некоторых коммуникационных приложений от имени другого, полностью бесправного, пользователя. Если и пролезет кто, то фиг что увидит...
Дано: RFR не ниже 17 с ГНОМЕ-3. То есть фиг найдешь, где именно находятся запускающие FF desktop-файлы. Да оно и не надо. Делаем иначе.
Итак, берем запускающий FF файл (/usr/bin/firefox) и видим в нем строку:

text
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"

А весь остальной скрипт - подготовка к этому exec'у.
Меняем эту строку на:

text
[ -z "$DISPLAY" ] && DISPLAY=:0.0
export DISPLAY

xhost +LOCAL: exec sudo -u x $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"

И, соответственно, пользователю, от имени которого это дело запускается разрешаем оное в visudo

text
user ALL = (x) NOPASSWD: /usr/lib/firefox/run-mozilla.sh, /usr/lib/firefox/firefox, /usr/bin/firefox, /bin/firefox

Что имеем:

Если firefox запускать из терминала, руками, то всё нормально происходит. ФФ запускается от имени бесправного юзера. А вот если его вызывать из гномовских меню или кнопки запуска - то он немного повисит-повисит на запуске, да и свалится не открывшись.
Какую-то я мелочь упускаю, а вот какую - поймать не могу. Подскажите...
============================
Сделал еще тупее. Написал проверочный скрипт вида:

text
#!/bin/sh
#

[ -z "$DISPLAY" ] && DISPLAY=:0.0 export DISPLAY

xhost +LOCAL: sudo -u x zenity --info --text="DISPLAY=%DISPLAY"

Естественно zenity также разрешил в visudo.
Результат - из терминала, руками, запускается, сообщение видим. Из кнопки запуска - никакой реакции.
Аналогичный результат имеем, если поменять sudo на su.
Где собака зарылась - не понимаю.

Далее - прописываю в desktop-файле Terminal=True (Ну и устанавливаю xterm). Запускается xterm, и из него то, что хочу, хоть zenity, хоть firefox от нужного мне юзера. но мне этот xterm не вперся ни разу.... Как без терминальной поддержки запуститься?
-----------------------------
Решение оказалось тривиальным. Я забыл подправить sudoers должным образом. А именно - там надо добавить параметр Defaults visiblepw и закомментарить параметр Defaults requiretty.

Войдите или зарегистрируйтесь, чтобы ответить.