vsftpd的安装和使用配置 被动模式 2021年1月11日 centos7阿里云

#日期环境 
#2021111日
#centos7 阿里云 

#1、关闭客户端本地防火墙(专用网络公用网络都关闭)并将图1(文章尾部)
#2、开启服务器端开放端口,并配置安全组(端口号 202121100-21110)
#20端口  主动模式数据传输端口
#21端口  主动模式连接控制端口、被动模式连接控制端口
#21100-21110端口  被动模式数据传输端口
#本文采用被动模式,为了增强安全性和避免同时连接造成的堵塞,因为主动模式只有一个数据传输端口。一般也是采用被动模式
firewall-cmd  --zone=public --permanent --add-port=20/tcp
firewall-cmd  --zone=public --permanent --add-port=21/tcp
firewall-cmd  --zone=public --permanent --add-port=21100/tcp
firewall-cmd  --zone=public --permanent --add-port=21101/tcp
firewall-cmd  --zone=public --permanent --add-port=21102/tcp
firewall-cmd  --zone=public --permanent --add-port=21103/tcp
firewall-cmd  --zone=public --permanent --add-port=21104/tcp
firewall-cmd  --zone=public --permanent --add-port=21105/tcp
firewall-cmd  --zone=public --permanent --add-port=21106/tcp
firewall-cmd  --zone=public --permanent --add-port=21107/tcp
firewall-cmd  --zone=public --permanent --add-port=21108/tcp
firewall-cmd  --zone=public --permanent --add-port=21109/tcp
firewall-cmd  --zone=public --permanent --add-port=21110/tcp
firewall-cmd --reload




#3、卸载以及删除相关文件和看有没有占用21端口,PID 该进程,PPID 父进程 
yum remove vsftpd
find / -name '*ftp*' -exec rm -rf { } \;
netstat -ap|grep 21
netstat -atnp|grep 21
kill -9 PID
kill -9 PPID

#4、安装并配置自启动
yum -y install vsftpd
systemctl enable vsftpd
systemctl start vsftpd

#5、建立系统用户名为virtual,以/var/ftproot为所有虚拟用户的根目录 不可以SHH登录LINUX系统
useradd -d /var/ftproot -s /sbin/nologin virtual
mkdir /var/ftproot
chmod 777 /var/ftproot

#6、建立虚拟用户名单,奇数行表示虚拟用户名,偶数行表示密码,。
vim /etc/vsftpd/vsftpd.user

username
userpwd


#7、并生成db文件。vsftpd是通过读取db文件。600不可以更改
db_load -T -t hash -f /etc/vsftpd/vsftpd.user  /etc/vsftpd/vsftpd.db

chmod 600 /etc/vsftpd/vsftpd.db


#8、vsftpd读取vsftpd.pam文件,再读取第六步的db文件
vim /etc/pam.d/vsftpd.pam
auth          required  pam_userdb.so  db=/etc/vsftpd/vsftpd
account       required  pam_userdb.so  db=/etc/vsftpd/vsftpd
auth required pam_tally2.so deny=5 lock_time=300
#5次后锁账户,5分钟后自动解锁


#9、虚拟用户配置目录以及配置,username换成第6步的用户名
mkdir /etc/vsftpd/dir
vim /etc/vsftpd/dir/username

#可上传可下载可更新
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
write_enable=YES
anon_world_readable_only=NO
local_root=/var/ftproot/username

#可上传不可下载不可更新
anon_upload_enable=YES
anon_mkdir_write_enable=YES
write_enable=YES
local_root=/var/ftproot/username

# 不可上传只可下载不可更新
anon_umask=022
local_root=/var/ftproot/username

#10、建立虚拟用户的目录
mkdir /var/ftproot/username
chmod 777 /var/ftproot/username

#11、主配置文件
vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
chroot_local_user=YES
pam_service_name=vsftpd.pam
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/dir
pasv_enable=YES
pasv_min_port=21100
pasv_max_port=21110
write_enable=YES
pasv_promiscuous=YES




#12、重启
systemctl start vsftpd
#13、在资源管理器中输入ftp:IP,弹出框输入username userpwd即可。




#14、若需要加入新的虚拟用户(这里是所有虚拟用户名单,若删除原来的账号,则不能登录ftpd)

vim /etc/vsftpd/vsftpd.user
#追加用户名和密码
#重新生成用户名和密码db文件
db_load -T -t hash -f /etc/vsftpd/vsftpd.user  /etc/vsftpd/vsftpd.db
#修改权限
chmod 600 /etc/vsftpd/vsftpd.db
#建立新用户的家目录
mkdir /var/ftproot/新的username
#修改家目录权限
chmod 777 /var/ftproot/username
#建立新用户的权限
vim /etc/vsftpd/dir/新的username

#可上传可下载可更新
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
write_enable=YES
anon_world_readable_only=NO
local_root=/var/ftproot/新的username

#15vsftpd重启
systemctl restart vsftpd.service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值