您的位置:首页 > 运维架构 > Linux

[Linux]FTP/VSFTP/配置文件/本地匿名虚拟用户访问/ftp客户端使用

2017-12-08 19:58 656 查看

》》FTP 

File Transfer Protocol 

文件传输协议。用于控制文件的双向传输,就是下载+上传

》主动模式

服务端从20端口主动向客户端发起连接,默认。

流程:

客户端发送请求后客户端随机开启端口,客户端主动通过20端口主动向客户端发送数据



》被动模式

服务端在指定范围内某个端口被动等待客户端连接

流程:

服务器开启随机端口1024以上,将端口号告知客户端后,客户端会等待客户端访问



配置:65535<端口



》》vsftpd

Very Secure FTP Deamon

安装:

yum install vim vsftpd

启动服务:

service vsftpd start


关闭服务:

pkill vsftpd


》配置文件

主配置

/etc/vsftpd/vsftpd.conf







有需要可手动加入以下配置:



》登陆监听配置listen_address=ip

这个真是个神奇的选项。
我本来以为监听ip禁止登陆,谁知道居然是禁止客户端连接服务器ip,也就是说这个必须写和服务器ip地址一致,或者网卡一致,否则无法登陆进去。

》用户控制列表文件

黑名单……写进去的用户名会禁止登陆ftp:

/etc/vsftpd/ftpusers


也是黑名单,但是可反转为白名单:
/etc/vsftpd/user_list

》相关用户

匿名用户

annonymousf或ftp
密码可为空,不安全,一般禁止访问

本地用户

系统用户,使用系统用户的密码可登陆

虚拟用户

管理员自定义的模拟用户,推荐使用

》关闭防火墙和SELnuix

关闭防火墙

不保存服务只会临时生效
iptables -F
service iptables save

关闭SELnuix

vim /etc/selinux/config
修改为SELINUX=disabled
查看生效
getenforce
同时sestatus也可以
如果临时关闭:setenforce 0
1是开始

》》客户端连接

如果是虚拟机,请开启两块网卡,一块NAT,一块hostonly,前者连接putty,后者用来连接真实主机如本机windows,并且后者最后配置一个ip
打开dos
注意关闭防火墙以及SELinux

命令行登陆:



常用命令:



下载:

在哪个目录下执行ftp命令,文件下载就会下载在哪里

上传:

服务端在 
如果是用本地用户登录:/home/登陆名
如果是匿名用户:/var/ftp/

如果报错:200 PORT command successful. Consider using PASV.
关闭windows防火墙即可。

地址栏登陆:

形如:ftp://你的服务端Ip地址
右键空白处点击登陆
登陆后如图


》》用户访问设置

》匿名用户访问(不推荐)

允许匿名用户上传,需要配置默认上传目录

本地/var/ftp/pub设置权限:chown ftp /var/ftp/pub(不建议直接修改ftp目录,因为我更改权限后匿名登陆不了了……)

配置主配置文件里修改或写入(/etc/vsftpd/vsftpd.conf)



》登陆示意

登陆后密码不需要登陆,上传需要进入到pub目录才有上传权限



》本地用户访问



本地上传到服务器地址是 /home/用户名/
但是可修改



其他配置





》虚拟用户访问

为每个虚拟用户建立自己的配置文件,单独定义权限

步骤:

添加虚拟用户口令文件

vim /etc/vsftpd/vuser.txt

T#用户名
123#密码
J
123

生产虚拟用户口令认证文件

安装口令认证命令
yum -y install db4-utils
把文本文档转变为认证的数据库
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

编辑vsftpd的PAM认证文件

文件的其他行针对本地登录用户,可注释掉,注释掉后本地就禁止登陆ftp

vim /etc/pam.d/vsftpd
写入(如果是64位操作系统是lib64,32为/lib/ 实测写错会登陆失败……
auth       required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account    required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

建立本地映射用户并设置宿主目录权限

/home/vftproot为用户默认上传的目录
useradd -d /home/vftproot -s /sbin/nologin vuser
chmod 755 /home/vftproot

修改配置文件(vsftpd.conf)

开启虚拟用户///FTP虚拟用户对应的系统用户///PAM认证文件(默认存在)
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd

重启服务
service vsftpd restart
配置到这里可以正常下载,但是不能上传。
调整虚拟用户权限

ftp同意上传
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

》》用户访问限制

urserlist为黑名单:



userlist反转为白名单:userlist_file小写!!图片有错



》其他

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐