сервисная команда и некорневой пользователь

Ваш сценарий содержит окончания строки CRLF, тогда как Unix использует окончания строки LF. Следующее удалит их, если у Вас будет GNU sed:

sed -i 's/\r$//' cxStopAllServicesOnSERVER.sh

Если у Вас нет GNU sed, запишите во временный файл и затем переместите его поверх старого файла.

Как в стороне, если Вы вызываете использование сценария sh, Вы переопределите хижину. Это, вероятно, не, что Вы хотите.

1
30.11.2013, 17:12
1 ответ

service процесс как любой другой. Большую часть времени это /sbin/service. Поскольку у нас теперь есть многие "init" менеджеры (Сценарии RC, выскочка, systemd, svcadm...) каждый с их особенностями, с помощью service управлять сценариями запуска - положительная сторона.

Модификация необходимо сделать связанный с базовой системой.

Например, в init-емкостно-резистивной системе (самое обычное) вызов сценария /etc/init.d/crond или вызов service crond то же:

$ service crond status
crond (pid  1837) is running...
$ /etc/init.d/crond status
crond (pid  1837) is running...

Но с systemd, проблема намного более хитра, поскольку всем управляет двоичный файл "systemd".

Так, если Вы не хотите управлять многими системами и исключениями, можно рассмотреть использование sudo. иначе можно запустить сценарии как пользовательскую лямбду или использовать сценарии "набора-uid".

2
27.01.2020, 23:39
  • 1
    Нет ли проблемы со сценариями SUIDing? Я, кажется, вспоминаю, что это не позволяется в некоторых системах. Возможно, проблема selinux? –  terdon♦ 12.11.2013, 16:16

Теги

Похожие вопросы