Я использовал cronjob для запуска скрипта, который будет запускать мой teampeak при перезагрузке

Некоторое время он работал нормально, пока я не активировал Selinux, cron больше не работает

У меня есть эта ошибка в журналах cron:

Aug  2 16:14:21 Manu crond[683]: (teamspeak3-user) Unauthorized SELinux context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 file_context=system_u:object_r:unlabeled_t:s0 (/var/spool/cron/teamspeak3-user)
Aug  2 16:14:21 Manu crond[683]: (teamspeak3-user) FAILED (loading cron table)

Я искал в Интернете, и некоторые люди говорят об известной ошибке и работе, которая не работает для меня.

Помогите, пожалуйста.

Информация добавлена:

ls -lZ /var/spool/cron/teamspeak3-user

-rw-------. teamspeak3-user teamspeak3-user system_u:object_r:unlabeled_t:s0 /var/spool/cron/teamspeak3-user

3 ответа3

1

Поэтому вам нужно изменить тип файла cron в var/spool/cron

Попробуй это:

# chcon -t user_cron_spool_t /var/spool/cron/teamspeak3-user

Посмотрите здесь для получения дополнительной информации:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_SELinux-SELinux_Contexts_Labeling_Files.html

0

Чтобы исправить подобную ошибку с моей работой в /etc /crontab, мне нужно было сделать:

chcon -t system_cron_spool_t /etc/crontab
systemctl start crond

Не уверен, как сделать это постоянным, хотя. Redhat говорит, что изменения в chcon являются временными. Но они предоставляют другие инструкции, которые могут быть ответом на это.

0

IMO chcon - это быстрое решение. Было бы лучше установить это как правила с помощью semanage:

# semanage fcontext -a -t user_cron_spool_t "/var/spool/cron(/.*)?"
# restorecon -R -vv /var/spool/cron

Это переживет любое обновление системы и автоматически применено к cronjob новых пользователей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .