续接上一篇

使用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基础(二)的更多相关文章

  1. 共享服务-FTP基础(一)

    介绍:文件传输协议FTP 两种模式:服务器角度 主动(PORT style):服务器主动连接 命令(控制):客户端:随机port --- 服务器:tcp21 数据:客户端:随机port ---服务 ...

  2. 网络共享服务(一)之FTP

    网络共享服务:ftp,nfs,samba比较 从跨平台角度说, samba, ftp差不多, 而nfs不支持windows平台 从挂载角度说, samba, nfs可以把远程目录挂载到本地目录上, 对 ...

  3. FTP 基础 与 使用 Docker 搭建 Vsftpd 的 FTP 服务

    FTP 基础 与 使用 Docker 搭建 Vsftpd 的 FTP 服务 前言 最近的工作中,需要将手机上的文件发送到公司的 FTP 的服务器.按照从前的思路,自然是,先将文件传到电脑,再由电脑上传 ...

  4. 002-读书笔记-企业IT架构转型之道-阿里巴巴中台战略思想与架构实战-第二章 构建业务中台的基础-共享服务体系简介

    2.1.回归SOA的本质-服务重用 SOA理念的核心价值:松耦合的服务带来业务的复用,通过服务的编排助力业务的快速响应和创新. 现有模式多是烟囱式结合 ESB 企业总线打通不同系统间的交互. 2.2. ...

  5. 网络共享服务(二)之NFS

    NFS: Network File System,是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发.通过使用NFS协议,客户机可以像访问本地目录一样访问服务器中的共享资源.但是,NF ...

  6. 微服务架构基础之Service Mesh

    ServiceMesh(服务网格) 概念在社区里头非常火,有人提出 2018 年是 ServiceMesh 年,还有人提出 ServiceMesh 是下一代的微服务架构基础. 那么到底什么是 Serv ...

  7. NFS共享服务

    一.网络文件系统共享服务 NFS( Network File System,网络文件系统 )是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发,通过使用NFS协议,客户机可以像访问本地 ...

  8. 基于OneMap的水利行业共享服务平台搭建步骤

    今天上午再次学习Esri技术培训中心的“GIS服务共享与运维管理——之OneMap解决方案”课程,从中学习了OneMap的产品架构以及基于OneMap共享服务平台的搭建步骤.下面把其中水利行业的共享服 ...

  9. 网络共享服务(三)之SAMBA

    前面说到了FTP和NFS,由于FTP是客户端和服务器基于ftp应用协议进行交换数据的,它不支持挂载共享目录的方式,而NFS又不支持跨平台,所以就催生了第三种网络共享服务:samba Samba是在Li ...

随机推荐

  1. linux下提示/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found 解决办法

    1.查看gcc版本中包含哪些库. strings /usr/lib64/libstdc++.so.6 | grep GLIBC GLIBCXX_3. GLIBCXX_3.4.1 GLIBCXX_3.4 ...

  2. CF620E New Year Tree 状压+线段树(+dfs序?)

    借用学长的活:60种颜色是突破口(我咋不知道QAQ) 好像这几道都是线段树+dfs序??于是你可以把60种颜色压进一个long long 里,然后向上合并的时候与一下(太妙了~) 所以记得开long ...

  3. HDU-2119-Matrix(最大匹配)

    链接:https://vjudge.net/problem/HDU-2119#author=Smilencer 题意: 众所周知,tyz是一个写bug小能手,以至于如果没有队友的帮助,就ac不了程序. ...

  4. 如何给数组用fill函数和memset函数给数组赋初值

    fill是按照单元来赋值的,所以可以填充一个区间的任意值 #include<iostream> #include<stdio.h> #include<string.h&g ...

  5. BroadCast广播机制应用与实例

    如何编写广播接收器 第一步:需要继承BroadcastReceiver类,覆写其中的onReceive()方法. class MyBroadcastReceiver extends Broadcast ...

  6. Tomcat一

    Tomcat是如何处理http请求的 Tomcat有什么用? Tomcat是一个应用服务器,也是一个Servlet容器,用来接收前端传过来的请求,并将请求传给Servlet,并将Servlet的响应返 ...

  7. Java实现的断点续传功能

    代码中已经加入了注释,需要的朋友可以直接参考代码中的注释.下面直接上功能实现的主要代码: import java.io.File; import java.io.FileNotFoundExcepti ...

  8. 邮箱/邮件地址的正则表达式及分析(JavaScript,email,regex)

    简言 在做用户注册时,常会用到邮箱/邮件地址的正则表达式.本文列举了几种方案,大家可以根据自己的项目情况,选择最适合的方案. 方案1 (常用) 规则定义如下: 以大写字母[A-Z].小写字母[a-z] ...

  9. ZR#330. 【18 提高 3】矿石(容斥)

    题意 题目链接 Sol 挺显然的,首先对每个矿排序 那么答案就是$2^x - 2^y$ $x$表示能覆盖到它的区间,$y$表示的是能覆盖到它且覆盖到上一个的区间 第一个可以差分维护 第二个直接vect ...

  10. class类型重定义,防止头文件重复加载

    今天调用自己写的一个类,出现了class类型重定义问题,上网查了相关资料,发现是头文件重复include引起的问题. 防止头文件重复加载: 系统那些头文件,无论怎么include都没事,因为一般都用了 ...