修改對象(文件)的安全上下文
chcon命令 是修改對象(文件)的安全上下文,比如:用戶、角色、類型、安全級別。也就是將每個文件的安全環境變更至指定環境。使用--reference
選項時,把指定文件的安全環境設置為與參考文件相同。chcon命令位于/usr/bin/chcon
。
chcon [選項]... 環境 文件...
chcon [選項]... [-u 用戶] [-r 角色] [-l 范圍] [-t 類型] 文件...
chcon [選項]... --reference=參考文件 文件...
-h, --no-dereference:影響符號連接而非引用的文件。
--reference=參考文件:使用指定參考文件的安全環境,而非指定值。
-R, --recursive:遞歸處理所有的文件及子目錄。
-v, --verbose:為處理的所有文件顯示診斷信息。
-u, --user=用戶:設置指定用戶的目標安全環境。
-r, --role=角色:設置指定角色的目標安全環境。
-t, --type=類型:設置指定類型的目標安全環境。
-l, --range=范圍:設置指定范圍的目標安全環境。
以下選項是在指定了-R
選項時被用于設置如何穿越目錄結構體系。如果您指定了多于一個選項,那么只有最后一個會生效。
-H:如果命令行參數是一個通到目錄的符號鏈接,則遍歷符號鏈接。
-L:遍歷每一個遇到的通到目錄的符號鏈接。
-P:不遍歷任何符號鏈接(默認)。
--help:顯示此幫助信息并退出。
--version:顯示版本信息并退出。
如果你想把這個ftp共享給匿名用戶的話,需要開啟以下:
chcon -R -t public_content_t /var/ftp
如果你想讓你設置的FTP目錄可以上傳文件的話,SELINUX需要設置:
chcon -t public_content_rw_t /var/ftp/incoming
允許用戶HHTP訪問其家目錄,該設定限僅于用戶的家目錄主頁:
setsebool -P httpd_enable_homedirs 1
chcon -R -t httpd_sys_content_t ~user/public_html
如果你希望將samba目錄共享給其他用戶,你需要設置:
chcon -t samba_share_t /directory
共享rsync目錄時:
chcon -t public_content_t /directories