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