下载安装vsftpd服务,db4用来支持文件数据库
yum install -y vsftpd db4-utils ftp
建立宿主用户 vsftpd
useradd -s /sbin/nologin -M vsftpd
useradd -s /sbin/nologin -M www
编辑 vsftpd 配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO listen_port=21 local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/xferlog dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log connect_from_port_20=YES chown_uploads=NO xferlog_std_format=YES idle_session_timeout=600 data_connection_timeout=120 allow_writeable_chroot=yes chroot_local_user=YES listen=YES tcp_wrappers=YES userlist_enable=YES user_config_dir=/etc/vsftpd/user.d ascii_upload_enable=YES ascii_download_enable=YES check_shell=NO pasv_addr_resolve=YES pasv_enable=YES pasv_min_port=50000 pasv_max_port=50090 pam_service_name=virtusers virtual_use_local_privs=YES guest_enable=YES guest_username=www
建立用户配置文件目录
mkdir /etc/vsftpd/user.d
设定 PAM 验证文件,并指定虚拟用户数据文件读取,原vsftpd不变
vim /etc/pam.d/virtusers
#PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers
session required pam_loginuid.so
创建虚拟用户
touch /etc/vsftpd/virtusers.txt
添加可访问的用户和密码,一行一用户,一行一密码
echo -e 'user1
123456' >> /etc/vsftpd/virtusers.txt
db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
chmod 700 /etc/vsftpd/virtusers.db
规划好虚拟用户的主路径
mkdir -p /data/vsftpd
建立测试用户的FTP主目录
mkdir -p /data/vsftpd/user1
定制测试用户的配置文件
vim /etc/vsftpd/user.d/user1
添加:
local_root=/data/vsftpd/user1
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
目录赋权
chown -R www:www /data/vsftpd/
重启
centos6:service vsftpd restart
centos7:systemctl restart vsftpd
创建新用户
echo -e 'user2
123456' >> /etc/vsftpd/virtusers.txt
db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
chmod 700 /etc/vsftpd/virtusers.db
mkdir -p /etc/vsftpd/user.d/user2
vim /etc/vsftpd/user.d/user2
添加:
local_root=/data/vsftpd/user2
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
故障处理
若出现500错误
创建/home/www目录,重新连接即可