ftp: 文件传输协议
两类连接:
命令连接:传输命令
数据连接:传输数据

两种模式:
主动模式:PORT 20/tcp连接客户端的命令连接使用的端口向后的第一个可用端口
被动模式:PASV 打开一个随机端口,并等待客户端连接

PAM: 插入式认证模块
认证框架:库,高度模块化

协议:C/S
        Server: Filezilla proftpd pureftpd vsftpd
        Client: ftp Filezilla CuteFTP FlashFXP lftp ftp gftp

vsftpd:
        URL:SCHEME://HOST:PORT/PATH/TO/FILE
                  SCHEME://username:password@HOST:PORT/PATH/FILE
        路径映射:用户家目录:每个用户的URL的映射到当前用户的家目录

安装vsftpd:yum install vsftpd

程序环境:
1、主程序:/usr/sbin/vsftpd
2、配置文件:/etc/vsftpd/vsftpd.conf
3、数据跟目录:/var/ftp
4、Systemd Unit File: /usr/lib/systemd/system/vsftpd.service

查看vsftpd的配置文件:

[root@server01 ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

vsftpd以ftp用户的身份运行进程,默认用户即为ftp用户,匿名用户的默认路径即ftp用户的家目录/var/ftp
查看ftp主机上用户的信息:

[root@server01 ~]# cat /etc/passwd | grep ^ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

启动vsftpd:

向/var/ftp/pub下写一个测试文件: echo "this is a hello world" > /var/ftp/pub/ftp.txt

在同一网络内的另一台主机安装ftp客户端:

[root@proxy ~]# yum install lftp ftp

用户类别:

A) 匿名用户

匿名用户登录:
用lftp客户端测试:

匿名用户的三种登录方式:

1、使用ftp作为用户名

2、使用anonymous作为用户名

3、缺省用户名

匿名用户配置:
1、anonymous_enable:控制是否允许匿名登录。如果启用,用户名ftp和anonymous都被识别为匿名登录。默认:Yes
2、anon_world_readable_only:当启用时,用户将只被允许下载为全局可读的文件。这识别为ftp用户可以拥有文件,尤其在出现上传时。默认:yes
3、anon_mkdir_write_enable:如果设置成yes,匿名用户将被允许在某些情况下创建新目录。为了使这个起作用,必须激活write_enbable选项,默认:No
4、anon_other_write_enable:如果设置成yes,匿名用户将被允许执行除了上传和创建目录外还允许执行写操作,诸如删除和重命名。通常不推荐这个,但为了完整性而包括。默认:No。
5、anon_upload_enable:如果设置成Yes,匿名用户将在特定条件下被允许上传文件。为了使这个起作用,必须激活选项write_enable,并且匿名ftp用户必须对所要上传位置有写权限。对于虚拟用户要上传文件,也需要此设置;默认,用匿名权限对待虚拟用户。默认:No
6、anon_umask:匿名长传的掩码
7、anon_max_rate=0 匿名用户的最大上传下载速率。

在开启anon_upload_enable=YES前,不允许匿名用户上传文件:

上传一个本地路径下文件:

修改/var/ftp/pub的目录所有者和所属组并且修改vsftpd.conf中anon_upload_enable=YES,并且重启vsftpd:

在客户端测试上传当前路径中一个文件到ftp服务器:

在开启anon_mkdir_write_enable=YES前,不允许匿名用户在服务器上创建新目录:

设置anon_mkdir_write_enable=YES并且重启服务器,创建一个fold目录,显示创建成功:

注意:一个用户通过文件共享服务访问文件系统上的文件的实际权限是文件系统本身权限和共享权限的交集。

在设置anon_other_write_enable=YES前,服务器不允许客户端删除服务器上的文件:

设置anon_other_write_enable=YES,并且重启服务器,删除服务器上的一个文件和目录:

B) 系统用户:至少禁止系统用户访问ftp服务,/etc/vsftpd/ftpusers PAM(/etc/pam.d/vsftpd)

在ftp服务器端创建一个登录用户并且设置其密码,在其家目录中创建一个文件:

用创建的用户名和密码登录ftp服务器,直接进入了这个用户的家目录,此用户可以切换到这个用户拥有访问权限的任何目录中:

用户通过vsftpd服务访问到的默认路径,是用户自己家目录;默认可以自己有权限访问的所有路径间切换。
1、local_enable=YES 是否启用本地用户
2、write_enable=YES 本地用户是否可写
3、local_umask=022  本地用户长传文件的掩码
辅助配置文件/etc/vsftpd/ftpusers: 列在此文件中的用户,均禁止使用ftp服务
4、local_max_rate=0 本地用户的上传下载速率
5、chroot_local_user=YES 禁锢所有本地用户于家目录,需要事先去除用户对家目录的写权限
6、chroot_list_enable=YES
7、chroot_list_file=/etc/vsftpd/chroot_list 禁锢列表中文件存在的用户于其家目录中,需要事先去除用户对家目录的写权限

并发连接数限制:
max_clients=2000
max_per_ip=50

把登录用户名添加到文件/etc/vsftpd/ftpusers后,这个用户就不能连接ftp服务器了。

把ftpuser添加到/etc/vsftpd/ftpusers末尾后,ftpuser这个用户就不能正常登录ftp服务器了:

设置vsftpd.conf参数为如下:

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

在ftp服务器端,添加两个新用户并且设置密码,把ftpuser1添加到/etc/vsftpd/chroot_list文件末尾并且除去ftpuser1用户对家目录的写权限,重启vsftpd:

在客户端进行连接测试,用户ftpuser1被限制在自己的家目录中,而ftpuser2未被限制在家目录中:

控制可登录vsftpd服务的用户列表:
userlist_enable=YES
启用/etc/vsftpd/user_list文件类控制可登录用户
userlist_deny=
                        YES:黑名单
                        NO:白名单

启用白名单控制,设置userlist_enable=YES和userlist_deny=NO,并且删除/etc/vsftpd/user_list中原先内容,添加一个用户ftpuser1,重启vsftpd后,只有ftpuser1这个用户能够正常登录,其余用户都不能登录:

C) 虚拟用户:非系统用户,用户账号非为可登录操作系统的用户账号(非/etc/passwd)

总结中...

vsftpd基本使用相关推荐

  1. vsftpd的主配置文件是什么linux,linux下vsftpd配置文件选项详细说明

    //关闭 三.vsftp配置文件各选项说明 #vi /etc/vsftpd/vsftpd.conf 允许匿名登录 12 anonymous_enable=YES 允许本地帐号登录 15 local_e ...

  2. ubuntu16.06+vsftpd+nginx搭建图片服务器

    安装vsftpd 注:以下指令都在root账户下操作 # apt安装vsftpd apt-get install vsftpd#启动vsftpd service vsftpd start#新建用户作为 ...

  3. centos6一键安装vsftpd脚本

    centos6一键安装vsftpd脚本 手动安装vsftpd参考教程:Centos下安装Vsftpd的图文教程 vsftpd脚本功能: 1.安装 (命令执行:sh xxx.sh)2.添加ftp用户 ( ...

  4. linux 7 vsftpd 配置,CentOS7 安装并配置使用vsftpd

    1. 安装vsftpd服务: yum install vsftpd 2.修改vsftpd的一些配置项: vi /etc/vsftpd/vsftpd.conf #改为NO 就是禁止匿名用户登录 anon ...

  5. 在CentOS 6.3 64bit上安装FTP服务器vsftpd 2.2.2

    vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用.并且是一个完全免费开放源码的ftp软件 根据业务需要,要求支持ftp和sftp,我需要在Linux上架设一个 ...

  6. ubuntu vsftpd虚拟用户配置/ubuntu12.04上搭建vsftpd服务示例linux

    转自这里 在ubuntu中安装完vsftpd后,安装libdb4.6-util: 复制代码 代码示例: sudo apt-get install db4.6-util 在etc下面建立目录vsftpd ...

  7. Centos 7使用vsftpd搭建FTP服务器

    FTP,即:文件传输协议(File Transfer Protocol),基于客户端/服务器模式,默认使用20.21端口号,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端 ...

  8. RHEL6.3安装vsftpd

    1.下载vsftpd,可以从官网(http://vsftpd.beasts.org)下载,也可以百度搜索 [root@localhost vsftpd]# wget http://down1.chin ...

  9. vsftpd用户配置 No.2

    在配置ftp虚拟用户的过程中,还有一种配置方式. yum -y install 安装vsftpd cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf. ...

  10. vsftpd企业应用快速部署文档

    系统环境:centos 5.6 vsftpd:2.3.5 vsftpd是UNIX/Linux中非常安全且快速的FTP服务器,目前已经被许多大型站点所采用.vsftpd支持将用户名和口令保存在数据库文件 ...

最新文章

  1. 杭电oj1176,2084java实现
  2. SM04 在线用户管理(踢人事务)
  3. 性能远超AtomicLong,LongAdder原理完全解读
  4. go 接口 构造器_Go 中接口值的复制
  5. 我同事今天被裁了,但我却涨了1万工资!
  6. Linux用户资源限制-ulimit
  7. 2021最新Java零基础自学教程,java从入门到精通
  8. font-family字体-常用字体中英文对照表
  9. ipv4v6双栈技术_什么是IPv6双栈技术
  10. windows背景豆沙绿设置
  11. 爬虫实战 ——百度翻译
  12. 菩提千年,你是我红尘中最美的缘
  13. 红帽子linux5.5安装,红帽子企业Linux 5安装  硬盘安装
  14. maven 生成脚手架_如何通过脚手架和自动表格生成加速流星开发
  15. macOS:半分钟获取FileVault 2的密码 - PCILeech
  16. Word和Excel齐发力,将多个单元格的文本内容合并到一个单元格
  17. 计算机容差技术CAT最新应用,cat是计算机辅助什么?
  18. 团队中技术同质化的反思
  19. ts 之 Pick 和 Omit
  20. linux设备编号,linux设备号详解

热门文章

  1. 多传感器信息融合及应用(何友等著)一至四章节读书笔记
  2. ios 微信登录sdk集成
  3. 拉丁超立方抽样法(LHS)matlab程序,包含正态分布,对数正态分布等
  4. 微信公众号教程—记录个人公众号运营(待更新)
  5. 记录:图片转字符画及文字转字符画
  6. 【工具使用系列】PostScript工具 GhostScript,GSview,Epstool,RedMon
  7. 计算机应用程序没声音,电脑突然没声音,多半是这三个原因导致的-维修经验...
  8. Windows下如何批量重命名
  9. Markdown 语法手册全
  10. 艺多不压身—摩尔斯电码