Программно "поднять" права пользователя (на выполнение одной операции и "выйти" (С/С++))

Модератор: Модераторы разделов

Аватара пользователя
mishon
Сообщения: 99
ОС: Демьян

Программно "поднять" права пользователя

Сообщение mishon »

Необходимо выполнить одну команду суперпользователем (кому интересно - заменить xorg.conf на время: для подключения второго монитора; после отключения вернуть на место). Программа запускается простым пользователем, которому лень вводить пароль рута (жена :tongue: ), да и не нужно ей знать админский пароль (из соображений безопасности, на всякий случай). Вопрос: как программно (желательно на сях) выполнить сие действие? Предполагаю, что нужно передать строковый параметр "пароль" команде "su", но как это реализовать? Гуглил, но не нашел :blush: .
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Программно "поднять" права пользователя

Сообщение v04bvs »

sudo
Спасибо сказали:
KoRMaK
Сообщения: 5

Re: Программно "поднять" права пользователя

Сообщение KoRMaK »

Лучше просто поставь на твой скрипт или програмку suid бит.
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Программно "поднять" права пользователя

Сообщение Uncle_Theodore »

KoRMaK писал(а):
16.04.2007 02:16
Лучше просто поставь на твой скрипт или програмку suid бит.

В Линуксе suid bit не работает на скриптах. :)
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: Программно "поднять" права пользователя

Сообщение Sleeping Daemon »

mishon писал(а):
15.04.2007 01:09
Необходимо выполнить одну команду суперпользователем (кому интересно - заменить xorg.conf на время: для подключения второго монитора; после отключения вернуть на место). Программа запускается простым пользователем, которому лень вводить пароль рута (жена :tongue: ), да и не нужно ей знать админский пароль (из соображений безопасности, на всякий случай). Вопрос: как программно (желательно на сях) выполнить сие действие? Предполагаю, что нужно передать строковый параметр "пароль" команде "su", но как это реализовать? Гуглил, но не нашел :blush: .

Нужный xorg.conf в каталог пользователя скопировать как .xorg.conf.
Спасибо сказали:
Аватара пользователя
nerezus
Сообщения: 525
Статус: Вселенский отказник
ОС: windoze

Re: Программно "поднять" права пользователя

Сообщение nerezus »

Вопрос: имею программу. И логин с паролем. Как выполнить поток от этого пользователья, логин и пароль которого имеем?
ICQ 547097
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Программно "поднять" права пользователя

Сообщение sash-kan »

nerezus: su - -c <программа> <пользователь>
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Программно "поднять" права пользователя

Сообщение Uncle_Theodore »

nerezus, хочешь добрый совет?
Возьми вот отсюда ftp://vsftpd.beasts.org/users/cevans/ исходники vsftpd и почитай, как там все организовано.
Они небольшие и более-менее прокомментированы, хотя я видел и лучший стиль комментов. В конце концов, это же Open Source, или где? :)
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Программно "поднять" права пользователя

Сообщение serzh-z »

Uncle_Theodore писал(а):
16.04.2007 17:52
исходники vsftpd и почитай, как там все организовано.
nerezus будет очень удивлен и расстроен этими исходниками, так как там сделано примерно так же, как я и написал в соседнем топике. :wacko:
Спасибо сказали:
KoRMaK
Сообщения: 5

Re: Программно "поднять" права пользователя

Сообщение KoRMaK »

Uncle_Theodore писал(а):
16.04.2007 03:02
В Линуксе suid bit не работает на скриптах. :)

да, забыл)
я делал suid-ный бинарь, а в нем system. и все прокатывало)
Спасибо сказали: