Redhat

使用錯誤的 Selinux 上下文創建的主目錄

  • October 17, 2015
[root@tst-01 home]# ls -Z
drwxr-xr-x. ujjain   users          system_u:object_r:home_root_t:s0 ujjain
drwxr-xr-x. johndoe   users          system_u:object_r:home_root_t:s0 johndoe

selinux 上下文應該是 object_r:user_home_dir_t。

[root@tst-01 ~]# sesearch -T -t home_root_t
Found 10 semantic te rules:
  type_transition oddjob_mkhomedir_t home_root_t : dir user_home_dir_t;
  type_transition automount_t home_root_t : dir automount_tmp_t;
  type_transition lsassd_t home_root_t : dir user_home_dir_t;
  type_transition useradd_t home_root_t : dir user_home_dir_t;
  type_transition firstboot_t home_root_t : dir user_home_dir_t;
  type_transition smbd_t home_root_t : dir user_home_dir_t;
  type_transition quota_t home_root_t : file quota_db_t;
  type_transition sysadm_t home_root_t : dir user_home_dir_t;
  type_transition cups_pdf_t home_root_t : dir user_home_dir_t;
  type_transition postfix_virtual_t home_root_t : dir user_home_dir_t;

[root@tst-01 ~]# 

使用錯誤的 Selinux 上下文創建新的主目錄。我可以使用 chcon 修復 selinux 上下文,但這會在多個伺服器上產生問題。

首先上下文設置錯誤的原因可能是什麼?

為將來可能遇到它的人添加這個問題。如果要將主目錄放在 NFS 共享上,則需要設置正確的 SELinux 上下文。假設您的 nfs 主目錄是 /nfshome,請執行以下操作:

[root@host /]# semanage fcontext -a -e /home /nfshome
[root@host /]# restorecon -vR /nfshome

對於使用者目錄$HOME(通常位於系統重新標記。相反,您需要找出目錄的預期安全上下文是什麼:/home/$USER``chcon

# matchpathcon /home/ujjain
# matchpathcon /home/johndoe

如果上下文與 的輸出不匹配ls -lrtZ,則恢復上下文:

# restorecon -v /home/ujjain
# restorecon -v /home/johndoe

注意restorecon可以遞歸使用-R

關於您的問題,此目錄標籤錯誤的原因取決於用於創建它們的過程(您未指定)和/home目錄的位置(例如,本地文件系統與 NFS)

引用自:https://serverfault.com/questions/521910