一、安装vsftpd:
1、安装vsftpd: yum install vsftpd -y
2、启动vsftpd: systemctl start vsftpd
3、设置开机启动:systemctl enable vsftpd
二.修改配置:
vi /etc/vsftpd/vsftpd.conf
listen=NO // 如此条改为了,等于YES也行
listen-address=172.16.0.236 // 绑定本机IP
#禁止匿名访问
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_list_enable=NO // 不允许用户离开自己的主目录
chroot_list_file=/etc/vsftpd.chroot_list // 虚拟用户列表,每行一个用户名
local_enable=YES // 允许本地用户访问
write_enable=YES // 允许本地用户写入
local_umask=022 // 上传后的文件的默认掩码
chroot_local_user=YES // 禁止本地用户离开自己的主目录
pam_service_name=vsftpd.vu // 权限验证需要的加密文件
guest_enable=YES // 开启虚拟用户功能
guest_username=ftp // 虚拟用户的宿主目录
virtual_use_local_privs=YES // 用户登录后操作目录和本地用户权限一样
user_config_dir=/etc/vsftpd/vconf // 虚拟用户主目录设置文件
allow_writeable_chroot=YES // 允许写入用户主目录,这条特别重要
- 建立用户文件
第一行用户名,第二行密码,不能使用root为用户名
vi /etc/vsftpd/virtusers
test
123456
liu
123456
yum install -y compat-db47.x86_64
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
chmod 600 /etc/vsftpd/virtusers.db
- 修改/etc/pam.d/vsftpd文件
修改前先备份
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
将auth及account的所有配置行均注释掉
vi /etc/pam.d/vsftpd
在里面添加这两句话
auth sufficient/lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient/lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
如果系统为32位,上面lib64改为lib
5.新建系统用户vsftpd(跟ftp用户不是一个,一个系统用户下可以创建多个ftp用户),用户目录为/home/vsftpd
先在家目录下建立vsftpd文件夹,这也是我们访问的空间
mkdir -p /home/vsftpd
用户登录终端设为/bin/false(即:使之不能登录系统)
useradd vsftpd -d/home/vsftpd -s /bin/false
chown -R vsftpd:vsftpd /home/vsftpd
6.创建用户文件夹
mkdir /etc/vsftpd/vconf
cd/etc/vsftpd/vconf
这里建立两个虚拟用户配合文件
touch test liu
建立用户根目录
mkdir -p /home/vsftpd/test/
编辑test用户配置文件,内容如下,其他用户类似
vi test
local_root=/home/vsftpd/test/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES