vsftpd是Linux下比較著名的FTP服務器,搭建FTP服務器當然首選這個。
1.安裝vsftpd
yum -y install vsftpd db4 db4-utils
2.設置開機啟動
chkconfig vsftpd on
3.啟動服務
service vsftpd start
添加用戶和配置
增加client用戶
useradd vsftpd -s /sbin/nologin
vsftpd.conf配置
vim /etc/vsftpd/vsftpd.conf
#禁用匿名用戶
anonymous_enable=NO
#禁止匿名用戶上傳
anon_upload_enable=NO
#禁止匿名用戶建目錄
anon_mkdir_write_enable=NO
#接受本地用戶
local_enable=YES
#可以上傳(全局控制).若想要匿名用戶也可上傳則需要設置anon_upload_enable=YES,若想要匿名用戶可以建立目錄則需要設置anon_mkdir_write_enable=YES.這里禁止匿名用戶上傳,所以不設置這兩項.
write_enable=YES
#本地用戶上傳文件的umask
local_umask=000
anon_umask=000
#為YES則進入目錄時顯示此目錄下由message_file選項指定的文本文件(,默認為.message)的內容
dirmessage_enable=YES
ftpd_banner=This is a vsftp server
#使用上傳/下載日志,日志文件默認為/var/log/vsftpd.log,可以通過xferlog_file選項修改
xferlog_enable=YES
#日志使用標準xferlog格式
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
chown_uploads=NO
#默認超時時長
idle_session_timeout=600
#默認上傳時長
data_connection_timeout=120
nopriv_user=vsftpd
async_abor_enable=YES
#支持ascii上傳下載
ascii_upload_enable=YES
ascii_download_enable=YES
#若為NO,則記錄在chroot_list_file選項所指定的文件(默認是/etc/vsftpd.chroot_list)中的用戶將被chroot在登錄后所在目錄中,無法離開.如果為YES,則所記錄的用戶將不被chroot.
chroot_list_enable=NO
ls_recurse_enable=NO
#服務器以standalong模式運行,這樣可以進行下面的控制
listen=YES
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES
max_clients=100
max_per_ip=5
tcp_wrappers=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40080
pasv_promiscuous=YES
創建ftp目錄
mkdir -p /gcti/voicefile/staticVoice/ba-csc/
chmod 777 -R /gcti/voicefile/staticVoice/ba-csc/
設置虛擬賬戶配置
mkdir /etc/vsftpd/vconf
vim /etc/vsftpd/vconf/client
local_root=/gcti/voicefile
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
設置虛擬賬戶用戶名密碼
vim /etc/vsftpd/vusers
client
qOaqsdyonDu4fEG2
生成虛擬用戶數據文件
db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vusers.db
配置pam驗證
vim /etc/pam.d/vsftpd.vu
添加到文件最后
auth??? sufficient????? /lib64/security/pam_userdb.so???? db=/etc/vsftpd/vusers
account sufficient????? /lib64/security/pam_userdb.so???? db=/etc/vsftpd/vusers
啟動服務
service vsftpd restart