我在更改看起来与 SELinux 相关的目录权限时遇到了一些问题。我试图弄清楚如何在厨师客户端会话的剩余部分中禁用 SELinux a) 和 b) 永久禁用。
资源:
# Change permissions for mounted repository
directory "/home/analytics" do
owner "analytics"
mode "711"
end
错误:
/sbin/restorecon set context /analytics/file failed:'Operation not supported'
环境:
- 测试 Kitchen、Vagrant 驱动程序和 VirtualBox。
- Box - Chef 无供应商 centos-5.10 .
看起来 SELinux 搞砸了。伟大的。让我们禁用 SELinux!
Chef's box 中的 stock config 设置为 permissive。
[root@analytics selinux]# cat /etc/selinux/config
# 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 - SELinux is fully disabled.
SELINUX=permissive
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
我可以将配置模板化并设置为禁用,但这只会在重新启动后应用。通常在当前会话中禁用 SELinux 是通过 CLI(sestatus、setenforce 等)完成的。我们的食谱(和官方的)依赖于这个功能。但是这里好像坏了……
[root@analytics selinux]# sestatus
bash: sestatus: command not found
[root@analytics selinux]# getstatus
bash: getstatus: command not found
[root@analytics selinux]# rpm -q policycoreutils
policycoreutils-1.33.12-14.13.el5
那么如何在不重新启动机器或运行 Chef 两次的情况下禁用 SELinux?