**Linux centos7 安装(搭建)vsFtpd服务环境详解**

Linux centos7 搭建vsFtpd服务环境详解**

一、安装环境
使用的是linux的版本:CentOS Linux release 7.4.1708 (Core) ,安装的vsftpd版本为:version 3.0.2。
二、使用yum的方式进行安装
1、我们先来查看一下系统中有没安装vsftpd:
1)使用命令查看是滞安装:rpm -qa vsftpd
如安装过会显示出相对应的版本,如图:
在这里插入图片描述
2)如果安装过使用命令进行卸载:rpm -e vsftpd 即可卸载;
2、运行安装命令:yum -y install vsftpd 等待一会就会安装完成;
3、一个简单版的vsftpd就安装完成了,我们可以来检验一下刚刚安装的效果:
1)运行启动如下命令,即可启动vsftp服务:
service vsftpd start
在这里插入图片描述
2)使用如下命令即可查看是否启动成功:
netstat -ntlp 可查看vsftpd运行的服务端口
在这里插入图片描述
3)这时我们可以使用浏览器来进行访问试试
例如:ftp://10.205.13.69
这时就可以显示出一个名为pub的文件目录,如不能访问,请查看你的防火墙配置,这里就不在详述。
4)当然,到这里还没有完,这远远不能满足我们的业务需求,我们还需要对他进行配置,话不多说,请往后看;
5)建议直接看第六节跟着配制完成便可使用,也是安全性最高的。
三、vsftpd的启动、重启、停止命令
1、启动命令
service vsftpd start
2、重启命令
service vsftpd restart
3、停止命令
service vsftpd stop
4、当然,到这里还没有完,这远远不能满足我们的业务需求,我们还需要对他进行配置,话不多说,请往后看!
四、匿名用户的访问
1、配置文件
anonymous_enable=YES
–设置允许或者不允许匿名用户的访问
anon_upload_enable=YES
–允许匿名用户上传文件
anon_mkdir_write_enable=YES
–允许匿名用户建立目录(文件夹)
anon_umask
–设置上传的默认文件权限(不配置默认为600,一般保持默认就可以)
2、修改配置文件
在这里插入图片描述
把下面的两行前面的#去掉,保存退出,重启vsftpd便可效。
在这里插入图片描述
注意:修改了配置文件一定要重启才能生效。
重启:service vsftpd restart
在这里插入图片描述
3、这时可以使用其他连接工具进行连接测试:浏览器、windows、dos命令等
由于我使用的是阿里云的服务器,阿里做了权限控制,在本地不能使用windows连接和浏览器直接访问,亲们可以使用其他的ftp连接工具进行测试。
五、本地用户登录
1、配置文件
==》 /etc/vsftpd/ftpusers // 黑名单用户 优先级高 一般不动这个文件。
==》/etc/vsftpd/user_list // 黑名单用户 通常情况下修改这个文件,可以通过修改配置文件让其变成白名单
chroot_local_user=YES 用于把用户禁锢在主目录中,
userlist_enable=YES 用于用户访问控制
2、修改/etc/vsftpd/user_listp这个文件,在最下面添加我们的系统用户ftpuser后,这时在访问ftp时,便不可访问了:
在这里插入图片描述
在这里插入图片描述
3、在windows命令窗口中测试登录FTP:
在这里插入图片描述
4、注:
写入/etcs/ftpd/user_list文件中的用户不能访问ftp服务器,没有写入的用户可以访问(默认也是如此)。
当在配置文件 中加入如下语句时:(/etc/vsftpd/vsftpd.conf)
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
这时,user_list这个文件 中的用户就变成了可访问FTP的用户了。
例:修改完成保存退出,重启ftp才能生效
在这里插入图片描述
在这里插入图片描述[
在windows命令窗口中测试登录FTP,同样使用在上面user_list中配置的用户ftpuser测试,是可以登录的,现在如果使用其他用户来登录就会被拒绝,这里就不测试了,自己可以测试
在这里插入图片描述
六、虚拟用户登录
1、添加虚拟用户口令文件,文件名可自定义,
注意:一行用户一行密码,有多少配置多少
vi /etc/vsftpd/vuser.txt
在这里插入图片描述
2、生成虚拟用户口令认证文件
yum -y install db4-utils
#如果没有安装口令认证命令,需要安装

	db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
	#把文本文档转变为认证的数据库
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20190103212559269.)
3、编辑vsftpd的PAM认证文件
	 vi /etc/pam.d/vsftpd
	auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
	account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
	#注释掉其他的行,加入此两行即可
	#注释掉其他的行,可以禁止本地用户登录,因为本地用户登录时的验证依然依赖这个文件
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20190103213554884.)
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20190103213533247.)

4、建立本地映射用户并设置宿主目录权限
useradd -d /home/vftproot -s /sbin/nologin vuser
#此用户不需要登录,只是映射用户
#用户名必须和下一步配置文件中一致
chmod 755 /home/vftproot
运行命令:
在这里插入图片描述
5、修改配置文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
#开启虚拟用户
guest_username=vuser
#FTP虚拟用户对应的系统用户
pam_service_name=vsftpd
#PAM认证文件(默认存在)
在这里插入图片描述
在这里插入图片描述
这时连接会报错:
在这里插入图片描述
在配置文件添加如下配置重启可解决:
allow_writeable_chroot=YES
在这里插入图片描述
6、重启vsftpd服务,并测试
service vsftpd restart
#此时虚拟用户可以登录、查看、能下载、不能上传
#默认上传文件的位置是宿主用户的家目录
#权限使用的是匿名用户权限进行管理
7、调整虚拟用户权限
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#关闭匿名用户登录,更加安全(不影响虚拟用户登录)
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#给虚拟用户设定权限,允许所有虚拟用户上传
修改后:(配置文件中没有的自行添加)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8、配制不同用户有不同的访问操作权限
1) vi /etc/vsftpd/vsftpd.conf 在配置文件中添加如下配制
在这里插入图片描述
user_config_dir=/etc/vsftpd/config 这句配制用于指定用户访问的权限文件配制
2)在/etc/vsftpd/下创建config文件夹
在这里插入图片描述
3)进入config这个文件夹下,在这里创建和用户名相同的配制文件,用于配制某个用户的权限
例:
在这里插入图片描述
4)编辑配制文件,可根据自己需要选择需要配制的项
local_root=/home/vftproot  #默认就是/var/ftproot,可不写
anon_world_readable_only=NO
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)
在这里插入图片描述
注:你想配制多少用户的可以,但前提配制文件名要与虚拟登录用户名相同。

猜你喜欢

转载自blog.csdn.net/qq_28245087/article/details/85631049