Мне нужно разрешить suid для моей учетной записи пользователя в моей Ubuntu 13.04.
Согласно команде mount
, битовый флаг для моей учетной записи - nosuid. как я могу изменить его на suid.
Есть ли в вашей системе отдельный /home
раздел? если это так, возможно, это установлено с nosuid
по уважительным причинам. Если это всего лишь тест, то вместо внесения каких-либо постоянных изменений в параметры монтирования в / etc / fstab должна быть возможность временно перемонтировать раздел с включенным suid, используя
$ sudo mount -o remount,suid /home
Например ( поскольку мой домашний раздел не монтируется регулярно nosuid
, я сделаю это сначала, для иллюстрации):
$ ls -l id_demo
-rwsrwxr-x 1 root root 7394 Sep 21 08:52 id_demo
$
$ sudo mount -o remount,nosuid /home
$ ./id_demo
real uid: 1006
effective uid: 1006
Затем снова протестируйте после перемонтирования с опцией suid
$ sudo mount -o remount,suid /home
$ ./id_demo
real uid: 1006
effective uid: 0
Обратите внимание, что chmod u+s
должно быть достаточно для вашего теста (chmod a+s
не должно быть необходимо).
«SUID / NOSUID», о котором mount
говорит вам, не относится к вашей «учетной записи пользователя». Смотри man mount
. Это функция безопасности, которая говорит системе распознавать / игнорировать исполняемые файлы setuid на смонтированном носителе. Когда исполняемый файл setuid исполняется с диска, на котором установлен SUID, он будет работать с UID владельца исполняемого файла, а не с вашим UID.
Короче, не беспокойтесь об этом
Если вы хотите беспокоиться об этом, бит SUID / NOSUID берется из /etc/fstab
(см. man -k fstab;man 5 fstab
и применяется при монтировании время (для этого устройства).