首页 > 解决方案 > SEBool 持久值

问题描述

我正在学习如何使用setseboolgetsebool

我知道我可以通过命令 setsebool 打开和关闭 bool,例如:

setsebool httpd_can_network_connect_db on

我还可以使用以下方法检查当前值:

getsebool httpd_can_network_connect_db

我还可以使用以下方法使更改持久化:

setsebool -P httpd_can_network_connect_db on

我在网上找不到的是:如何检查服务器重新启动后实际加载的当前持久值(当前未应用)?

标签: linuxselinux

解决方案


用于semanage检查布尔值:

# semanage boolean -l
SELinux boolean               State   Default  Description
...
httpd_can_network_connect_db  (off  , off)     Allow httpd to can network connect db

State列为您提供当前的实时状态。该Default列为您提供了在引导时从策略加载的值:

# setsebool httpd_can_network_connect_db on
# getsebool httpd_can_network_connect_db
httpd_can_network_connect_db on --> on
# semanage boolean -l | grep httpd_can_network_connect_db
httpd_can_network_connect_db  (on   ,  off) Allow httpd to can network connect db

当与 一起使用setsebool-P使布尔更改持久化时,这会更新策略:

# setsebool -P httpd_can_network_connect_db on
# semanage boolean -l | grep httpd_can_network_connect_db
httpd_can_network_connect_db  (on   ,   on) Allow httpd to can network connect db

从源代码setsebool可以看出,持久化是通过参考semanage的API实现的。


推荐阅读