如何创建自定义SELinux标签
我编写了一个服务/单个二进制应用程序,试图在Fedora 24上运行,它使用systemd运行,二进制文件已部署到 /srv/bot 我编写的此服务/应用程序需要在该目录中创建/打开/读取和重命名文件。 我首先开始基于SELinux创建新策略:允许进程在特定目录中创建任何文件 但是当我的应用需要重命名时,输出将显示警告: #!!!! WARNING: 'var_t' is a base type. allow init_t var_t:file rename; 我四处搜寻,发现我应该使用比基本类型更具体的SELinux标签,但是所有在线示例都向您展示了httpd / nginx / etc中的现有标签。 有没有一种方法可以仅为我自己的应用程序创建自定义标签? 我的想法是创建类似myapp_var_t的东西,使用 semanage fcontext -a -t my_app_var_t '/srv/bot(/.*)?' restorecon -R -v /srv/bot 和.pp将使用此自定义类型的自定义文件 如果有更好的解决方法,那也可以。 谢谢 更新资料 经过更多搜索之后,我认为我要执行的操作的正确术语是创建新词types,这使我进入了 https://docs.fedoraproject.org/en-US/Fedora/13/html/SELinux_FAQ/index.html#id3036916 基本上说,运行 sepolgen /path/to/binary 而且我能够得到一个模板,然后将其编译成pp文件并加载,仍然会出现一些错误,但是看起来我已经接近要执行的操作了。 如果我可以使用,我会更新这篇文章