получить права root

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

получить права root

Сообщение serg_iv » 05.05.2009 17:30:42

Как для своей программы получить на некоторое время права root?
Как его (пароль) передать su?
Может кто уже делал? Подскажить плз.
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Re: получить права root

Сообщение Attid » 05.05.2009 17:56:27

насколько я помню никак. можно только запустить внешнюю программу с правами.

изучая исходники sudo понял как из под рута запустить процесс с правами обычного пользователя , а вот обратно так и не понял =( так что читать исходник sudo и\или su
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: получить права root

Сообщение karpen » 05.05.2009 21:22:20

Программа не должна повышать привилегии для своего выполнения (повышение привилегии возможно только при наличии бага в ПО работающего с привилегированными правами).
Но можно спросить пароль root у пользователя (легче всего через шел скрипт, но можно и из программы) и запустить программу с правами рута.
karpen
новенький
 
Сообщения: 13
Зарегистрирован: 27.04.2009 23:13:58
Откуда: Novocheboksarsk

Re: получить права root

Сообщение serg_iv » 06.05.2009 07:41:34

Но можно спросить пароль root у пользователя (легче всего через шел скрипт, но можно и из программы) и запустить программу с правами рута.

Именно это мне и нужно!
А можно пример, хоть с шеллом хоть с программой?
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Re: получить права root

Сообщение alex_alex_alex1 » 19.08.2011 22:04:51

хоть бы кто пример привел...
alex_alex_alex1
постоялец
 
Сообщения: 207
Зарегистрирован: 15.10.2010 14:08:50

Re: получить права root

Сообщение debi12345 » 19.08.2011 23:08:57

Как для своей программы получить на некоторое время права root?
Как его (пароль) передать su?
Может кто уже делал? Подскажить плз.


Грязно : SUID | GUID-bit-ы в правах.

или чисто :

RPC/CORBA/... -доступ к демону-исполнителю Remote-команд, запущенному от рута.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: получить права root

Сообщение alex208210 » 21.08.2011 10:06:41

Exec=gksu -u root "leafpad"
alex208210
постоялец
 
Сообщения: 207
Зарегистрирован: 12.05.2010 13:16:51

Re: получить права root

Сообщение minoshi » 21.08.2011 11:41:31

serg_iv писал(а):Как для своей программы получить на некоторое время права root?
Как его (пароль) передать su?
Может кто уже делал? Подскажить плз.


вопросом временного повышения прав не занимался (кроме как перезапуск программы с новыми правами ничего на ум не приходит)

запускать программу с правами рута сразу - запускал.
Делал через tprocess

нечто вроде (пишу навскидку):

Код: Выделить всё
if filepresent('gksu') = true
then
begin
t := tprocess.create(nil);
t.commandline = 'gksu <имя программы>';
t.execute;
end
else showmessage('Запуск программы с правами root невозможен, не найден gksu');


функция filepresent самописная, проверяет доступность gksu в PATH. Если сами не сможете реализовать - обращайтесь, найду код - выложу.
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru