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