缺点,ftp密码是和系统密码是一致的,并不安全

先设置两个测试用户

test1      123123

test2      123123

基本用户基础配置

1、本地用户基本配置

local_enable-YES                 #允许本地用户登录

write_enable=YES                 #允许本地用户上传

local_umask=022              #本地用户上传umask值

关闭防火墙,关闭SELinux,直接修改配置文件

重启系统,重启vsftp服务

在test1的家目录下创建一个目录

登陆的默认位置

上传:

从本地的E盘上传一个文本文件

可以看到在/home/test1/目录下就有了1.txt文件

下载:

local_root=/var/ftp               #设置本地用户的ftp根目录(注意目录权限;不能针对不同用户,是对所有登陆者都生效的)

local_max_rate=0                 #限制最大传输速率(字节/秒)

需要自行添加

创建目录,重启ftp服务(只要修改了配置文件)

客户端退出重新登录

但是用test2连接时也是在相同的路径下了(在后面的虚拟用户访问中会有解决)

此时如果上传文件的话会出现以下问题

此时在配置文件中是允许写操作的,但是并不能上传,这是因为test1_root目录test1用户没有权限,只有root权限(所有者是root,所有组也是root)

解决方法:

创建一个用户组,将test1和test2添加到该组内

然后修改该目录的所属组和权限

重新上传:

此时就可以啦

这种其实存在一个很大的缺陷,可以往上级目录翻,有就是说,我可以访问整个系统的所有文件,虽然有些地方不能上传,但是我都可以下载,此时就可以下载出用户密码文件,很不安全

此时就要进行设置限制用户只能在特定目录下操作

把用户限制在家目录下:

chroot_local_user=YES             #开启用户目录限制(如果只开启此行,把所有用户都限制在用户主目录中)

重启服务

重新登录后,会显示直接在根目录下

但是ls后,看到的是1.txt也就是/tmp/test1_root/目录下的内容,也就是说ftp将/tmp/test1_root/目录就当做是根目录

开启以下三项,就可以将不同的用户做不同的限制了

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list          #写入/etc/vsftpd/chroot_list文件中的用户可以访问任何目录,其他用户限制在哪用户主目录

文件chroot_list默认是不存在的需要手工添加,然后直接将用户名写进去就好了

重启

我将用户test2写入该文件

此时test1就只能访问/tmp/test1_root/而test2用户就可以访问所有文件

Linux系统学习 十六、VSFTP服务—本地用户访问—基本用户基础配置的更多相关文章

  1. Linux系统学习 十七、VSFTP服务—本地用户访问—用户访问控制

    FTP相关文件中用户控制列表文件 /etc/vsftpd/ftpusers        #该文件永远都是黑名单(针对访问ftp服务,一般不做修改) /etc/vsftpd/user_list     ...

  2. Linux系统学习 十三、VSFTP服务—相关文件

    常见的FTP服务器程序 IIS.Serv-U      (windwards中) wu-ftpd(淘汰了).Proftpd           (Linux中) vsftpd(Very Secure ...

  3. Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问

    配置虚拟用户访问 首先至少要关闭userlist 改完配置文件是要重启服务来使它生效 其实在刚装好vsftp的时候的配置文件不用修改的情况下配置虚拟用户访问控制是最好的 local_root选项不影响 ...

  4. Linux系统学习 十五、VSFTP服务—匿名用户访问(不推荐使用,不安全)

    匿名用户访问 基本配置: anonymous_enable          #允许匿名用户访问 anon_upload_enable       #允许匿名用户上传 anon_mkdir_write ...

  5. [转] Linux学习之CentOS(三十六)--FTP服务原理及vsfptd的安装、配置

    本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...

  6. Linux系统学习 八、SSH服务—SSH远程管理服务

    1.SSH简介 ssh(安全外壳协议)是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议.传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多. ftp安装 ...

  7. linux系统学习笔记:无死角理解保存的设置用户ID,设置用户ID位,有效用户ID,实际用户ID

    一.基本概念 实际用户ID(RUID):用于标识一个系统中用户是谁,一般是在登录之后,就被唯一的确定,就是登录的用户的uid. 有效用户ID(EUID):用于系统决定用户对系统资源的权限,也就是说当用 ...

  8. Linux系统学习 十九、VSFTP服务—虚拟用户访问—为每个虚拟用户建立自己的配置文件,单独定义权限

    为每个虚拟用户建立自己的配置文件,单独定义权限 可以给每个虚拟用户单独建立目录,并建立自己的配置文件.这样方便单独配置权限,并可以单独指定上传目录 1.修改配置文件 vi /etc/vsftpd/vs ...

  9. Linux系统学习 十四、VSFTP服务—配置文件解析、客户端使用

    3.配置文件解析 默认配置选项: 一般情况下不允许匿名用户登录 全局配置选项:(手工添加) listen_address=192.168.4.1             #设置监听地址 listen_ ...

随机推荐

  1. Bless You Autocorrect!

    题目链接: https://odzkskevi.qnssl.com/0c87453efec2747f8e8a573525fd42f9?v=1533651456 题解: 这是一道Trie+BFS的题目: ...

  2. 笔记||Python3之循环

    循环:          循环概念:在一定条件下,重复做某件事情(代码)          while循环:1 - while 条件表达式: 循环体 2 - 当 条件表达式 == True   才执行 ...

  3. 【HTML5】296- 重新复习 HTML5 的 5大存储方式

    点击上方"前端自习课"关注,学习起来~ 一.介绍 在 HTML5 规范之前,存储主要是用 cookies . cookies 的缺点有: 在请求头上带着数据: 大小是 4k 之内: ...

  4. debian官网qcow2镜像修改root账号密码,开启ssh等

    1.下载官网qcow2镜像文件 wget http://172.16.20.10/vmtemplate/KVM/wangrui/Debian/debian-10.2.0-openstack-amd64 ...

  5. Enumeration接口和Iterator接口的区别有哪些?

    Enumeration速度是Iterator的2倍,同时占用更少的内存.但是,Iterator远远比Enumeration安全,因为其他线程不能够修改正在被iterator遍历的集合里面的对象.同时, ...

  6. native C++ 动态调用.NET DLL

    关于这个问题找了好多地方,都只有第二种解决办法,可是我要返回一个字符串,没办法,继续找,最后还是在http://blogs.msdn.com/b/msdnforum/archive/2010/07/0 ...

  7. ajax结合sweetalert实现删除按钮动态效果

    目录 一.ajax结合sweetalert实现删除按钮动态效果 二.bulk_create批量插入数据 1. 一条一条插入 2. 批量插入 三.自定义分页器 一.ajax结合sweetalert实现删 ...

  8. LeetCode529. 扫雷游戏 Python3 DFS+BFS+注释

    https://leetcode-cn.com/problems/minesweeper/solution/python3-dfsbfszhu-shi-by-xxd630/ 规则: 'M' 代表一个未 ...

  9. 在线HTTP POST/GET模拟请求api接口http请求测试工具https://post.jsonin.com/

    在线HTTP POST/GET模拟请求api接口http请求测试工具 在线POST/GET接口测试工具https://post.jsonin.com/ Json在线解析及格式化校验工具 https:/ ...

  10. ELK查询命令详解

    目录 ELK查询命令详解 倒排索引 使用ElasticSearch API 实现CRUD 批量获取文档 使用Bulk API 实现批量操作 版本控制 什么是Mapping? 基本查询(Query查询) ...