FTP服务器的搭建及创建虚拟用户进行认证访问
FTP服务器的搭建及创建虚拟用户进行认证访问
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
1 安装所需软件包:
yum install vsftpd db4-utils
2 建立虚拟用户映射的系统用户
useradd -d /home/test -s /sbin/nologin test
chmod 700 /home/test/
3 配置虚拟用户
3.1 建立虚拟用户口令库文件
cd /etc/vsftpd/
vim vusers.txt (第一行写 用户名,第二行写 密码,保存退出)
-----------------------------------------
test1
passwd1
test2
passwd2
-----------------------------------------
3.2 利用口令库文件生成hash认证文件
db_load -T -t hash -f vusers.txt /etc/vsftpd/vusers.db
chmod 600 /etc/vsftpd/vusers.db
3.3 建立虚拟用户所需的PAM配置文件
vim /etc/pam.d/vusers
---------------------------------------------------------------------
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
--------------------------------------------------------------------
3.4 对不同虚拟用户创建不同的配置文件,权限不同
mkdir /etc/vsftpd/vusers
mkdir /home/test/{test1,test2}
vim /etc/vsftpd/vusers/test1
--------------------------------------------------------------------
#虚拟用户的家目录
local_root=/home/test/test1
#允许本地用户在服务器执行写入(上传)操作
write_enable=YES
#虚拟用户具有与本地用户一样的权限
virtual_use_local_privs=YES
--------------------------------------------------------------------
vim /etc/vsftpd/vusers/test2
--------------------------------------------------------------------
#虚拟用户的家目录
local_root=/home/test/test1
#设置虚拟用户不具有与本地用户一样的权限
virtual_use_local_privs=no
#允许本地用户在服务器执行写入(上传)操作
write_enable=YES
#开放下载权限
anon_world_readable_only=no
#开放上传权限
anon_upload_enable=yes
--------------------------------------------------------------------
4 配置vsftp主配置文件
vim /etc/vsftpd/vsftp.conf
--------------------------------------------------------------------
#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录ftp服务器
local_enable=YES
#设置服务器上本地用户创建文件的权限掩码
local_umask=022
#启用日志文件功能
xferlog_enable=YES
#日志文件存放路径
xferlog_file=/var/log/vsftpd.log
#启用标准的日志格式
xferlog_std_format=YES
#主动模式下,启用默认的20端口进行数据传输
connect_from_port_20=YES
#被动模式
#pasv_enable=yes
#pasv_min_port=4500
#pasv_max_port=5000
#限制用户活动在家目录下
chroot_local_user=YES
#vsftpd以独立的服务方式运行
listen=YES
#启用允许用户访问的列表
userlist_enable=YES
#仅允许用户访问列表文件中的用户登录
#NO为白名单,YES为黑名单
userlist_deny=NO
#允许访问的用户列表存储文件
userlist_file=/etc/vsftpd/user_list
#检查/etc/hosts.allow和/etc/hosts.deny文件来控制主机访问
tcp_wrappers=YES
#最多允许的客户端
max_clients=10
#每个ip最多允许的连接数
max_per_ip=100
#虚拟用户使用PAM认证方式,名称需要和/etc/pam.d/下的名称一致
pam_service_name=vusers
#开启虚拟用户访问权限
guest_enable=yes
#设置虚拟用户的映射的系统用户
guest_username=test
#设置虚拟用户的配置文件目录
user_config_dir=/etc/vsftpd/vusers
----------------------------------------------------------------------
5 编辑允许访问的用户列表
vim /etc/vsftpd/user_list
------------------------------------------------------------------------
test1
test2
------------------------------------------------------------------------
6 启动vsftpd服务并加入开机启动
service vsftpd restart
chkconfig vsftpd on
7 附:virtual_use_local_privs参数
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。
转载于:https://blog.51cto.com/fuvip/2043477
FTP服务器的搭建及创建虚拟用户进行认证访问相关推荐
- vsftpd创建虚拟用户,解决本地用户不安全问题,增强服务器安全性
转载来源 : vsftpd创建虚拟用户,解决本地用户不安全问题,增强服务器安全性 : 摘要: 前面两篇介绍VSFTPd服务器的匿名用户和本地用户访问,基本满足文件的上传下载任务,今天给大家说说虚拟用户 ...
- ftp账号密码登入和虚拟用户创建以及登入
用户密码登入ftp服务 1. 首先修改配置文件 vi /etc/vsftpd/vsftpd.conf 2. 修改配置文件 Vi /etc/vsftpd/ftpusers Vi /etc/vsftpd/ ...
- linux中ftp服务器的搭建和配置
linux中的ftp服务的搭建及配置 1 ftp概述 2 ftp服务的搭建 2.1 ftp的客户端 2.2 FTP的服务端 2.2.1 服务端软件vsftpd的下载 2.2.2 vsftp的环境配置 ...
- FTP服务器的搭建与配置
一.FTP服务器简介 FTP(File Transfer Protocol):文件传输协议,是一个客户机/服务器系统.使用FTP的用户需要经过验证后才能登录 FTP:文件传输协议,工作模式[客户端/服 ...
- 操作:FTP服务器的搭建
实验目的: 掌握FTP服务器的配置方法. 掌握FTP配置基于虚拟用户的服务器搭建方法 实验要求: 以学号和姓名为虚拟用户的FTP服务器搭建 实现利用不同虚拟用户登录FTP服务器 实现不同用户的权限控制 ...
- lede更改软件源_Linux的上传和下载——Ubuntu中软件的安装和ftp服务器的搭建
[Linux操作系统]Linux的上传和下载--Ubuntu中软件的安装和ftp服务器的搭建 学习完Linux终端命令以后,我们现在要考虑的是怎么实现Linux中文件的上传和下载,这就是我们本篇博客要 ...
- FTP服务器的搭建与安全配置
FTP可以说是Internet上使用非常广泛的一种通讯协议了.它工作在OSI模型的第7层,是TCP/IP的一种具体应用.FTP采用基于TCP的可靠连接:监听21端口来等待控制连接请求,当连接建立后,采 ...
- linux下ftp服务器的搭建
http://www.cublog.cn/u3/93926/showart_1874130.html RHEL4中ftp服务器的搭建 首先修改配置文件使主机获得永久ip地址 # vi /etc/sys ...
- FTP服务器构建与维护,ftp服务器的搭建与三种访问途径
FTP服务器的搭建与三种访问途径 FTP服务介绍 FTP服务(File Transfer Protocol,文件传输协议)是典型的C/S结构 的应用层协议,需要由服务端软件,客户端软件两部分共同实 现 ...
最新文章
- Android环境搭建和Android HelloWorld—Android开发环境搭建
- Windows下用C语言获取进程cpu使用率,内存使用,IO情况
- python将图像转换为8位单通道_【图像处理】OpenCV系列三十五--- equalizeHist函数详解...
- rancher添加私有仓库_CocoaPods搭建私有库
- win10电脑pppoe拨号模块损坏_电脑维修免费在线咨询
- 基于visual Studio2013解决C语言竞赛题之0502最小数替换
- 数据库-索引-普通索引-唯一索引
- 一个内存增长问题的分析和处理(二)——valgrind工具的用法
- web后端语言_web前端学习路线图_快速入门web前端学习路线图
- 虚拟内存和swap分区的关系
- [About Design] 各类素材网站
- 如何去掉图片上的logo
- CAD删除全部文字(网页版)
- 厦门大学计算机专业录取分数线2019,2019厦门大学各省录取分数线是多少
- ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
- “贵州与您相约”英文网站8月18日正式上线;大华股份助力长兴打造景区数字化管理样板 | 全球旅报...
- 十七点学完安全知识超级详细了解进程和病毒知识 转载
- 华为认证是自学还是报班合适
- 人工智能的前世今生,别被满大街的人工智能所迷惑
- 达人评测 i5 12500h和r7 6800h 选哪个好
热门文章
- 西门子s7 计算机通讯,PLC与计算机通讯连接
- 计算机任务类别 搜索服务,服务删除后仍要求启动 计划任务里找不到 该怎么办...
- c语言 冒泡排序算法,排序算法_冒泡排序改进(c语言实现)
- linux qt 系统时间,QT在linux环境下读取和设置系统时间
- 鸿蒙系统下载地址_华为鸿蒙代码全开源,老规矩:先跑个Hello World....
- php fastdfs扩展,php如何安装fastdfs扩展
- mysql数据表中取几列_MySQL查询数据表中数据记录(包括多表查询)
- Reflect对象的设计目的有这样几个
- mysql 索引 insert_mysql优化:定期删数据 + 批量insert + 字符串加索引为什么很傻
- 表达式必须具有与对应表达式相同的数据类型_跟光磊学Java开发-运算符和表达式...