Re: run another program as another user (su ?)
Andrey Kostenko -> debian-russian@lists.debian.org @ Thu, 29 Dec 2005 16:28:30 +0200:
AK> Hi!
AK> Я хочу добиться запуска программы от имени другого пользователя.
AK> Самый простой пример - по нажатию на горячую клавишу хочу окно с
AK> запросом пароля root-a, а замет терминал с правами root-a (вариант с
AK> вводом пароля на загруженном теринале не подходит, например, потому, что
AK> я использую mrxvt и если я его запустил уже под root-ом, то я могу в нем
AK> открыть еще однит терминал с правами рута, уже не вводя пароль).
AK> Или еще пример, запустить с правами другого пользователя комунду запуска
AK> второго X-сервера, и тогда на втором мониторе загрузится сразу его
AK> рабочая среда и все настройки.
AK> Я нашел программу, которя делает все это: gksu
AK> ------------
AK> graphical frontend to su
AK> gksu is a Gtk+ frontend to /bin/su. It supports login shells
AK> and preserving environment when acting as a su frontend. It
AK> is useful to menu items or other graphical programs that need
AK> to ask a user's password to run another program as another user.
AK> ------
AK> Но она грузится дольше firefox-a и затем занимает в памяти больше 10Мб. Грустно.
AK> Можно ли добиться такой функциональности с помощью su?
AK> Например команда:
AK> mrxvt -tnum 1 -vt0.e "su -c mrxvt"
AK> открывает второй терминал (с одной закладкой -tnum 1) и запускает на нем
AK> команду "su -c mrxvt" (-vt0.e - запустить команду), запрашивается пароль, и открывается третий
AK> терминал с правами root-а. По скорости и расходу памяти уже лучше, чем с
AK> gksu, но (опять но) висит 2-й терминал, который уже не нужен, ест
AK> память, и занимает место в списке запущенных программ.
AK> Подозреваю, что правильная команду должна выглядеть как-то так:
AK> mrxvt -tnum 1 -vt0.e "su -c "mrxvti &! " "
AK> - второй терминал должен запросить пароль, запустить команду с &! и
AK> завершить свою работу. Но в таком виде это не работает.
AK> Использую zsh.
AK> Я не могу осилить эту задачу.
AK> Помогите, пожалуйста.
AK> Андрей.
Одного не понимаю, зачем тебе все эти странные извращения с паролями.
Вообще поставь себе sudo. Она, в частности, умеет самостоятельно
отправлять программу в бэкграунд.
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
If it's there and you can see it---it's real
If it's not there and you can see it---it's virtual
If it's there and you can't see it---it's transparent
If it's not there and you can't see it---you erased it!
IBM poster explaining virtual memory, circa 1978
Reply to: