当前位置:   article > 正文

Linux常用命令——semanage命令_semanage -t

semanage -t

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand)

semanage

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

补充说明

semanage命令是用来查询与修改SELinux默认目录的安全上下文。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。

语法

semanage {login|user|port|interface|fcontext|translation} -l
semanage fcontext -{a|d|m} [-frst] file_spec
  • 1
  • 2

选项

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

实例

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

semanage fcontext -l
SELinux fcontext    type          Context
....(前面省略)....
/var/www(/.*)?      all files     system_u:object_r:httpd_sys_content_t:s0
....(後面省略)....
  • 1
  • 2
  • 3
  • 4
  • 5

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

mkdir /srv/samba
ll -Zd /srv/samba
drwxr-xr-x  root root root:object_r:var_t    /srv/samba
  • 1
  • 2
  • 3

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

semanage fcontext -l | grep '/srv'
/srv/.*                     all files   system_u:object_r:var_t:s0
/srv/([^/]*/)?ftp(/.*)?     all files   system_u:object_r:public_content_t:s0
/srv/([^/]*/)?www(/.*)?     all files   system_u:object_r:httpd_sys_content_t:s0
/srv/([^/]*/)?rsync(/.*)?   all files   system_u:object_r:public_content_t:s0
/srv/gallery2(/.*)?         all files   system_u:object_r:httpd_sys_content_t:s0
/srv                        directory   system_u:object_r:var_t:s0   //看这里!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

semanage fcontext -a -t public_content_t "/srv/samba(/.*)?"
semanage fcontext -l | grep '/srv/samba'
/srv/samba(/.*)?            all files   system_u:object_r:public_content_t:s0
  • 1
  • 2
  • 3
cat /etc/selinux/targeted/contexts/files/file_contexts.local
# This file is auto-generated by libsemanage
# Please use the semanage command to make changes
/srv/samba(/.*)?    system_u:object_r:public_content_t:s0  #写入这个档案
  • 1
  • 2
  • 3
  • 4
restorecon -Rv /srv/samba* #尝试恢复默认值
ll -Zd /srv/samba
drwxr-xr-x  root root system_u:object_r:public_content_t /srv/samba/  #有默认值,以后用restorecon命令来修改比较简单!
  • 1
  • 2
  • 3

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

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand)

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand)
原文链接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/308963?site
推荐阅读
相关标签
  

闽ICP备14008679号