@Mellon11

Как правильно сделать exec bash с SUID SGID?

Хочу установить SUID на бинарник, который сделает exec в bash, чтобы иметь шелл под другим пользователем, но шелл пускается с правами запустившего, а не владельца. То есть, нет доступа, например, к каталогам, файлам и т.д. пользователя 1000. Сам баш экзекается, но при попытке прочесть файл, говорит
bash-4.3$ cat n
cat: n: Отказано в доступе

Исходник бинарника ниже.
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>

int main () {
	char *args [] = {"/bin/bash", (char *)NULL};
	setuid((uid_t)1000);
	setgid(1000);
	execvp ("/bin/bash", args);
	return 0;
}


Что я делаю не так? Заранее спасибо.
  • Вопрос задан
  • 303 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы