Я выполняю систему ubuntu 16.04 LTS на единственном разделе (т.е. вся система находится на /dev/sda1
раздел моего жесткого диска). Это автоматически смонтировано (конечно), в, загружают и монтируют шоу, которые это смонтировало со следующими опциями:
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
Моя проблема состоит в том, что я записал мелкий инструмент для своей локальной системы (в C++), который я поместил в /usr/local/sbin
каталог, в котором я нуждаюсь, чтобы он работал, как поддерживают его для корректного выполнения его задачи. Я установил его бит setuid, но он все еще не работает как корень, поскольку мне нужен он к. Я сделал некоторый поиск и нашел это, если раздел не смонтирован с монтированием suid
опция, даже если приложение имеет свой suid набор битов, оно не будет работать как корень. Я посмотрел на запись раздела в /etc/fstab
файл для наблюдения, какие опции это имеет, чтобы это было смонтировано и найдено следующую запись для него:
UUID=04c08145-f454-4562-8212-3e7726b97d34 / ext4 errors=remount-ro 0 1
Может кто-то говорить мне, что я должен изменить в этой записи так, чтобы этот системный раздел был смонтирован с монтированием suid
опция включена?
Ваш вычет, что не монтирование с "suid" опцией не корректно. Это - на самом деле значение по умолчанию, если Вы не указываете "nosuid" для отрицания его (обратитесь к http://manpages.ubuntu.com/manpages/xenial/man8/mount.8.html )
Мы можем также обычно знать, что оно хорошо работает, потому что setuid используется многими системными инструментами, даже проверьте с помощью ping-запросов! su и sudo не работали бы, если setuid не работал.
, Скорее всего, Ваш setuid является так или иначе установкой неправильно, мое первое предположение было бы то, что Ваш двоичный файл не принадлежит корню. Вывод "ls - la/usr/local/sbin/binary" помог бы понять текущий статус двоичного файла. Вы могли сравнить вывод с sudo, который является правильно setuid:
$ ls -lad /usr/bin/sudo
-rwsr-xr-x 1 root root 140944 Jan 14 07:41 /usr/bin/sudo
Наконец это также возможно безотносительно контекста, который Вы выполняете, приложению запрещают использовать этот setuid двоичный файл профилем AppArmor.