linux搭建vsftp服务器_Linux(CentOS 7)搭建VSFTP服务器

一、FTP服务器简介

FTP(File Transfer Protocol):文件传输协议,是一个客户机/服务器系统。使用FTP的用户需要经过验证后才能登录,FTP服务器的用户可分成3类。

系统用户:即系统本机的用户。Linux一般不会针对实体用户进行限制,因此实体用户可以针对整个文件系统进行工作。但通常不希望他们通过FTP方式远程访问系统。

虚拟用户:只能采用FTP方式使用系统的用户,不能直接使用Shell登录系统,即虚拟用户,访问服务器时需要验证。大多数FTP用户是这类用户。

匿名用户:对于公共性质的服务器可以提供匿名用户访问,用户名:anonymous。但在使用匿名用户时,应对其进行尽可能多的限制,权限较低,如:同时连接的用户数量受限,访问的文件数目受限,不能上传文件,允许操作的指令较少,设置匿用户同时登入的最大联机数量等。

ftp端口

20、21被动和主动

FTP服务器

二、FTP服务器的安装

1、使用yum安装vsftpd软件包

#yum install vsftpd ftp

2、启动服务并设置开机自启

#systemctl start vsftpd.service

#systemctl enable vsftpd.service

3、设置防火墙与selinux机制

#firewall-cmd –permanent –zone=public –add-service=ftp

#firewall-cmd –reload

#setenforce 0

实验的话可以直接关闭防火墙

三、访问

匿名用户访问

linux搭建vsftp服务器_Linux(CentOS 7)搭建VSFTP服务器

将服务重启后,在客户端测试,此时只有ftpuser用户可以访问ftp

虚拟用户访问

认证文件验证数据库中的虚拟用户,验证成功后以一个系统用户访问ftp

步骤:

1、安装Vsftpd虚拟用户需要用到的软件及认证模块

#yum install pam* libdb-utils libdb* –skip-broken -y

2、创建虚拟用户临时文件/etc/vsftpd/ftpusers.txt,用户名密码格式如下:

techftp

123456

netftp

123456

3、生成Vsftpd虚拟用户数据库认证文件,设置权限为600

#db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftp_login.db

#chmod 600 /etc/vsftpd/vsftp_login.db

4、配置PAM认证文件:vim /etc/pam.d/vsftpd.vu

auth   required   pam_userdb.so   db=/etc/vsftpd/vsftp_login

account  required  pam_userdb.so  db=/etc/vsftpd/vsftp_login

5、创建一个系统用户,用于虚拟用户映射

#useradd -s /sbin/nologin ftpuser

最终所有虚拟用户验证成功后,都以这个虚拟用户登录访问ftp

但是这个系统用户无法登录Linux

6、修改配置文件:#vim /etc/vsftpd/vsftpd.conf

#pam_service_name=vsftpd

pam_service_name=vsftpd.vu

guest_enable=YES

guest_username=ftpuser

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=YES

第一行:是指定验证文件是vsftpd,这个是系统的所以要注释掉

第二行:是vsftpd.vu,这个是第4步自己写的验证文件

第三行:允许虚拟用户登录

第四行:虚拟用户验证成功后以哪个系统用户登录(这里指第5步创建的用户)

第五行:每个虚拟用户的配置文件存放的文件夹

第六行:虚拟用户权限问题

linux搭建vsftp服务器_Linux(CentOS 7)搭建VSFTP服务器

7、分别为虚拟用户创建私有的虚拟目录与独立的配置文件

#mkdir /home/ftpuser/techftp

#mkdir /etc/vsftpd/vsftpd_user_conf

#vim techftp

local_root=/home/ftpuser/techftp

write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

#mkdir /home/ftpuser/netftp

在/etc/vsftpd/vsftpd_user_conf文件夹中

创建每个虚拟用户单独的配置文件

一个虚拟用户一个配置文件,配置文件的名称以虚拟用户用户名命名

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24717 人正在系统学习中

来源:艾华丰

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月25日
下一篇 2020年11月25日

相关推荐