SEBool 持久值

SEBool Persistent Values

我正在学习如何使用 setseboolgetsebool

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

setsebool httpd_can_network_connect_db on

我还可以使用 :

检查当前值

getsebool httpd_can_network_connect_db

我还可以使用 :

使更改持久化

setsebool -P httpd_can_network_connect_db on

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

使用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实现的:Reference.