| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > chroot выполнение от имени юзера |
| Автор: CPlusPlusFAN 21.8.2010, 09:35 |
| Здравствуйте. Программа запускается от имени юзера. Однако в ней требуется выполнить chroot в вызванном ей дочернем процессе. Пароль рута есть. Если это сделать невозможно, тогда предложите альтернативный способ, чтобы потенциально опасная программа (выполняемая после chroot) не лазила за пределами своей директории, не читала конфиги, ничего нигде не меняла, ничего не запускала и т.д. Заранее спасибо! |
| Автор: CPlusPlusFAN 23.8.2010, 18:13 | ||
Запускаю под юзером:
testdir есть. testfile.txt в текущей директории создаётся. chroot не работает. От рута запускаю - файла нету. Но запускать от рута нет возможности. |
| Автор: JackYF 23.8.2010, 19:16 |
Системный вызов 'chroot' работает только от рута. Соответственно, либо запускать от рута, либо использовать "*su*"-помощники (sudo, su etc.). |
| Автор: xvr 23.8.2010, 20:40 |
| Поставь своему exeнику пользователя root и бит set user ID. И в самом exeнике не забыть вернуть UID перед exec'ом назад |
| Автор: CPlusPlusFAN 23.8.2010, 21:16 |
| Это возможно сделать программно? |
| Автор: xvr 24.8.2010, 09:19 | ||||
Да. Но первую часть:
|