av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

SELinux安全上下文查看方法(超詳細(xì))

SELinux 管理過(guò)程中,進(jìn)程是否可以正確地訪問(wèn)文件資源,取決于它們的安全上下文。進(jìn)程和文件都有自己的安全上下文,SELinux 會(huì)為進(jìn)程和文件添加安全信息標(biāo)簽,比如 SELinux 用戶、角色、類型、類別等,當(dāng)運(yùn)行 SELinux 后,所有這些信息都將作為訪問(wèn)控制的依據(jù)。

首先,通過(guò)一個(gè)實(shí)例看看如何查看文件和目錄的安全上下文,執(zhí)行命令如下:

[root@localhost ~]# ls -Z
#使用選項(xiàng)-Z查看文件和目錄的安全上下文
-rw-------.root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
-rw-r--r--.root root system_u:object_r:admin_home_t:s0 install.log
-rw-r--r--.root root system_u:object_r:admin_home_t:s0 install.log.syslog

可以看到,查看文件的安全上下文非常簡(jiǎn)單,就是使用“l(fā)s -Z”命令。而在此基礎(chǔ)上,如果想要查看目錄的安全上下文,需要添加“-d”選項(xiàng),代表查看目錄本身,而非目錄下的子文件。舉個(gè)例子:

[root@localhost ~]# ls -Zd /var/www/html/
drwxr-xr-x.root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

那么,該如何查看進(jìn)程的安全上下文呢?只需使用 ps 命令即可。命令如下:

[root@localhost ~]# service httpd start
#啟動(dòng)apache服務(wù)
[root@localhost ~]# ps auxZ | grep httpd
unconfined_u:system_r:httpd_t:s0 root 25620 0.0 0.5 11188 3304 ? Ss
03:44 0:02 /usr/sbin/httpd
…省略部分輸出…

也就是說(shuō),只要進(jìn)程和文件的安全上下文匹配,該進(jìn)程就可以訪問(wèn)該文件資源。在上面的命令輸出中,我們加粗的就是安全上下文。

安全上下文看起來(lái)比較復(fù)雜,它使用“:”分隔為 4 個(gè)字段,其實(shí)共有 5 個(gè)字段,只是最后一個(gè)“類別”字段是可選的,例如:

system_u:object_r:httpd_sys_content_t:s0:[類別]
#身份字段:角色:類型:靈敏度:[類別]

下面對(duì)這 5 個(gè)字段的作用進(jìn)行說(shuō)明。

1) 身份字段(user)

用于標(biāo)識(shí)該數(shù)據(jù)被哪個(gè)身份所擁有,相當(dāng)于權(quán)限中的用戶身份。這個(gè)字段并沒(méi)有特別的作用,知道就好。常見(jiàn)的身份類型有以下 3 種:

  1. - root:表示安全上下文的身份是 root。
  2. - system_u:表示系統(tǒng)用戶身份,其中“_u”代表 user。
  3. - user_u:表示與一般用戶賬號(hào)相關(guān)的身份,其中“_u”代表 user。

user 字段只用于標(biāo)識(shí)數(shù)據(jù)或進(jìn)程被哪個(gè)身份所擁有,一般系統(tǒng)數(shù)據(jù)的 user 字段就是 system_u,而用戶數(shù)據(jù)的 user 字段就是 user_u。

那么,SELinux 中到底可以識(shí)別多少用戶身份字段呢?我們可以使用 seinfo 命令來(lái)進(jìn)行查詢。SELinux 的相關(guān)命令一般都是以“se”開頭的,所以也較為好記。

seinfo 命令格式如下:

[root@localhost ~]# seinfo [選項(xiàng)]
選項(xiàng):
-u: 列出SELinux中所有的身份(user);
-r: 列出SELinux中所有的角色(role);
-t: 列出SELinux中所有的類型(type);
-b: 列出所有的布爾值(也就是策略中的具體規(guī)則名稱);
-x: 顯示更多的信息;

seinfo 命令的功能較多,我們?cè)谶@里只想查詢 SELinux 中的身份,那么只需執(zhí)行如下命令:

[root@localhost ~]# seinfo -u
Users:9
sysadm_u
system_u
xguest_u
root
guest_u
staff_u
user_u
unconfined_u
git_shell_u

就可以看到 SELinux 中能夠識(shí)別的 user 身份共有 9 種。不過(guò)這個(gè)字段在實(shí)際使用中并沒(méi)有太多的作用,了解一下即可。

2) 角色(role)

主要用來(lái)表示此數(shù)據(jù)是進(jìn)程還是文件或目錄。這個(gè)字段在實(shí)際使用中也不需要修改,所以了解就好。

常見(jiàn)的角色有以下兩種:

  • - object_r:代表該數(shù)據(jù)是文件或目錄,這里的“_r”代表 role。
  • - system_r:代表該數(shù)據(jù)是進(jìn)程,這里的“_r”代表 role。

那么,SELinux 中到底有多少種角色呢?使用 seinfo 命令也可以查詢,命令如下:

[root@localhost ~]# seinfo -r
Roles:12
guest_r
staff_r
user_r
git_shell_r
logadm_r
object_r
sysadm_r
system_r
webadm_r
xguest_r
nx_server_r
unconfined_r

3) 類型(type)

類型字段是安全上下文中最重要的字段,進(jìn)程是否可以訪問(wèn)文件,主要就是看進(jìn)程的安全上下文類型字段是否和文件的安全上下文類型字段相匹配,如果匹配則可以訪問(wèn)。

注意,類型字段在文件或目錄的安全上下文中被稱作
類型(type),但是在進(jìn)程的安全上下文中被稱作
域(domain)。也就是說(shuō),在主體(Subject)的安全上下文中,這個(gè)字段被稱為域;在目標(biāo)(Object)的安全上下文中,這個(gè)字段被稱為類型。域和類型需要匹配(進(jìn)程的類型要和文件的類型相匹配),才能正確訪問(wèn)。

SELinux 中到底有多少類型也是通過(guò) seinfo 命令查詢的,命令如下:

[root@localhost ~]# seinfo -t | more
Types:3488
#共有3488個(gè)類型
bluetooth_conf_t
cmirrord_exec_t
foghorn_exec_t
jacorb_port_t
sosreport_t
etc_runtime_t
…省略部分輸出…

我們知道了類型的作用,可是我們?cè)趺粗肋M(jìn)程的域和文件的類型是否匹配呢?這就要查詢具體的策略規(guī)則了,我們?cè)诤竺嬖龠M(jìn)行介紹。

不過(guò),我們已知 apache 進(jìn)程可以訪問(wèn) /var/www/html/(此目錄為 RPM 包安裝的 apache 的默認(rèn)網(wǎng)頁(yè)主目錄)目錄中的網(wǎng)頁(yè)文件,所以 apache 進(jìn)程的域和 /var/www/html/ 目錄的類型應(yīng)該是匹配的,我們查詢一下,命令如下:

[root@localhost ~]# ps auxZ | grep httpd
unconfined_u:system_r:httpd_t:s0 root 25620 0.0 0.5 11188 3304 ? Ss
03:44 0:02 /usr/sbin/httpd
#apache進(jìn)程的域是httpd_t
[root@localhost ~]# ls -dZ /var/www/html/
drwxr-xr-x.root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
#/var/www/html/目錄的類型是httpd_sys_content_t

apache 進(jìn)程的域是 httpd_t,/var/www/html/ 目錄的類型是 httpd_sys_content_t,這個(gè)主體的安全上下文類型經(jīng)過(guò)策略規(guī)則的比對(duì),是和目標(biāo)的安全上下文類型匹配的,所以 apache 進(jìn)程可以訪問(wèn) /var/www/html/ 目錄。

我們?cè)?SELinux 中最常遇到的問(wèn)題就是進(jìn)程的域和文件的類型不匹配,所以我們一定要掌握如何修改類型字段。

4) 靈敏度

靈敏度一般是用 s0、s1、s2 來(lái)命名的,數(shù)字代表靈敏度的分級(jí)。數(shù)值越大,代表靈敏度越高。

5) 類別

類別字段不是必須有的,所以我們使用 ls 和 ps 命令查詢的時(shí)候并沒(méi)有看到類別字段。但是我們可以通過(guò) seinfo 命令來(lái)查詢,命令如下:

[root@localhost ~]# seinfo -u -x
#查詢所有的user字段,并查看詳細(xì)信息
system_u
#user字段名
default level:s0
#默認(rèn)靈敏度
range:s0 - s0:c0.c1023
#靈敏度可以識(shí)別的類別
roles:
#該user能夠匹配的role(角色)
object_r
system_r
unconfined_r


新聞名稱:SELinux安全上下文查看方法(超詳細(xì))
轉(zhuǎn)載注明:http://uogjgqi.cn/article/djojoci.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流