Linux_vsftpd服务安装及配置(三种登陆⽅式)
FTP服务部署
ftp传输的机制:
FTP通过21端⼝与Client端进⾏指令传输,通过20端⼝进⾏数据传输,根据⼯作模式的不同VSFTP分为主动模式和被动模式2种,⼤多是情况VSFTP是⼯作在被动模式下
主动模式:
1.Client端以⼀个⼤于1024的随机端⼝向FTP服务器的21号端⼝发出建⽴连接请求
2.Server端收到请求后,会以20端⼝主动去链接Client端的随机端⼝+1号端⼝,如果该端⼝被占⽤,则回去随机端⼝+2号端⼝以此类推,直到Client端空闲的端⼝
3.Client端与Server端通过20端⼝进⾏数据传输
被动模式:
1.Client端以⼀个⼤于1024的随机端⼝向FTP服务器的21号端⼝发出建⽴连接请求
2.Server端会通过21号端⼝给Client端发送⼀个类似(xyz,ab)的数值来告诉Client端打开的随机端⼝,同时打开xyz*256+ab端⼝
3.Client端再通过⼀个随机端⼝连接Server端的xyz*256+ab端⼝进⾏数据传输
⽽现实环境中⽆论是Client端还是Server端都是在防⽕墙后⾯,在主动模式下VSFTP会链接Client端的随机+1号端⼝,Client端显然不会将防⽕墙上所有随机端⼝开放;⽽在被动下问题同样的问题仍然会摆在Server端的防⽕墙⾯前,这就需要Server端的防⽕墙开启连接追踪功能,即放⾏与21号端⼝有关联的端⼝访问请求,这也就是为什么⼤部分情况下VSFTP是以被动模式⼯作。
vsftp部署:
环境描述:
服务端系统:CentOS7.5;内存2G;硬盘30G
客户端系统:Windows10 ; 软件:xftp客户端
注意:1)每⼀步的操作路径,不要混乱
2) 配置的详细介绍在本⽂章的最后部分展⽰
3)本次安装vsftpd以yum的形式进⾏部署
Vsftp的登陆类型:
VSFTP提供了系统⽤户、匿名⽤户、和虚拟⽤户三种不同的登陆⽅式。所有的虚拟⽤户会映射成⼀个系统⽤户,访问时的⽂件⽬录是为此系统⽤户的家⽬录;匿名⽤户也是虚拟⽤户,映射的系统⽤户为ftp,详细信息可以通过f查看
1.安装vsftp
[root@linuxMA ~]# yum -y install vsftpd*
2.使⽤rpm –qc 查看vsftpd的配置⽂件
[root@linuxMA ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/f
#配置⽂件详解
/etc/logrotate.d/vsftpd 滚动⽇志配置⽂件
/etc/pam.d/vsftpd 认证⽂件,pam全称为Plugable Authentication
/etc/vsftpd/ftpusers 控制登陆系统⽤户的机制,出现在该⽂件中的⽤户不允许使⽤ftp服务器,这是在/etc/pam.d/vsftpd中定义的
/etc/vsftpd/user_list 配合/etc/f中的userlist_enable=YES和userlist_deny=YES|NO实现⿊⽩名单此处需要注意的是:⿊⽩名单的前提是/etc/f配置⽂件中userlist_enable=YES,userlist_deny选项默认为YES(⿊名单),即该⽂件中出现的⽤户不允许
登陆VSFTP,就算⼿动添加userlist_deny=NO(⽩名单)即只允许该⽂件中出现的⽤户允许登陆VSFTP,在VSFTP启动时依然会去检查/etc/vsftpd/ftpusers⽂件并且禁⽌该⽂件中的⽤户登录
/etc/f VSFTP主配置⽂件,所有的配置选项必须顶格写,配置⽂件中#后带空格的是说明,不带空格的是注释掉的配置选项
3.将cp命令将配置⽂件备份
[root@linuxMA ~]# cd /etc/vsftpd/
[root@linuxMA vsftpd]# ls
ftpusers user_list f vsftpd_conf_migrate.sh
[root@linuxMA vsftpd]# f.bak
[root@linuxMA vsftpd]# ls
ftpusers user_list f f.bak vsftpd_conf_migrate.sh
1)配置匿名⽤户
[root@linuxMA vsftpd]# f
write_enable=YES
anon_umask=022
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES (是否允许匿名⽤户有其他写⼊权(改名,删除,覆盖)dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#开启vsftp服务,并查看是否启动成功
[root@linuxMA vsftpd]# systemctl start vsftpd
[root@linuxMA vsftpd]# netstat -lnpt |grep vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 34531/vsftpd #登陆验证:
linux怎么读取文件#测试登陆成功:
#修改权限:
[root@linuxMA ~]# cd /var/ftp/
[root@linuxMA ftp]# ll
总⽤量 0
drwxr-xr-x 2 root root 6 8⽉ 3 2017 pub
[root@linuxMA ftp]# chown ftp:ftp pub/
[root@linuxMA ftp]# ll
总⽤量 0
drwxr-xr-x 2 ftp ftp 21 9⽉ 16 10:16 pub
重点:改变根⽬录的属主,如果不改变的话,只能访问,其他权限不能⽣效。因为我们是以ftp⽤户的⾝份访问的,⽽pub默认的属主属组是root。
注意:(1)修改完配置之后需要重启完服务才能⽣效
(2)还需要从新从客户端登陆,否则修改后的配置看不到效果。
2)配置系统⽤户
1.创建测试⽤户zhangsan、lisi 密码都为“123456”
[root@linuxMA ~]# useradd zhangsan
[root@linuxMA ~]# useradd lisi
[root@linuxMA ~]# echo "123456" |passwd --stdin zhangsan
更改⽤户 zhangsan 的密码 。
passwd:所有的⾝份验证令牌已经成功更新。
[root@linuxMA ~]# echo "123456" |passwd --stdin lisi
更改⽤户 lisi 的密码 。
passwd:所有的⾝份验证令牌已经成功更新。
2.修改配置⽂件
[root@linuxMA ~]# vim /etc/f
local_enable=YES
local_umask=077
chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
[root@linuxMA ~]# vim /etc/vsftpd/user_list //添加⽤户到⽩名单zhangsan
lisi
[root@linuxMA ~]# systemctl restart vsftpd //重启服务
#登陆测试:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论