Вы не можете использовать setuid и setgid для запуска сценария оболочки от имени другого пользователя. Это функция безопасности, и вы можете узнать больше об этом в самом полном ответе на этот пост UL.
Setuid и setgid не работают
У меня проблема с setuid и setgid. Я написал этот код C:
int main() { setuid(0); setgid(0); system("/path/to/script.sh"); return 0; }
Скомпилировал его с помощью gcc:
gcc test.c -o test
Тогда я использовал chmod +s
. Там script.sh
есть только id
команда. Вот разрешения для test
исполняемого файла:
-rwxr-sr-x 1 root root 8464 mag 15 20:14 test
Когда я выполняю программу, я получаю следующий вывод:
uid=1000(user) gid=1000(user) gruppi=1000(user)
Почему я не получаю вывод id
выполненного пользователя root?
2 ответа на вопрос
aquote со страницы MAN для setuid()
Таким образом, программа set-user-ID-root, желающая временно удалить привилегии root, принять личность непривилегированного пользователя и затем восстановить привилегии root, не может использовать setuid (). Вы можете сделать это с помощью seteuid (2).
В случае успеха возвращается ноль. При ошибке возвращается -1, и errno устанавливается соответствующим образом.
Note: there are cases where setuid() can fail even when the caller is UID 0; it is a grave security error to omit checking for a failure return from setuid().
среди прочего, это означает, что пользователь не может стать с root
помощью этой команды.
Если опубликованный код проверил возвращаемое значение из этих команд, он увидел бы, что команды завершились неудачно.
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4