这篇文章主要介绍Linux中semanage命令有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Linux常用命令semanage命令 是用来查询与修改SELinux默认目录的安全上下文。

semanage

默认目录的安全上下文查询与修改

补充说明

SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。

语法

semanage{login|user|port|interface|fcontext|translation}-lsemanagefcontext-{a|d|m}[-frst]file_spec选项

-l:查询。fcontext:主要用在安全上下文方面。-a:增加,你可以增加一些目录的默认安全上下文类型设置。-m:修改。-d:删除。实例

查询一下/var/www/html的默认安全性本文的设置:

semanagefcontext-lSELinuxfcontexttypeContext....(前面省略)..../var/www(/.*)?allfilessystem_u:object_r:httpd_sys_content_t:s0....(後面省略)....

如上面例子所示,我们可以查询的到每个目录的安全性本文!而目录的设定可以使用正则表达式去指定一个范围。那么如果我们想要增加某些自定义目录的安全性本文呢?举例来说,我想要色设置/srv/samba成为 public_content_t的类型时,应该如何设置呢?

用semanage命令设置/srv/samba目录的默认安全性本文为public_content_t:

mkdir/srv/samball-Zd/srv/sambadrwxr-xr-xrootrootroot:object_r:var_t/srv/samba

如上所示,默认的情况应该是var_t这个咚咚的!

semanagefcontext-l|grep'/srv'/srv/.*allfilessystem_u:object_r:var_t:s0/srv/([^/]*/)?ftp(/.*)?allfilessystem_u:object_r:public_content_t:s0/srv/([^/]*/)?www(/.*)?allfilessystem_u:object_r:httpd_sys_content_t:s0/srv/([^/]*/)?rsync(/.*)?allfilessystem_u:object_r:public_content_t:s0/srv/gallery2(/.*)?allfilessystem_u:object_r:httpd_sys_content_t:s0/srvdirectorysystem_u:object_r:var_t:s0//看这里!

上面则是默认的/srv底下的安全性本文资料,不过,并没有指定到/srv/samba。

semanagefcontext-a-tpublic_content_t"/srv/samba(/.*)?"semanagefcontext-l|grep'/srv/samba'/srv/samba(/.*)?allfilessystem_u:object_r:public_content_t:s0

cat/etc/selinux/targeted/contexts/files/file_contexts.local#Thisfileisauto-generatedbylibsemanage#Pleaseusethesemanagecommandtomakechanges/srv/samba(/.*)?system_u:object_r:public_content_t:s0#写入这个档案

restorecon-Rv/srv/samba*#尝试恢复默认值ll-Zd/srv/sambadrwxr-xr-xrootrootsystem_u:object_r:public_content_t/srv/samba/#有默认值,以后用restorecon命令来修改比较简单!

semanage命令的功能很多,这里主要用到的仅有fcontext这个选项的用法而已。如上所示,你可以使用semanage来查询所有的目录默认值,也能够使用它来增加默认值的设置!

以上是“Linux中semanage命令有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!