導讀 | semanage指令是用來查詢與修改SELinux預設目錄的安全性上下文。 SELinux的策略與規則管理相關指令:seinfo指令、sesearch指令、getsebool指令、setsebool指令、semanage指令。 下面讓我們詳細講解一下chcon指令的使用方法。 |
semanage {login|user|port|interface|fcontext|translation} -l semanage fcontext -{a|d|m} [-frst] file_spec
--l:查询。 fcontext:主要用在安全上下文方面。 -a:增加,你可以增加一些目录的默认安全上下文类型设置。 -m:修改。 -d:删除。
semanage fcontext -l SELinux fcontext type Context ....(前面省略).... /var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0 ....(後面省略)....
如上面範例所示,我們可以查詢的到每個目錄的安全性本文!而目錄的設定可以使用正規表示式去指定一個範圍。那麼如果我們想要增加某些自訂目錄的安全性本文呢?舉例來說,我想要色設定/srv/samba成為 public_content_t內聯程式碼的型別時,該如何設定呢?
用semanage指令設定/srv/samba目錄的預設安全性本文為public_content_t:chcon -t public_content_rw_t /var/ftp/incoming
mkdir /srv/samba ll -Zd /srv/samba drwxr-xr-x root root root:object_r:var_t /srv/samba
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 //看这里!
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* #尝试恢复默认值 ll -Zd /srv/samba drwxr-xr-x root root system_u:object_r:public_content_t /srv/samba/ #有默认值,以后用restorecon命令来修改比较简单!
以上是深入解析semanage指令的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!