匿名用户登录:
啥也不用改,安装并启动vsftpd
访问ftp://ip
想要创建文件或者删除文件可以修改配置文件 /etc/vsftpd/vsftpd.conf
实名用户登录:
- 如何安装vsftpd
rpm -ivh vsftpd
yum install -y vsftpd - 如何启动vsftpd
service vsftpd restart
/etc/init.d/vsftpd start
配置文件修改
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO 禁止匿名访问(文件中有)
chroot_local_user=yes 禁锢登录目录(文件中有)
listen_port=2121 改ftp端口(在最后添加)
local_root=/data/ftproot 改登录目录为/data/ftproot (新创建此目录)(在最后添加)
userlist_deny=NO 白名单生效(在最后添加)
max_clients=20 最大并发客户端(在最后添加)
max_per_ip=2 每ip:最大并发(在最后添加)
local_max_rate=100000 限制下载速度(在最后添加)
编辑/etc/vsftpd/user_list文件,将原有用户删除后添加
anonymous
up
down
创建/data/ftproot目录
mkdir -p /data/ftproot
重新启动服务
service vsftpd restart
修改/data/ftproot目录权限
setfacl -m u🆙rwx /data/ftproot
访问ftp:
ftp://ip:2121
虚拟用户登录:
创建一个虚拟的数据库
vi xxxx
奇数行为账户名
偶数行为密码
db_load -T -t hash -f /data/ftpuser/ftpuser /data/ftpuser/ftpuser.db
创建主目录等待虚拟账户的映射
useradd -d /data/ftpuser/ftpuser1 -s /sbin/nologin ftpuser1
chown -R ftpuser1.ftpuser1 /data/ftproot/*
修改pam的验证方式
- 备份 mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
- 进入/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS
- 将vsftpd.pam复制到/etc/pam.d并改名为vsftpd_v
cp /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd_v - 编辑/etc/pam.d/vsftpd_v (注意,用户库文件不需要加.db)
64位操作系统改为:
auth required /lib64/security/pam_userdb.so db=/data/ftpuser/ftpuser
account required /lib64/security/pam_userdb.so db=/data/ftpuser/ftpuser
32位操作系统改为:
auth required /lib/security/pam_userdb.so db=/root/ftpuser
account required /lib/security/pam_userdb.so db=/root/ftpuser - 修改配置文件
vim /etc/vsftpd/vsftpd.conf
在配置中空行处添加如下内容
anonymous_enable=NO
chroot_local_user=YES
local_root=/data/ftproot
max_clients=20
local_max_rate=100000
pam_service_name=vsftpd_v
userlist_enable=YES
guest_enable=YES
guest_username=ftpuser1
若要允许虚拟用户上传文件和创建目录,需开启匿名上传功能
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
- 重启服务测试