- SUID-не Может выполнить “-rwsr-xr-x” файл как корень

Я использую Ubuntu 16.10. Я просто задал этот вопрос при Переполнении стека, но мне рекомендовали спросить на этом форуме.

Я следовал вдоль книги, делая что-то вроде этого:

#include <stdio.h>

int main() {
    printf("Real UID:\t%d\n", getuid());
    printf("Effective UID:\t%d\n", geteuid());
}

И петлять как sudo, не используя команду sudo, после компиляции с gcc, я изменил владельца и группу для укоренения.

$ gcc -o test test.c
$ sudo chown root:root ./test
$ chmod u+s ./test
$ ls -l
-rwsr-xr-x 1 root root 8512 Mar 9 test

Теперь, это - то, что я получил, когда я выполнил файл. Мой UID 1000.

$ ./test
Real UID:        1000
Effective UID:   1000

В книге, которую я читал, было сказано, что результат должен быть похожим на это:

$ ./test
Real UID:        1000
Effective UID:   0

UID для корня 0, правильно? Это означает, что я выполняю-rwsr-xr-x файл, принадлежавший корню, с моими собственными полномочиями пользователя?Я не понимаю.

0
задан 9 March 2017 в 08:33

1 ответ

Вы, вероятно, помещаете файл на раздел, это смонтировано с nosuid. Можно ввести mount для наблюдения, если это верно. Если так, или переместите файл в другой раздел или повторно смонтируйтесь, раздел с -o suid (обратите внимание, что выполнение последнего может иметь последствия безопасности).

0
ответ дан 3 November 2019 в 15:46

Другие вопросы по тегам:

Похожие вопросы: