目前我们每次启动时都需要运行这样的东西:
/usr/sbin/semanage port -a -t memcache_port_t -p tcp ${special-snowflake-port}
如果我们可以在重新启动时坚持这一点,那将是非常好的。 答案是要编译这个有价值的东西,但是最大的问题是如何做到这一点? 没有什么我在.fc文件中看到的文件表明这可以在那里编码,而.te文件的语法是难以阅读的。 然而,很明显,按照编制的政策确实设置了一些东西,我只是找不到。
我错过了什么?
我只是testing了你在CentOS 6.5系统上提供的命令,它按照预期执行,并在${special-snowflake-port} tcp memcache_port_t列表中添加${special-snowflake-port} 。 重启testing虚拟机并没有改变这一点
semanage port -l | grep memcache_port_t memcache_port_t tcp 11311, 11211 memcache_port_t udp 11211
这一直存在,直到你删除它
semanage port -d -t memcache_port_t -p tcp 11311 semanage port -l | grep memcache_port_t memcache_port_t tcp 11211 memcache_port_t udp 11211
你有什么误解? 是什么让你觉得这不是持久的?
事实certificate,他们实际上是坚持,我从来没有注意到。 semanage在/etc/selinux/${config-file}/modules/active中存储策略的文件表示。 在我的情况下,端口列表在:
/etc/selinux/targeted/modules/active/ports.local
这充满了类似这样的条目:
portcon tcp 11222 system_u:object_r:memcache_port_t:s0
无论何时通过semanage添加(-a)或删除(-d)规则,都会重新生成此目录。
file_contexts是文件持久化文件上下文。
这很方便,因为这些文件grep比semanage -l输出可以产生更快。