之前安裝 AlmaLinux 設定完 httpd ,怛無法讀取 cache ,找到解決方濇是 disable selinux,然後 reboot
找了一下資料做一下記錄
SELinux 是一個Linux核心的安全模組,最早是由美國國家安全局(NSA)開發的專案,後續由 Redhat 在 2003 年時被納入 Linux Kernel 2.6 核心內, 所有的 RHEL 系列 (Redhat(IBM 預設是關閉)、Fedora、CentOS、Rocky Linux、 Oracle Linux、AlmaLinux 等) 均內建此功能。
SELinux 主要有三大部分
工作模式
工作類型
安全上下文(Security context)
security context 主要以以下 5 個段利用「:」做為分隔符號構成。
apache apache unconfined_u:object_r:httpd_sys_content_t:s0 4096 Nov 22 22:07 code4
分別代表的涵意如下:
還是打開他,才不會因為 PHP 問題打爆其他資料
=======================
打開預設值
Open the /etc/selinux/config file and set the SELINUX state to disabled
# 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=enforcing
reboot system
====================
看一下目錄設定 ls 加上大Z
[root@vbox html]# ls -alZ
total 4
drwxr-xr-x. 3 root root system_u:object_r:httpd_sys_content_t:s0 19 Nov 22 21:24 .
drwxr-xr-x. 4 root root system_u:object_r:httpd_sys_content_t:s0 33 Nov 22 20:54 ..
drwxr-xr-x. 7 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 4096 Nov 22 22:07 code4
類型和根目錄不相同
[root@vbox html]# chcon -R system_u:object_r:httpd_sys_content_t:s0 code4
[root@vbox html]# ls -alZ
total 4
drwxr-xr-x. 3 root root system_u:object_r:httpd_sys_content_t:s0 19 Nov 22 21:24 .
drwxr-xr-x. 4 root root system_u:object_r:httpd_sys_content_t:s0 33 Nov 22 20:54 ..
drwxr-xr-x. 7 apache apache system_u:object_r:httpd_sys_content_t:s0 4096 Nov 22 22:07 code4
結果還有問題,改用下列設定變更 writable 為httpd_sys_rw_content_t
chcon -Rv --type=httpd_sys_rw_content_t writable/
drwxr-xr-x. 16 apache apache system_u:object_r:httpd_sys_content_t:s0 4096 Nov 22 21:24 vendor
drwxr-xr-x. 7 apache apache system_u:object_r:httpd_sys_rw_content_t:s0 112 Nov 23 07:10 writable