В разрешениях для жестких ссылок в Linux отображается владелец / пользователь / группа r/w/x, но пользователь не может выполнить
У меня есть жесткая ссылка на служебный скрипт в /etc/init.d/, который указывает на скрипт оболочки (bash). Разрешения показывают, что права доступа владельца, пользователя и группы должны быть rwx для всех.
Однако когда я запускаю команду myuser в $find /etc/init.d/ -group, в каталоге ничего не появляется для myuser, даже если кажется, что любой может выполнить скрипт. Я дважды проверил, и когда я запускаю $find /etc/init.d/ -group root, вывод показывает, что права для root просто отлично.
Есть идеи, что происходит? Когда я запускаю службу, она работает нормально (предполагается, что некоторые процессы отключаются с помощью pid), однако, когда я запускаю ps -ef процессы, они все еще работают.
Озадачивает...
1 ответ
Поскольку скрипт содержит команды, которые являются привилегированными, например, kill
или же initctl
,
Если служба работает от имени пользователя root, ее может убить только пользователь с правами root, даже если у вас есть сценарий с разрешениями на выполнение, содержащий эти команды. Посмотрите на сценарий оболочки, который вы упоминаете, и посмотрите, какие команды он содержит.
Правильный способ вызова вашего скрипта инициализации - с помощью sudo.