1.安装vsftpd服务
yum -y install vsftpd
2.创建系统用户
useradd -d /home/vsftpd -s /sbin/nologinvsftpd
登陆的虚拟用户将以该用户的身份对目录进行操作
3.创建虚拟用户
vi /etc/vsftpd/loginusers.conf
添加:
ftpuser
redhat
创建虚拟用户主目录
mkdir /home/vsftpd/ftpuser
4.根据这个文件创建数据库文件
db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db
chmod 600 /etc/vsftpd/loginusers.db
5.启用这个数据库文件
vi /etc/pam.d/vsftpd
注释掉所有条目然后增加:
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
6.创建虚拟用户配置文件
mkdir /etc/vsftpd/userconf
vi /etc/vsftpd/userconf/ftpuser
添加:
local_root=/home/vsftpd/ftpuser/ (设定主目录为/home/vsftpd/ftpuser)
write_enable=YES
7.修改主配置文件
修改:
anonymous_enable=NO
chroot_local_user=YES
ascii_upload_enable=YES
ascii_download_enable=YES
增加:
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/userconf
allow_writeable_chroot=YES(最新版的vsftpd为了安全必须用户主目录(也就是/home/vsftpd/ftpuser)没有写权限,才能登录,或者使用allow_writeable_chroot=YES)
systemctl restart vsftpd
搭建ok
关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
如果想上传文件,删除文件,创建文件。可添加以下参数到/etc/vsftpd/vsftpd.conf
anon_upload_enable=YES/NO(NO)
如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
anon_world_readable_only=YES/NO(YES)
如果设为YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认值为YES。
anon_mkdir_write_enable=YES/NO(NO)
如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
anon_other_write_enable=YES/NO(NO)
如果设为YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果 anon_upload_enable=NO,则匿名用户不能上传文件,但可以删除或者重命名已经存在的文件;如果 anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但可以删除或者重命名已经存在的文件夹。)默认值为NO。