В разрешениях для жестких ссылок в 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.

Другие вопросы по тегам