systemd --su :Отказано в доступе, в сценариях /etc/init.d

Если я правильно понимаю, parallel --spreadstdinотправляет блоки ввода, переданные на стандартный ввод процессов, которые он запускает, поэтому вы хотите, чтобы my_commandчитал не стандартный ввод Parallel, а свой собственный.

Если my_commandпо умолчанию не читает стандартный ввод, вы обычно можете использовать /dev/stdinвместо имени файла, он разрешается в тот же файл/канал, что и «исходный» стандартный ввод.

Так

my | pipeline | parallel --spreadstdin my_command --file /dev/stdin

должно быть тем, что вы хотите.

0
12.06.2020, 13:14
2 ответа

Я вижу здесь ту же проблему, когда скрипт для запуска Oracle не работает. Если вы посмотрите в /var/messages, вы увидите ошибку selinux, говорящую, что это не разрешено. Я работаю над CentOS и изменил конфигурацию selinux с принудительной на разрешительную. После этого он работал нормально. Для меня это просто виртуальная машина для разработки, поэтому безопасность не была проблемой. В файле сообщений также был способ исключить только одну службу init.d, это тоже стоит попробовать.

кошка /etc/selinux/config

# This file controls the state of SELinux on the system on boot.

# SELINUX can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=permissive
1
18.03.2021, 23:28

Хотел сообщить об этом, хотя проблема уже помечена как решенная, поскольку у некоторых людей нет возможности отключить SELinux.

В каталоге init.dиспользуйте ls -Z, чтобы просмотреть контексты SELinux для всех файлов. Ваш сценарий, вероятно, имеет неправильный контекст по сравнению с другими сценариями запуска, поэтому вы хотите изменить его, чтобы он соответствовал. Проще всего запустить

sudo chcon --reference=nameofascriptthatworks yourscriptname

и проверьте правильность установки контекста с помощью другого ls -Z.

3
18.03.2021, 23:28

Теги

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