[root@localhost ~]# getsebool [-a] [規(guī)則名]
-a 選項的含義是列出所有規(guī)則的開啟狀態(tài)。[root@localhost ~]# getsebool -a
abrt_anon_write --> off
abrt_handle_event --> off
allow_console_login --> on
allow_cvs_read_shadow --> off
allow_daemons_dump_core --> on
allow_daemons_use_tcp_wrapper --> off
…省略部分輸出…
#getsebool命令明確地列出了規(guī)則的開啟狀態(tài)
semanage boolean -l 命令(此命令需事先手動安裝),此命令的輸出結(jié)構(gòu)同 getsebool 命令相比,輸出信息中多了默認狀態(tài)、當(dāng)前狀態(tài)以及相關(guān)描述等信息。感興趣的讀者,可以自己嘗試運行,觀看輸出結(jié)果。[root@localhost ~]# setsebool [-P] 規(guī)則名=[0|1]
-P 選項的含義是將改變寫入配置文件,永久生效。規(guī)則名有 2 個值,分別是 0 和 1,0 代表將該規(guī)則關(guān)閉,1 代表將該規(guī)則開啟。[root@localhost ~]# getsebool -a | grep httpd
#查詢和apache相關(guān)的規(guī)則
…省略部分輸出…
httpd_enable_homedirs --> off
…省略部分輸出…
#發(fā)現(xiàn)httpd_enable_homedirs規(guī)則是開啟的,這個規(guī)則主要用于允許apache進程訪問用戶的家目錄
#如果不開啟這個規(guī)則,那么apache的userdir功能將不能使用
[root@localhost ~]# setsebool -P httpd_enable_homedirs=1
#開啟httpd_enable_homedirs規(guī)則
[root@localhost ~]# getsebool httpd_enable_homedirs
httpd_enable_homedirs --> on
#查詢規(guī)則狀態(tài)是開啟
[root@localhost ~]# setsebool -P httpd_enable_homedirs=0
#關(guān)閉規(guī)則
[root@localhost ~]# getsebool httpd_enable_homedirs
httpd_enable_homedirs --> off
#查詢規(guī)則狀態(tài)是關(guān)閉
[root@localhost ~]# yum -y install vsftpd
#安裝vsftpd服務(wù)器端
[root@localhost ~]# yum -y install ftp
#安裝ftp命令,也就是ftp客戶端
[root@localhost ~]# useradd user
[root@localhost ~]# passwd user
#添加測試用戶,并配置密碼
[root@localhost ~]# service vsftpd start
#啟動vsftpd服務(wù)
[root@localhost ~]# ftp 192.168.4.210
#登錄本機的ftp
Connected to 192.168.4.210 (192.168.4.210).2.0 (vsFTPd 2.2.2)
Name (192.168.4.210:root):user ←輸入用戶名
3.1 Please specify the password.
Password: ←輸入密碼
5.0 OOPS:cannot change directory:/home/user
Login failed.
#登錄報錯,不能正常登錄
[root@localhost ~]# audit2why < /var/log/audit/audit.log
#分析SELinux的日志
type-AVC msg-audit(1370428985.525:1146) : avc: denied {search } for pid-28408 comm-"vsftpd" name="home" dev=sda3    ino=1046530 scontext=unconfined_u:system_r:ftpd_t:s0-s0:c0.ol023
tcontext=system_u:object_r:home_root_t:s0 tclass=dir
#有關(guān)于vsftpd的錯.看來確實是SELinux引起的不能登陸 ...省略部分輸出...
Was caused by:
One of the following booleans was set incorrectly.
Description:
Allow ftp servers to login to local users and read/write all files on the system, governed by DAC.
Allow access by executing:
# setsebool -P allow_ftpd_full_access 1
Description:
Allow ftp to read and write files in the user home directories
Allow access by executing:
#   setsebool -P ftp_home_dir 1
#建議執(zhí)行此命令,運行ftp讀取和寫入用戶的家目錄
[root@localhost ~]# setsebool -P ftp_home_dir 1
#開啟ftp_home_dir規(guī)則
[root@localhost ~]# ftp 192.168.4.210
Connected to 192.168.4.210 (192.168.4.210).2.0 (vsFTPd 2.2.2)
Name (192.168.4.210:root):user ←輸入用戶名
3.1 Please specify the password.
Password: ←輸入密碼
2.0 Login successful. ←登錄成功
新聞熱點
疑難解答
圖片精選