restorecon 命令使用例項
當你將自定義檔案新增到已經由SE 策略管理的目錄中時,如果自定義檔案沒有適當的SELinux上下文,那麼將不會得到預期的結果。restorerecon 的意思是恢復SELinux上下文。restorecon 將檔案和目錄的SELinux安全上下文重置為預設值。這隻會重置SELinux上下文的型別屬性。 |
在以下示例中,index.html檔案在SELinux上下文中具有“user_home_t”上下文型別。這個上下文型別,apache服務將無法訪問。
[root@localhost ~]# ll -Z /var/www/html/index.html -rw-rw-r--. root root unconfined_u:object_r:user_home_t:s0 13 Jan 7 11:14 /var/www/html/index.html
注意:上面的ls命令中的
-Z
選項將顯示特定檔案的SELinux上下文。當我們使用restorecon命令時,我們實際上不需要知道檔案的原始安全上下文。 restorecon會自動修正。
以下示例將把index.html的安全性上下文恢復為適當的值。 如下所示,它已將SELinux上下文的型別重置為“httpd_sys_content_t”, 現在apache將能夠為該檔案提供服務,而不會出現任何錯誤。
[root@localhost ~]# restorecon /var/www/html/index.html [root@localhost ~]# ll -Z /var/www/html/index.html -rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 13 Jan 7 11:14 /var/www/html/index.html
預設情況下,執行
restorecon
命令時,它不會提示是否更改了檔案的安全上下文。
[root@localhost ~]# restorecon -v /var/www/html/index.html Relabeled /var/www/html/index.html from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0
下面例項將修改目錄下面所有檔案的安全上下文。
[root@localhost ~]# restorecon -v /var/www/html/*
還可以使用
-R
選項遞迴重置檔案的安全上下文。
[root@localhost ~]# restorecon -Rv /var/www/html/ Relabeled /var/www/html/sales from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/sales/graph.html from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0
可以將需要恢復安全上下文的檔案或資料夾路徑儲存在檔案裡,使用
-f
選項指定檔案,來恢復。在下面的
/var/www/html/testdir
目錄和下面的指定的檔案需要恢復預設安全上下文:
首先建立一個檔案input.txt,在裡面填入需要恢復預設安全上下文的目錄或者檔案的完整路徑。
[root@localhost ~]# vim input.txt [root@localhost ~]# cat input.txt /var/www/html/testdir /var/www/html/testdir/file1.txt /var/www/html/testdir/file3.txt /var/www/html/testdir/file5.txt /var/www/html/testdir/file7.txt /var/www/html/testdir/file9.txt
下面使用restorecon來恢復:
[root@localhost ~]# restorecon -Rvf input.txt Relabeled /var/www/html/testdir from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file1.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file2.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file3.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file4.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file5.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file6.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file7.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file8.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file9.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0 Relabeled /var/www/html/testdir/file10.txt from unconfined_u:object_r:admin_home_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0
還可以使用
-e
選項排除不需要恢復安全上下文的目錄。
在以下示例中,我們正在處理/var/www/html 目錄下的所有檔案,但不包括/var/www/html/sales子目錄中的檔案。
[root@localhost html]# restorecon -e /var/www/html/sales -Rv /var/www/html
還可以提供多個
-e
選項來排除多個檔案或資料夾。
restorecon命令將檔案和目錄的SELinux安全上下文重置為預設值。這隻會重置SELinux上下文的型別屬性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2776056/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Tee命令使用例項
- awk命令使用例項
- cut命令的使用例項
- netstat命令使用例項
- Linux中printf命令使用例項Linux
- Tee命令的幾個使用例項
- Linux 中的 JQ 命令使用例項Linux
- Linux中ip命令的使用例項Linux
- Linux 中 ss 命令的使用例項Linux
- Linux中的basename命令使用例項Linux
- Linux命令:grep命令AND、OR、NOT例項Linux
- nmap命令常用例項
- Linux系統中的basename命令使用例項Linux
- Linux系統抓包命令tcpdump使用例項LinuxTCP
- tail命令學習例項AI
- Crontab例項-命令詳解
- sar命令補充例項
- 15個Linux Grep命令使用例項(實用、常用)Linux
- 命令列刪除Oracle例項命令列Oracle
- pinctrl使用例項
- SPOOL 命令使用例項【oracle匯出純文字格式檔案】Oracle
- 使用 LVM 命令建立卷組和邏輯卷例項LVM
- RAC 例項 遷移到 單例項 -- 使用RMAN Duplicate單例
- Linux中head命令例項Linux
- Linux中介紹who命令例項Linux
- expand 與 unexpand 命令例項教程
- openstack命令建立雲主機例項
- 通過例項學習 tcpdump 命令TCP
- FTP命令詳解(含操作例項)FTP
- tunna工具使用例項
- flex的使用例項Flex
- DHTML Tree 使用例項HTML
- findmnt 命令的八個應用例項
- $$和||使用程式碼例項
- Watir基礎使用例項
- DHTML Tree 使用例項 (二)HTML
- Linux iostat命令詳解和使用例項(磁碟操作監控工具)LinuxiOS
- 使用impdp命令在不同例項間透過dblink同步資料庫資料庫