您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Linux restorecon命令怎么用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Linux restorecon命令怎么用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
restorecon命令 用來恢復SELinux文件屬性即恢復文件的安全上下文。
恢復文件的安全上下文
restorecon [-iFnrRv] [-e excludedir ] [-o filename ] [-f filename | pathname...]
-i:忽略不存在的文件。 -f:infilename 文件 infilename 中記錄要處理的文件。 -e:directory 排除目錄。 -R/-r:遞歸處理目錄。 -n:不改變文件標簽。 -o/outfilename:保存文件列表到 outfilename,在文件不正確情況下。 -v:將過程顯示到屏幕上。 -F:強制恢復文件安全語境。
假設CentOS安裝了apache,網頁默認的主目錄是/var/www/html,我們經常遇到這樣的問題,在其他目錄中創建了一個網頁文件,然后用mv移動到網頁默認目錄/var/www/html中,但是在瀏覽器中卻打不開這個文件,這很可能是因為這個文件的SELinux配置信息是繼承原來那個目錄的,與/var/www/html目錄不同,使用mv移動的時候,這個SELinux配置信息也一起移動過來了,從而導致無法打開頁面,具體請看下面的實例:
使用CentOS舉例,如果默認沒有安裝apache,確保網絡連接,使用下面的命令安裝
[root@jsdig.com ~]# yum install httpd # 我們在root的家目錄新建一個html文件 [root@jsdig.com ~]# pwd /root [root@jsdig.com ~]# vi index.html # 隨便輸入一段文字,保存退出 welcome to www.jsdig.com # 將這個文件mv到網頁默認目錄下 [root@jsdig.com ~]# mv index.html /var/www/html/ # # 這個時候我們使用firefox瀏覽器輸入127.0.0.1/index.html發現打不開, # 查看一下SELinux的日志文件,發現了下面這一段報錯信息,從這個報錯信息不難看出, # 進程httpd訪問網頁主目錄中的index.html時被SELinux阻止,原因是因為,SELinux配置信息不正確, # 正確的SELinux配置信息應該是scontext=后面的部分, # 而index.html文件的SELinux配置信息卻是tcontext=后面的部分, # 從tcontext=的第三段“admin_home_t”不難看出,這個文件的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來恢復網頁主目錄中所有文件的SELinux配置信息(如果目標為一個目錄,可以添加-R參數遞歸)
[root@jsdig.com html]# restorecon -R /var/www/html/
讀到這里,這篇“Linux restorecon命令怎么用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。