|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.08.2010, 15:58 | #1 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Аутентификация рута в GNU/Linux
Здравствуйте.
Есть такая тема: программа вызывается от имени юзера. Она создаёт дочерний процесс как обычно fork'ом. В нём нужны права рута только для выполнения chroot, потом права юзера нужно вернуть. Пароль рута известен. Как можно реализовать аутентификацию в программе, чтоб всё было супер? ЗЫ Было мнение запускать от имени рута, только после chroot делать setuid на юзера. Хотя надо ещё попробовать вариант делать на старте программы seteuid на юзера, а в дочернем процессе вернуть опять же через seteuid на рута и обратно через setuid. |
31.08.2010, 18:45 | #2 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Так что, ни у кого нету мыслей???
|
31.08.2010, 19:42 | #3 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 59
|
можно попробовать вызвать system( "тут команда bash" );, предварительньно подключив unistd.h. Оно?
|
31.08.2010, 20:17 | #4 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Зачем мне вызывать system ?
|
31.08.2010, 20:24 | #5 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Цитата:
Код:
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
31.08.2010, 20:29 | #6 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 59
|
идея примерно такая
system("su -l -cкоманда"); только остался ньюанс с паролем... А его вы введете прямо в bash) Последний раз редактировалось nowaalex; 31.08.2010 в 20:31. |
31.08.2010, 20:52 | #7 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Я бы ввёл, да консоль недоступна. Да и ввод пароля нужно автоматизировать.
|
31.08.2010, 21:44 | #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 |