RHEL SELinux:/etc/sysconfig/selinux 或 /etc/selinux/config?
我正在執行 CentOS Linux 版本 7.5.1804 (Core),並遇到了通常將 SELinux 設置為 Permissive 的任務。但是後來我的兩個來源給了我兩個不同的配置位置:
- /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.
- /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 - missing /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
從 CentOS 7 系統我不得不手,但 CentOS 6 和 Fedora 31 是一樣的
lrwxrwxrwx. 1 root root 17 Oct 31 2018 selinux -> ../selinux/config
似乎它們是同一個文件。由於肌肉記憶,個人使用/etc/selinx/config。
但在我的系統中,它們是不同的文件,大小不同,更改時間不同
然後認為您的系統已“損壞”。這很容易測試,在一個中設置允許,在另一個中執行。重啟 …
預設的 selinux 配置文件位於
/etc/selinux/config
perman 8 selinux
. 在RHEL 6 部署指南的附錄 D 中(在 RHEL 7 文件中找不到),他們提到這/etc/sysconfig
是一個符號連結/etc/selinux/config
:/etc/sysconfig/selinux 文件包含 SELinux 的基本配置選項。它是指向 /etc/selinux/config 的符號連結
當您看到
ls -la
輸出時,您會知道這是一個符號連結,因為第一個欄位將是l
, for link,並且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 中。