[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: