查看自己是否安装vsftp

rpm -qa | grep vsftp

rpm -qa 查看自己已安装的包 过滤vsftp

systemctl rsetart vsftpd

重启服务

先关闭防火墙

systemctl stop firewalld

一。匿名

写vsftp的配置文件

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES 匿名登录是否允许
write_enable=YES            写入开启
anon_upload_enable=YES   匿名上传 是否开启
anon_mkdir_write_enable=YES  匿名创建文件夹
anon_other_write_enable=YES   匿名其他写入

此时 vsftp 能够上传 但是不能下载

1。 修改 /var/ftp/pub 目录权限 只给  other 一个r 权限

变更 pub 目录 是由 ftp 控制

chown ftp:ftp pub/

2.。 修改配置文档 添加一个 anon_world_readable_only =NO

vsftpd.conf有一个选项anon_world_readable_only、它默认是开启的YES
如果开启之后,会出现以下效果
对于文件说,如果文件的其他人没有r的权限,那么将不能下载,即使ftp用户有读的权限也不可以
也就是说如果要anonymous要能下载,需要
1、ftp用户对文件要有读的权限
2、给其他人加上读的权限 (或者将anon_world_readable_only设置为NO)

此时 匿名能够上传 能够下载

二。本地用户的下载与上传

创建本地用户 useradd ftp01

useradd ftp02

为用户添加上密码

passwd  ftp01

passwd ftp02

本地用户登录

local_enable=YES

local_umask=022 上传的权限

ftp01 创建后 我们可以让他无法登录

修改/etc/passwd 把  /bin/bash 修改成  sbin/nologin 这样 就无法登录了

登录ftp01 会发现我们可以进入系统目录  这时候我们可以修该配置来锁定ftp01的家目录

ftp01 应该是登录自己家目录

chroot_local_user=YES    #锁定本地用户,登录后不允许跳出ftp根目录,即家目录

chroot_list_enable=YES 列表

chroot_list_file=/etc/vsftpd/chroot_list 列表名单

上 3个同时开启 的时候 chroot _list 里面的用户 是不是限制的 类似于白名单

这时候我们使用用户去登录 会报错

原因是 本地用户的家目录   有w权限

drwx------. 2 ftp01 ftp01 62 6月 26 19:42 ftp01
drwx------. 2 ftp02 ftp02 62 6月 26 19:42 ftp02

去掉 w 权限  就可以了

dr-x------. 2 ftp01 ftp01 62 6月 26 19:42 ftp01
dr-x------. 2 ftp02 ftp02 62 6月 26 19:42 ftp02

chmod 500 ftp01 ftp02

三、虚拟用户

.....

linux vsftp 简单配置的更多相关文章

  1. Linux iptables简单配置

    #!/bin/sh#modprobe ipt_MASQUERADEmodprobe ip_conntrack_ftpmodprobe ip_nat_ftpiptables -Fiptables -t ...

  2. linux dhcp 简单配置

    dhcp 端口 UDP67和UDP68为正常的DHCP服务端口 rpm -qa | grep dhcp 查询是否安装了dhcp 服务 安装dhcp 服务 yum install dhcp -y 打开/ ...

  3. Linux中vim的简单配置

    本文主要分享Linux中vim的简单配置 ★配置文件的位置     在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...

  4. Kali Linux虚拟机安装完整安装过程及简单配置(视频)

    点击播放视频 附:视频中出现的两个txt文本,包含了大致的安装与配置过程: 文本1:KaliLinux虚拟机安装和初步配置 Kali Linux虚拟机安装和初步配置 大家好,今天给大家演示一下在VMw ...

  5. 在linux安装redis单机和集群后,如何在windows上使用redis客户端或者java代码访问错误的原因很简单,就是没有连接上redis服务,由于redis采用的安全策略,默认会只准许本地访问。需要通过简单配置,完成允许外网访问。

    这几天在学习在linux上搭建服务器的工作,可谓历经艰辛.可喜最后收获也不少. 这次是在linux上搭建redis服务器后从windows上缺无法访问,连接不上. 仔细回忆以前搭建nginx和ftp的 ...

  6. Linux VSFTP服务器详细配置

    Linux VSFTP服务器 1.开启服务 [root@localhost root]# service vsftpd start Starting vsftpd for vsftpd:        ...

  7. Linux下的GitHub安装与简单配置教程 ~ 转载

    Linux下的GitHub安装与简单配置教程   1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...

  8. Linux yum的配置 , python环境管理, nginx搭建简单学习

    Linux yum的配置 , python环境管理, nginx搭建简单学习 一丶配置yum的数据仓库 ### yum 工具, 方便,自行解决软件之间的依赖关系. # 配置yum源仓库 (可以使用,清 ...

  9. Linux 的简单命令以及在idea中配置码云

    Linux 的简单命令: ls(list)功能:列出目录内容 cd(change directory)功能:切换目录 touch 1.txt 在当前目录创建一个文件1.txt clear:清除屏幕 p ...

随机推荐

  1. 云笔记项目-MyBatis返回自增类型&堆栈对象补充理解

    在云笔记项目中,讲到了MySql的自增,MyBatis查询到自增类型数据后可以设置返回到参数属性,其中学习了MySql的自增写法,堆栈对象等知识. MySql数据类型自增 建立一张Person表,其中 ...

  2. css第四天

    四丶 补充:CSS Display(显示) 与 Visibility(可见性) display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏. 隐藏元素 - displ ...

  3. 【笔记】Python基础二:数据类型之集合,字符串格式化,函数

    一,新类型:集合 集合出现之前 python_l = ['lcg','szw','zjw'] linux_l = ['lcg','szw','sb'] #循环方法求交集 python_and_linu ...

  4. .net core 获取客户端ip

    1.NUGET安装 Microsoft.AspNetCore.Http 2.在 startup.cs 的 ConfigureServices 中注入 services.AddSingleton< ...

  5. grep -iq 与grep -qi 意思

    就是有的时候你不需要直接打印出结果,比如在shell脚本中,你只需要知道grep有没有找到指定的字符串,而不需要满屏幕打印出来,因为那样会很难看.这只可以加-q选项,执行结果是:如果找到了,会返回0, ...

  6. FPGA驱动步进电机

    步进电机 步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛.在非超载的情况下,电机的转速.停止的位置只取决于脉冲信号的频率和脉冲数,而不受 ...

  7. Codeforces Round #485 (Div. 2)

    Codeforces Round #485 (Div. 2) https://codeforces.com/contest/987 A #include<bits/stdc++.h> us ...

  8. mysql explain执行详解

    1).id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询.2).select_type列常见的有:A:simple:表示不 ...

  9. django执行原生sql

    一.ORM row()方法:只能实现查询 d_list = models.Article.objects.raw( 'select nid, count(nid) as num,strftime(&q ...

  10. git GUI设置长期记住密码

    git config --global credential.helper store