因此,在 Red Hat 考试中,他们希望您使用 SELinux。例如,如果您安装了 vsftp,则执行setsebool -P ftp_home_dir=1
或setsebool -P ftp_home_dir on
以允许服务器上的用户访问主目录。然后重新启动,我注意到设置ftp_home_dir
回了off
。我做错了什么吗?以下是我的步骤:
getsebool -a | grep ftp
→ftp_home_dir --> off
setsebool -P ftp_home_dir on
getsebool -a | grep ftp
→ftp_home_dir --> on
重启
getsebool -a | grep ftp
→ftp_home_dir --> off
发生了什么事?-P
重启后不应该持续存在吗?
在 CentOS 6.5 和 RHEL 6.5 上尝试过,当然也都更新了。任何建议都值得赞赏。
更新因为我无法回答我的问题
semanage boolean -m --on ftp_home_dir
重启后仍可继续使用
答案1
我刚刚在 CentOS 6.5 上尝试过这个,但无法重现您所看到的行为。
# semanage boolean -l | head
SELinux boolean State Default Description
ftp_home_dir (off , off) Allow ftp to read and write files in the user home directories
# setsebool -P ftp_home_dir on
# semanage boolean -l | head
SELinux boolean State Default Description
ftp_home_dir (on , on) Allow ftp to read and write files in the user home directories
# reboot
The system is going down for reboot NOW!
...
# semanage boolean -l | head
SELinux boolean State Default Description
ftp_home_dir (on , on) Allow ftp to read and write files in the user home directories
根据官方文档,这当然应该是正确的做法。
幸运的是 (!) 使用 SELinux 几乎总是有两种或更多种完全不同的方法可以完成同一件事,正如您所发现的。semanage
还可以设置布尔值,以及许多其他东西。为什么会这样,我想只有 Dan Walsh 知道...
semanage boolean -m --on ftp_home_dir
既然你说这对你有用,我怀疑你的安装中出现了一些不明显的问题。此时你可能永远也找不到问题所在。