CentOS 6.3 64bit 搭建vsFTP服務

MicHoinvill 8年前發布 | 31K 次閱讀 FTP服務器

來自: http://jingyan.baidu.com/article/03b2f78c771db45ea237ae28.html


1、廢話少說,開始吧。
找到你的centos版本的鏡像文件,去到里面這個路徑,找到并安裝兩個rpm
rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm  //FTP核心文件
rpm -ivh db4-4.7.25-17.el6.x86_64.rpm  //虛擬用戶必要工具


2、修改配置文件 (下面的 //中文建議都去掉吧,避免問題,這里加上只是解析一下)
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak //備份
vi /etc/vsftpd/vsftpd.conf  //創建配置文件
列出我的配置,根據環境修改做適當修改,注意每行后面不可有空格

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
nopriv_user=ftpde
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#You need to add content
background=YES
guest_enable=YES
guest_username=ftpde
user_config_dir=/etc/vsftpd/user_config
max_clients=100
max_per_ip=20
pasv_enable=YES
listen_port=40001
pasv_min_port=40002
pasv_max_port=40010

3、創建本地用戶ftpde 以及chroot虛擬用戶映射文件
useradd ftpde //創建ftpde用戶,此用戶為系統用戶
vi /etc/vsftpd/vsftpd.chroot_list
ftpde 

//該文件為手動建立,每一行代表一個欲將虛擬用戶映射到本地賬戶的名稱

4、創建用戶賬戶文件passwd.file
該文件默認也不存在的,該文件用來存儲用戶賬戶以及明文密碼,格式為每個賬戶兩行,第一行是用戶名,第二行是密碼,以此類推!
vi /etc/vsftpd/passwd.file
ftpdemo
123456


5、生成虛擬用戶認證的db文件,執行下面命令
db_load -T -t hash -f /etc/vsftpd/passwd.file /etc/vsftpd/ftpuser_passwd.db


6、創建用戶配置文件(ftpdemo只是一個樣例賬號,自己可以另外取名,然后各個地方對應好,即可)
建立好賬戶后,需要為每個用戶創建記錄FTP目錄位置、用戶權限等信息的配置文件

mkdir /etc/vsftpd/user_config

配置文件以FTP用戶名為文件名稱,每個FTP用戶一個文件,例如ftedemo
vi /etc/vsftpd/user_config/ftpdemo

內容如下(//中文的內容, 建議去掉):
local_root=/data/FTP/ftpdemo                //該路徑對應的目錄必須存在,下一步創建
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES


7、創建ftp用戶目錄,并賦讀/寫權限
mkdir -p /data/FTP/ftpdemo


FTP
 用戶所映射到的系統帳戶必須對 FTP 
用戶主目錄擁有相應的讀/寫權限。仍然以ftpdemo用戶為例,本文中ftpdemo虛擬用戶是被映射到ftpde系統帳戶的,所以 ftpde 
系統帳戶必須擁有對ftpdemo 的 FTP 主目錄/data/FTP/ftpuser 的讀/寫權限

chown -R ftpde:ftpde /data/FTP/ftpdemo/

8、修改Pam 認證模塊

備份原有配置文件
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

創建新配置文件
vi /etc/pam.d/vsftpd具體內容如下:

auth       required     pam_userdb.so db=/etc/vsftpd/ftpuser_passwd
account    required     pam_userdb.so db=/etc/vsftpd/ftpuser_passwd

9、修改防火墻
vi /etc/sysconfig/iptables

配置如下:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 40001:40010 -j ACCEPT

重起防火墻,使配置生郊

service iptables restart

10、關閉selinux

setenforce 0  //臨時關閉,重起系統失效

或者修改selinux配置關閉selinux

vi /etc/selinux/config 

SELINUX=disable
或者其他的各種方法:
如果出現:“500 OOPS: cannot change directory:/home/xxx”
參考解決: 

11、重啟vsftp
service vsftpd restart

12、使用FTP等工具試試吧。個人使用filezilla很不錯。
 本文由用戶 MicHoinvill 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!