Почему SELinux предотвращает доступ opendkim к файлам закрытого ключа и как это исправить?

Я пытаюсь настроить opendkim с помощью Postfix (на CentOS).

Скопировав мой известный хороший частный ключ на место, я вижу следующее:

Nov 16 12:54:26 [host.domain] setroubleshoot[10093]: SELinux is preventing opendkim from open access on the file /etc/opendkim/keys/mykey.private. For complete SELinux messages run: sealert -l 8de37e21-88ab-46af-9927-e6040f6bfc97
Nov 16 12:54:26 [host.domain] platform-python[10093]: SELinux is preventing opendkim from open access on the file /etc/opendkim/keys/mykey.private.

       *****  Plugin restorecon (99.5 confidence) suggests   ************************

       If you want to fix the label.
       /etc/opendkim/keys/mykey.private default label should be etc_t.
       Then you can run restorecon. The access attempt may have been stopped due to insufficient permissions to access a parent directory in which case try to change the following command accordingly.
       Do
       # /sbin/restorecon -v /etc/opendkim/keys/mykey.private

       *****  Plugin catchall (1.49 confidence) suggests   **************************

       If you believe that opendkim should be allowed open access on the mykey.private file by default.
       Then you should report this as a bug.
       You can generate a local policy module to allow this access.
       Do
       allow this access for now by executing:
       # ausearch -c 'opendkim' --raw | audit2allow -M my-opendkim
       # semodule -X 300 -i my-opendkim.pp
0
задан 16 November 2020 в 15:24
1 ответ

В моем случае это произошло потому, что я переместил (mv) свой файл закрытого ключа на место через домашний каталог пользователя, и он пришел с неправильными расширенными разрешениями SELinux.


EDIT: см. комментарий от @MichaelHampton, может быть достаточно удалить файл, а затем скопировать (cp) на место вместо (mv).


РЕДАКТИРОВАТЬ: Или посмотрите комментарий от @HermannB, если у вас возникла проблема, чтобы исправить ее, может быть достаточно просто запустить /sbin/restorecon -v /etc/opendkim/keys/mykey.private .


Мой первоначальный ответ:

Чтобы исправить пересоздание файла ключа из нового в его каталоге, например:

$ cd
$ sudo mv /etc/opendkim/keys/mykey.private .
$ su
> cd /etc/opendkim
> cat /home/[a.user]/mykey.private > mykey.private
> chown opendkim mykey.private
> chgrp opendkim mykey.private
> chmod 600 mykey.private

Это создание файла из нового (т.е. строки с cat), что исправляет основная проблема. Если вы создадите его из нового в каталоге keys, он автоматически получит правильные разрешения SELinux, и opendkim сможет его прочитать. Последние три строки дают файлу ограниченные разрешения, которые также запрашивает opendkim.

1
ответ дан 16 November 2020 в 12:22

Теги

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