RHEL SELinux: /etc/sysconfig/selinux или /etc/selinux/config?

RHEL SELinux: /etc/sysconfig/selinux или /etc/selinux/config?

Я использую CentOS Linux release 7.5.1804 (Core) и столкнулся с обычной задачей set SELinux to Permissive. Но затем мои два источника дали мне два разных места, где должна быть установлена ​​конфигурация:

  1. /etc/sysconfig/selinux

кошка /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# 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
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
  1. /etc/selinux/config

кошка /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     permissive - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of permissive.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Я прочитал соответствующие форумы RedHat, но никто, похоже, не зациклился на том или ином. Читайте такжеSelinux - centos - отсутствует /etc/selinux/config, оба решения существуют для ответа.

Какой из них мне следует использовать для моей текущей версии?

Какой из них мне следует использовать в будущих версиях?

ОБНОВЛЕНИЕ: Они не связаны симлинками в моей системе. В fat это два довольно разных файла:

ls -la /etc/selinux/ | grep config
-rw-r--r--.  1 root root  550 Jan 14 15:55 config
ls -la /etc/sysconfig/ | grep selinux
-rw-r--r--.  1 root root  543 Jan 10 14:12 selinux

решение1

Из системы CentOS 7, которая у меня есть, но CentOS 6 и Fedora 31 — это одно и то же

lrwxrwxrwx. 1 root root   17 Oct 31  2018 selinux -> ../selinux/config

Кажется, это один и тот же файл. Лично я использую /etc/selinx/config из-за мышечной памяти.


но в моей системе это разные файлы, размер разный, время изменения разное

Тогда считайте, что ваша система «сломана». Это легко проверить, установите разрешающий режим в одном и принудительный режим в другом. Перезагрузите ...

решение2

Файл конфигурации selinux по умолчанию находится в /etc/selinux/configper man 8 selinux. В Приложении D кРуководство по развертыванию RHEL 6(не удалось найти в документации RHEL 7), они упоминают, что /etc/sysconfigэто символическая ссылка на /etc/selinux/config:

Файл /etc/sysconfig/selinux содержит основные параметры конфигурации SELinux. Это символическая ссылка на /etc/selinux/config

Вы поймете, что это символическая ссылка, когда увидите ls -laвывод, потому что первое поле будет l, для ссылки, а следующее ugoбудет rwx:

[root@test sysconfig]# ls -lah selinux
lrwxrwxrwx. 1 root root 19 Nov 24 00:58 selinux -> /etc/selinux/config

До того, как я узнал, что это символическая ссылка, я случайно перезаписал файл, sedпоскольку по умолчанию sedон не следует символическим ссылкам:

[root@test sysconfig]# ls -lah selinux
lrwxrwxrwx. 1 root root 17 Jul 24 23:16 selinux -> ../selinux/config
[root@test sysconfig]# grep '^SELINUX=' selinux
SELINUX=enforcing
[root@test sysconfig]# sed -i 's/SELINUX=enforcing/SELINUX=permissive/' selinux
[root@test sysconfig]# ls -lah selinux
-rw-r--r--. 1 root root 544 Nov 24 00:50 selinux

Если вы когда-нибудь окажетесь в такой ситуации, восстановить символическую ссылку будет легко:

[root@test sysconfig]# rm /etc/sysconfig/selinux
rm: remove regular file ‘/etc/sysconfig/selinux’? y
[root@test sysconfig]# ln -s /etc/selinux/config selinux
[root@test sysconfig]# ls -lah selinux
lrwxrwxrwx. 1 root root 19 Nov 24 00:52 selinux -> /etc/selinux/config

Я лично изменяю только /etc/selinux/configодин, чтобы не допустить еще одну ошибку с символической ссылкой, и два, потому что некоторые файлы конфигурации в этом каталоге становятся устаревшими в новых версиях; например,nfsв RHEL 8.

Связанный контент