1:利用yum源安裝 yum install vsftpd 2:修改配置文件 vi /etc/vsftpd/vsftpd.conf, 修改vsftpanonymous_enable=NO(不開啓匿名登錄) 添加 guest_enable=YES(開啓虛擬用戶) guest_username=www(虛擬用戶映射到本地的用戶) user_config_dir=/etc/vsftpd/vsftpd_user_conf(虛擬用戶的配置文件目錄) 3:建立虛擬帳號和用戶口令文件 a: 建立一個包含虛擬用戶名及其口令的文本文件 vi /etc/vsftpd/logins.txt,文件中奇數行爲用戶名、偶數行設置密碼,(可以有多個用戶名和密碼)如下: ftpuser #用戶名 userpassword #密碼 b:生成vsftpd的認證文件: db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db 如果提示 db_load: command not found,則利用yum安裝yum install db4-utils。 chmod 600 /etc/vsftpd/vsftpd_login.db c:建立 user_config_dir 文件目錄,並創建以用戶名命名的配置文件 mkdir /etc/vsftpd/vsftpd_user_conf vi /etc/vsftpd/vsftpd_user_conf/ftpuser virtual_use_local_privs=YES 設置爲 YES 時,虛擬用戶使用與本地用戶相同權限, 設置爲 NO 時,虛擬用戶使用與匿名用戶相同權限 write_enable=YES local_root=/data/www/ #此用戶的ftp目錄,請確保上面配置的本地用戶www對此目錄有相應權限。 4:配置PAM文件 vi /etc/pam.d/vsftpd輸入以下內容並保存 auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login account required pam_userdb.so db=/etc/vsftpd/vsftpd_login 5:啓動vsftp service vsftpd start 6: 防火牆相關皮配置。 FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive ( 也就是PASV,被動方式)。 主動模式下FTP 客戶端首先和FTP服務器的TCP 21端口建立連接,通過這個通道發送命令,客 戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼端口接收 數據。在傳送數據的時候,服務器端通過自己的TCP 20端口連接至客戶端的指定端口發送數據。 Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而 是Pasv命令。FTP服務器收到Pasv命令後,隨機打開一個高端端口(端口號大於1024)並且通知客 戶端在這個端口上傳送數據的請求,客戶端連接FTP服務器此端口,然後FTP服務器將通過這個端口 進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。 因爲大部分ftp客戶端軟件都是被動模式,所以我們要根據被動模式開啓防火牆中的相應端口。 首先,設置被動模式打開的 vi /etc/vsftpd/vsftpd.conf 添加 pasv_min_port=3300 #設置被動模式的端口範圍 pasv_max_port=3310 #設置被動模式的端口範圍 然後更改防火策略 vi /etc/sysconfig/iptables 添加 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3300:3310 -j ACCEPT 最後重啓服務使其生效 service vsftpd rstart service iptables restart 除了防火牆,selinux也會阻止ftp登錄,可以關閉selinux。 ------到此vsftp的配置完畢。 |
CentOS vsftpd虛擬用戶創建步驟
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.