Linux命令 restorecon - 恢復(fù)文件的安全上下文

2022-03-18 17:52 更新

restorecon

恢復(fù)文件的安全上下文

補(bǔ)充說明

restorecon命令 用來恢復(fù)SELinux文件屬性即恢復(fù)文件的安全上下文。

語法

restorecon [-iFnrRv] [-e excludedir ] [-o filename ] [-f filename | pathname...]

選項(xiàng)

-i:忽略不存在的文件。
-f:infilename 文件 infilename 中記錄要處理的文件。
-e:directory 排除目錄。
-R/-r:遞歸處理目錄。
-n:不改變文件標(biāo)簽。
-o/outfilename:保存文件列表到 outfilename,在文件不正確情況下。
-v:將過程顯示到屏幕上。
-F:強(qiáng)制恢復(fù)文件安全語境。

實(shí)例

假設(shè)CentOS安裝了apache,網(wǎng)頁默認(rèn)的主目錄是/var/www/html,我們經(jīng)常遇到這樣的問題,在其他目錄中創(chuàng)建了一個(gè)網(wǎng)頁文件,然后用mv移動(dòng)到網(wǎng)頁默認(rèn)目錄/var/www/html中,但是在瀏覽器中卻打不開這個(gè)文件,這很可能是因?yàn)檫@個(gè)文件的SELinux配置信息是繼承原來那個(gè)目錄的,與/var/www/html目錄不同,使用mv移動(dòng)的時(shí)候,這個(gè)SELinux配置信息也一起移動(dòng)過來了,從而導(dǎo)致無法打開頁面,具體請(qǐng)看下面的實(shí)例:

使用CentOS舉例,如果默認(rèn)沒有安裝apache,確保網(wǎng)絡(luò)連接,使用下面的命令安裝

[root@jsdig.com ~]# yum install httpd
 # 我們?cè)趓oot的家目錄新建一個(gè)html文件 
[root@jsdig.com ~]# pwd
/root

[root@jsdig.com ~]# vi index.html

# 隨便輸入一段文字,保存退出 
welcome to www.jsdig.com

# 將這個(gè)文件mv到網(wǎng)頁默認(rèn)目錄下 
[root@jsdig.com ~]# mv index.html /var/www/html/

# 
# 這個(gè)時(shí)候我們使用firefox瀏覽器輸入127.0.0.1/index.html發(fā)現(xiàn)打不開,
# 查看一下SELinux的日志文件,發(fā)現(xiàn)了下面這一段報(bào)錯(cuò)信息,從這個(gè)報(bào)錯(cuò)信息不難看出,
# 進(jìn)程httpd訪問網(wǎng)頁主目錄中的index.html時(shí)被SELinux阻止,原因是因?yàn)?,SELinux配置信息不正確,
# 正確的SELinux配置信息應(yīng)該是scontext=后面的部分,
# 而index.html文件的SELinux配置信息卻是tcontext=后面的部分,
# 從tcontext=的第三段“admin_home_t”不難看出,這個(gè)文件的SELinux配置信息是root用戶家目錄的。
# 
type=AVC msg=audit(1378974214.610:465): avc:  denied  { open } for  pid=2359 comm="httpd" path="/var/www/html/index.html" dev="sda1" ino=1317685 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file

使用ls -Z也可以看出,文件和目錄的SELinux信息不匹配

[root@jsdig.com html]# ls -Z /var/www/html/
.... unconfined_u:object_r:admin_home_t:s0 index.html

[root@jsdig.com html]# ls -Zd /var/www/html/
.... system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

使用restorecon來恢復(fù)網(wǎng)頁主目錄中所有文件的SELinux配置信息(如果目標(biāo)為一個(gè)目錄,可以添加-R參數(shù)遞歸)

[root@jsdig.com html]# restorecon -R /var/www/html/


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)