vsftpd軟體安裝與設定
FTP Server設定,要把設定檔寫對,然後要把Selinux關閉就可以成功。
安裝:yum install vsftpd
設定檔: /etc/vsftpd/vsftpd.conf
# A. 與匿名者有關的資訊:
anonymous_enable=YES =>支援匿名者的登入使用 FTP 功能
anon_upload_enable=YES => 匿名者可上傳檔案
anon_mkdir_write_enable=YES =>匿名者可寫入檔案
# B. 與用戶有關的設定
local_enable=YES =>支援本地端用戶登入
write_enable=YES =>允許使用者上傳資料 (檔案與目錄)
local_umask=022 =>建立新目錄 (755) 與檔案 (644) 的權限
# C. 伺服器環境設定
dirmessage_enable=YES =>若目錄下有 .message 則會顯示該檔案的內容
xferlog_enable=YES =>登錄檔記錄,記錄在 /var/log/xferlog
connect_from_port_20=YES =>主動式連線功能
xferlog_std_format=YES =>支援 WuFTP 的登錄檔格式
listen=YES =>以 stand alone 方式啟動 vsftpd
pam_service_name=vsftpd => PAM 模組管理
userlist_enable=YES =>支援 /etc/vsftpd/user_list 檔案內的帳號登入管控!
tcp_wrappers=YES =>支援 TCP Wrappers 的防火牆機制
關閉 Selinux
- 暫時關閉或開啟 Selinux 的方法:在命令列下指令: setenforce 0 (關閉),setenforce 1 (開啟)
- 系統關閉或開啟Selinux的方法:
SELINUX=enforcing 改成--> SELINUX=disabled
重新開機 就可以把selinux關掉
Selinux 的設定、查詢與改變
- 常用的指令
- sestatus ==> 看Selinux的狀態
- sestatus -b ==> 看application管理狀態
- getenforce ==> 顯示Selinux模式
- setenforce 0 ==> 暫時將Selinux模式設為寬容模式
- setenforce 1 ==> 暫時將Selinux模式設為強制模式
註:setenforce 必需在selinux enable狀態才有用 - ls -Z 檔名 ==> 看SELinux對檔案管理狀態
- ls -dZ 資料匣 ==> 看SELinux對資料匣管理狀態
- chcon ==> 改變檔案、資料匣管理
- getsebool ==> 看application管理狀態
- setsebool ==> 變更application管理
- restorecon ==> 復原成原有的 SELinux type
- semanage ==> 安全性本文的查詢與修改
註:必需安裝policycoreutils-phython套件 - seinfo ==> 查看政策中規則數量
註:必需安裝setools-console套件 - sealert -l ** ==> selinux 錯誤訊息詳細列出
註1:必需安裝setroubleshoot及setroubleshoot-server
註2:安裝完後需重開系統
[root@114-34-42-14 dljeng]# sestatus -b | grep ftp
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
ftp_home_dir off
ftpd_connect_db off
ftpd_use_passive_mode off
httpd_enable_ftp_server off
tftp_anon_write off
查看目錄的狀態
[root@114-34-42-14 home]# ls -dZ dljeng
改變使得使用者可以登入個人家目錄
drwx------. dljeng dljeng unconfined_u:object_r:user_home_dir_t:s0 dljeng
[root@114-34-42-14 home]# setsebool -P allow_ftpd_full_access=1
檢查selinux的錯誤
log檔 /var/log/messages
關鍵字 setroubleshoot
cat /var/log/messages | grep setroubleshoot ==> 查尋錯誤
依錯誤敘述找問題
sealert -l xx(xx 錯誤代碼)
開機時啟動FTPD等服務
1. ntsysv
2. chkconfig --level 5 vsftpd on
chkconfig --list | grep vsftpd
檢查selinux的錯誤
log檔 /var/log/messages
關鍵字 setroubleshoot
cat /var/log/messages | grep setroubleshoot ==> 查尋錯誤
依錯誤敘述找問題
sealert -l xx(xx 錯誤代碼)
開機時啟動FTPD等服務
1. ntsysv
2. chkconfig --level 5 vsftpd on
chkconfig --list | grep vsftpd