默認(rèn)目錄的安全上下文查詢與修改
semanage命令 是用來查詢與修改SELinux默認(rèn)目錄的安全上下文。SELinux的策略與規(guī)則管理相關(guān)命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。
semanage {login|user|port|interface|fcontext|translation} -l
semanage fcontext -{a|d|m} [-frst] file_spec
-l:查詢。
fcontext:主要用在安全上下文方面。
-a:增加,你可以增加一些目錄的默認(rèn)安全上下文類型設(shè)置。
-m:修改。
-d:刪除。
查詢一下/var/www/html的默認(rèn)安全性本文的設(shè)置:
semanage fcontext -l
SELinux fcontext type Context
....(前面省略)....
/var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
....(後面省略)....
如上面例子所示,我們可以查詢的到每個目錄的安全性本文!而目錄的設(shè)定可以使用正則表達(dá)式去指定一個范圍。那么如果我們想要增加某些自定義目錄的安全性本文呢?舉例來說linux命令大全,我想要色設(shè)置/srv/samba成為 public_content_t的類型時,應(yīng)該如何設(shè)置呢?
用semanage命令設(shè)置/srv/samba目錄的默認(rèn)安全性本文為public_content_t:
mkdir /srv/samba
ll -Zd /srv/samba
drwxr-xr-x root root root:object_r:var_t /srv/samba
如上所示,默認(rèn)的情況應(yīng)該是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 //看這里!
上面則是默認(rèn)的/srv底下的安全性本文資料linux命令大全,不過,并沒有指定到/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
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 #寫入這個檔案
restorecon -Rv /srv/samba* #嘗試恢復(fù)默認(rèn)值
ll -Zd /srv/samba
drwxr-xr-x root root system_u:object_r:public_content_t /srv/samba/ #有默認(rèn)值,以后用restorecon命令來修改比較簡單!
semanage命令的功能很多,這里主要用到的僅有fcontext這個選項的用法而已。如上所示,你可以使用semanage來查詢所有的目錄默認(rèn)值,也能夠使用它來增加默認(rèn)值的設(shè)置!
微信捐贈支付寶捐贈
上一個教程:Linux基本命令大全(轉(zhuǎn))