共享服务-FTP基础(二)
续接上一篇
使用pam(Pluggable Authentication Modules)完成用户认证
pam_service_name=vsftpd
pam配置文件:/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers 默认文件中用户拒绝登录
是否启用控制用户登录的列表文件
userlist_enable=YES 默认有此设置
userlist_deny=YES(默认值) 黑名单,不提示口令,NO为白名单
userlist_file=/etc/vsftpd/users_list 此为默认值
vsftpd服务指定用户身份运行
nopriv_user=nobody (默认值)
连接数限制
max_clients=0 最大并发连接数
max_per_ip=0 每个IP同时发起的最大连接数
传输速率:字节/秒
anon_max_rate=0 匿名用户的最大传输速率
local_max_rate=0 本地用户的最大传输速率
连接时间:秒为单位
connect_timeout=60 主动模式数据连接超时时长
accept_timeout=60 被动模式数据连接超时时长
data_connection_timeout=300 数据连接无数据输超时时长
idle_session_timeout=60 无命令操作超时时长
优先以文本方式传输
ascii_upload_enable=YES
ascii_download_enable=YES
实现基于SSL的FTPS
查看是否支持SSL
ldd `which vsftpd` 查看到libssl.so
创建自签名证书
cd /etc/pki/tls/certs/
make vsftpd.pem
openssl x509 -in vsftpd.pem -noout –text
配置vsftpd服务支持SSL:/etc/vsftpd/vsftpd.conf
ssl_enable=YES 启用SSL
allow_anon_ssl=NO 匿名不支持SSL
force_local_logins_ssl=YES 本地用户登录加密
force_local_data_ssl=YES 本地用户数据传输加密
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
用filezilla等工具测试
vsftpd虚拟用户
虚拟用户:
所有虚拟用户会统一映射为一个指定的系统帐号:访问共享位置,即为此系统帐号的家目录
各虚拟用户可被赋予不同的访问权限,通过匿名用户的权限控制参数进行指定
虚拟用户帐号的存储方式:
文件:
编辑文本文件,此文件需要被编码为hash格式
奇数行为用户名,偶数行为密码
db_load -T -t hash -f vusers.txt vusers.db
关系型数据库中的表中:
实时查询数据库完成用户认证
mysql库:
pam要依赖于pam-mysql
/lib64/security/pam_mysql.so
/usr/share/doc/pam_mysql-0.7/README
常用配置-修改配置文件
1、man帮助
man vsftpd.conf
2、指定监听端口
listen_port=2121
3、更改主动模式端口默认20
ftp_data_port=2020
4、限定被动随机端口范围默认0
#inux 客户端默认使用被动模式
#windows 客户端默认使用主动模式
pasv_min_port=6000 0为随机分配
pasv_max_port=6010
备注:方便防火墙打开端口,端口范围多少决定了并发数
5、使用当地时间
use_localtime=YES #使用当地时间(默认为NO,使用GMT)
6、修改匿名账号(ftp)登陆所在目录
1)把这个文件夹作为匿名账号的目录
mkdir /data/ftp -pv
我先cp个文件过来
cp /etc/fstab /data/ftp/f2
2)修改用户ftp家目录
usermod -d /data/ftp ftp
3)测试
7、不检查匿名账号的口令
no_anon_password=YES(默认NO)
8、只能下载可读文件
anon_world_readable_only (默认YES)
备注:说的是其他用户项有么有读权限
9、允许匿名上传文件和上次文件夹
anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES 匿名建目录
备注:匿名用户它使用ftp用户上传文件的,查看要上传的文件对ftp用户有没有W权限
注意这里上传默认下载不了
10、更改上文文件的默认权限(默认umask是077)
anon_umask=022 #指定匿名上传文件的umask
11、开启匿名账号可删除修改文件(默认是禁止的)
anon_other_write_enable=YES 可删除和修改上传的文件
12、指定上传文件的默认的所有者和权限
chown_uploads=YES(默认NO)
chown_username=wang
chown_upload_mode=0666
13、把系统账号映射成为一个专门用于ftp的用户
配置文件
guest_enable=YES
guest_username=ftp
14、上传下载删除
put:上传
get:下载
delete:删除
15、把系统账号映射成一个账号,它登陆的时候在某个目录下
1)先创建一个账号
useradd testftp
2)创建改账号要映射到所在目录
mkdir /data/ftp
备注:确保这个文件夹对改用户没有写权限
2)配置vsftp配置文件
guest_enable=YES
guest_username=testftp
local_root=/data/ftp
共享服务-FTP基础(二)的更多相关文章
- 共享服务-FTP基础(一)
介绍:文件传输协议FTP 两种模式:服务器角度 主动(PORT style):服务器主动连接 命令(控制):客户端:随机port --- 服务器:tcp21 数据:客户端:随机port ---服务 ...
- 网络共享服务(一)之FTP
网络共享服务:ftp,nfs,samba比较 从跨平台角度说, samba, ftp差不多, 而nfs不支持windows平台 从挂载角度说, samba, nfs可以把远程目录挂载到本地目录上, 对 ...
- FTP 基础 与 使用 Docker 搭建 Vsftpd 的 FTP 服务
FTP 基础 与 使用 Docker 搭建 Vsftpd 的 FTP 服务 前言 最近的工作中,需要将手机上的文件发送到公司的 FTP 的服务器.按照从前的思路,自然是,先将文件传到电脑,再由电脑上传 ...
- 002-读书笔记-企业IT架构转型之道-阿里巴巴中台战略思想与架构实战-第二章 构建业务中台的基础-共享服务体系简介
2.1.回归SOA的本质-服务重用 SOA理念的核心价值:松耦合的服务带来业务的复用,通过服务的编排助力业务的快速响应和创新. 现有模式多是烟囱式结合 ESB 企业总线打通不同系统间的交互. 2.2. ...
- 网络共享服务(二)之NFS
NFS: Network File System,是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发.通过使用NFS协议,客户机可以像访问本地目录一样访问服务器中的共享资源.但是,NF ...
- 微服务架构基础之Service Mesh
ServiceMesh(服务网格) 概念在社区里头非常火,有人提出 2018 年是 ServiceMesh 年,还有人提出 ServiceMesh 是下一代的微服务架构基础. 那么到底什么是 Serv ...
- NFS共享服务
一.网络文件系统共享服务 NFS( Network File System,网络文件系统 )是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发,通过使用NFS协议,客户机可以像访问本地 ...
- 基于OneMap的水利行业共享服务平台搭建步骤
今天上午再次学习Esri技术培训中心的“GIS服务共享与运维管理——之OneMap解决方案”课程,从中学习了OneMap的产品架构以及基于OneMap共享服务平台的搭建步骤.下面把其中水利行业的共享服 ...
- 网络共享服务(三)之SAMBA
前面说到了FTP和NFS,由于FTP是客户端和服务器基于ftp应用协议进行交换数据的,它不支持挂载共享目录的方式,而NFS又不支持跨平台,所以就催生了第三种网络共享服务:samba Samba是在Li ...
随机推荐
- SpringMVC入门 bug集锦X2
package cn.itcast.converter; import org.springframework.core.convert.converter.Converter; import jav ...
- CC20:高度最小的BST
题目 对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树. 给定一个有序序列int[] vals,请返回创建的二叉查找树的高度. 解法 这道题感觉如果没有创建树的 ...
- Win7系统控制面板“设备和打印机”打不开解决办法
Win7系统控制面板“设备和打印机”打不开解决办法, 打开时显示界面如下: 可能原因: 1.设备和打印机对应的驱动故障引起无法打开的问题 2.服务未开启 3.系统文件损坏 解决方法: 1.更新驱动.可 ...
- Web 加入favicon
一.点击 制作自己的favicon图标; 二.在网页head中加入: <link rel="shortcut icon" href="favicon.ico& ...
- jQuery基础(1)
一.jQuery的介绍 1.为什么要使用jQuery? 在用js写代码时,会遇到一些问题,如下: 1)window.onload 事件有事件覆盖的问题,因此只能写一个事件: 2)代码容错性差: 3)浏 ...
- AspNet Zero Core
解决AspNet Zero Core 5.0.1无法运行的问题 最近在研究AspNet Zero Core 5.0.1时发现VS点击调试后就自动退出了,从ABP QQ群里得知作者加入了licens ...
- NetCore上传多文件
.NetCore上传多文件的几种示例 本章和大家分享的是.NetCore的MVC框架上传文件的示例,主要讲的内容有:form方式提交上传,ajax上传,ajax提交+上传进度效果,Task并行处理 ...
- 牛客网Java刷题知识点之什么是异常、异常处理的原理是什么、为什么要使用异常、异常体系、运行时异常、普通异常、自定义异常、异常链
不多说,直接上干货! 在这个世界不可能存在完美的东西,不管完美的思维有多么缜密,细心,我们都不可能考虑所有的因素,这就是所谓的智者千虑必有一失.同样的道理,计算机的世界也是不完美的,异常情况随时都会发 ...
- This file's format is not supported or you don't specify a correct format. 解决办法
string path = @"c:\请假统计表.xlsx"; Workbook workBook = new Workbook(); workBook.Open(path); A ...
- Redis的数据类型(lists、Sets)
lists类型 Redis 列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) LPUSH 命令插入一个新的元素到头部, 而 RPUSH 插入一个新元素导 ...