Я хочу получить полномочия программы, call_shellcode (который называет shellcode), чтобы быть установленным на-rwsr-xr-x. Когда я работаю:
sudo chmod 4755 call_shellcode
полномочия по некоторым причинам все еще установлены в-rwxrwxrwx
Я пытаюсь получить корневую оболочку, но когда я выполняю программу, я получаю нормальную оболочку. Я использую Ubuntu 16.04 (32-разрядную) в VirtualBox
Вы работаете gcc
как поддерживают некоторую странную причину, но затем Вы работаете chmod
как Ваш обычный пользователь. У Вас нет [разрешения изменить права на call_shellcode
так как Вы скомпилировали его как корень, и поэтому полномочия остаются неизменными.
Не компилируйте как корень! Ничего не делайте как корня, если Вы не имеете к.
От man chmod
:
SETUID AND SETGID BITS
chmod clears the set-group-ID bit of a regular file if the file's group
ID does not match the user's effective group ID or one of the user's
supplementary group IDs, unless the user has appropriate privileges.
Additional restrictions may cause the set-user-ID and set-group-ID bits
of MODE or RFILE to be ignored. This behavior depends on the policy
and functionality of the underlying chmod system call. When in doubt,
check the underlying system behavior.
После вопроса Zanna я переместил файлы из совместно используемой папки, и теперь полномочия установлены правильно.