смонтировать без sudo используя липкий бит? - PullRequest
2 голосов
/ 02 марта 2012

Я пытаюсь написать сценарий оболочки для монтирования петлевого устройства, и я назначаю этот сценарий с залипшим битом для выполнения от имени uid (root). (Это для других пользователей на сервере). Проблема в том, что я не могу похоже запускает команду «mount» без использования sudo перед ней. Когда я нахожусь в учетной записи root, я могу без проблем запускать команду «mount», поэтому я подумал, что установив скрипт с помощью rws-r_x-r_x, он сделает это.

Я неправильно понимаю концепцию использования липкого бита? или есть другой способ?

Сервер работает под Ubuntu 10.04

1 Ответ

3 голосов
/ 02 марта 2012

Вы имеете в виду бит setuid, а не sticky.Ядро не поддерживает бит setuid для скриптов. См. Этот пост для подробного описания , вот краткое изложение: суть в том, что suid в скрипте небезопасен. * Ядро начинает читать скрипт для его выполнения, но видит #!/path/to/interpreter и выясняетчто это нужно интерпретировать.Затем он отменяет «выполнение» сценария напрямую и вызывает указанный интерпретатор, передавая имя сценария в качестве первого аргумента (и все последующие аргументы по порядку после этого).Причина, по которой установка UID небезопасна в этом случае, заключается в том, что злоумышленник может потенциально изменить сценарий, который будет выполняться, между ядром, устанавливающим новый UID, и интерпретатором, читающим файл.

*: В другом посте упоминалось, что perl обрабатывает свои скрипты таким образом, что они могут быть suid.


Что касается реальной проблемы монтирования, добавьте строкуна /etc/fstab/ и включите опцию user.

...