![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
Здравствуйте.
Есть такая тема: программа вызывается от имени юзера. Она создаёт дочерний процесс как обычно fork'ом. В нём нужны права рута только для выполнения chroot, потом права юзера нужно вернуть. Пароль рута известен. Как можно реализовать аутентификацию в программе, чтоб всё было супер? ЗЫ Было мнение запускать от имени рута, только после chroot делать setuid на юзера. Хотя надо ещё попробовать вариант делать на старте программы seteuid на юзера, а в дочернем процессе вернуть опять же через seteuid на рута и обратно через setuid. |
![]() |
![]() |
![]() |
#2 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
Так что, ни у кого нету мыслей???
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 59
|
![]()
можно попробовать вызвать system( "тут команда bash" );, предварительньно подключив unistd.h. Оно?
|
![]() |
![]() |
![]() |
#4 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
Зачем мне вызывать system ?
|
![]() |
![]() |
![]() |
#5 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
![]() Цитата:
Код:
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 59
|
![]()
идея примерно такая
system("su -l -cкоманда"); только остался ньюанс с паролем... А его вы введете прямо в bash) Последний раз редактировалось nowaalex; 31.08.2010 в 20:31. |
![]() |
![]() |
![]() |
#7 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
Я бы ввёл, да консоль недоступна. Да и ввод пароля нужно автоматизировать.
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 59
|
![]()
советовал бы погуглить в сторону expect. Эта утилита позволяет сделать что-то подобное
mysql -uuser -ppassword в su. Другого способа я не вижу. Вообще сохранение пароля в текстовом виде для su или sudo - дыра. Поэтому они не учитывают такой опции. Expect, как я понял - TCL - подобная утилита. В TCL не силён, на данный момент помочь с expect не могу( |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите найти GNU c++ | Brakus | Общие вопросы C/C++ | 6 | 15.02.2012 16:08 |
Что такое GNU? | mike_tihomirov | Свободное общение | 16 | 20.04.2010 13:21 |
Кто юзает GNU/Linux? | Levsha100 | Свободное общение | 6 | 11.02.2010 23:04 |
Литература по GNU PASCAL | Utkin | Qt и кроссплатформенное программирование С/С++ | 1 | 03.07.2009 10:22 |