semanage

默認目錄的安全上下文查詢與修改

補充說明

semanage命令 是用來查詢與修改SELinux默認目錄的安全上下文。SELinux的策略與規則管理相關命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。

語法

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

選項

1-l:查詢。
2fcontext:主要用在安全上下文方面。
3-a:增加,你可以增加一些目錄的默認安全上下文類型設置。
4-m:修改。
5-d:刪除。

實例

查詢一下/var/www/html的默認安全性本文的設置:

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

如上面例子所示,我們可以查詢的到每個目錄的安全性本文!而目錄的設定可以使用正則表達式去指定一個範圍。那麼如果我們想要增加某些自定義目錄的安全性本文呢?舉例來說,我想要色設置/srv/samba成爲 public_content_t的類型時,應該如何設置呢?

用semanage命令設置/srv/samba目錄的默認安全性本文爲public_content_t

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

如上所示,默認的情況應該是var_t這個咚咚的!

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

上面則是默認的/srv底下的安全性本文資料,不過,並沒有指定到/srv/samba

1semanage fcontext -a -t public_content_t "/srv/samba(/.*)?"
2semanage fcontext -l | grep '/srv/samba'
3/srv/samba(/.*)?            all files   system_u:object_r:public_content_t:s0
1cat /etc/selinux/targeted/contexts/files/file_contexts.local
2# This file is auto-generated by libsemanage
3# Please use the semanage command to make changes
4/srv/samba(/.*)?    system_u:object_r:public_content_t:s0  #寫入這個檔案
1restorecon -Rv /srv/samba* #嘗試恢復默認值
2ll -Zd /srv/samba
3drwxr-xr-x  root root system_u:object_r:public_content_t /srv/samba/  #有默認值,以後用restorecon命令來修改比較簡單!

semanage命令的功能很多,這裏主要用到的僅有fcontext這個選項的用法而已。如上所示,你可以使用semanage來查詢所有的目錄默認值,也能夠使用它來增加默認值的設置!

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: