第2讲 vsftpd服务器配置与管理.

Slides:



Advertisements
Similar presentations
本章重点内容  SMB 协议和 Samba 简介  安装和启动 Samba  配置 Samba 文件共享  配置 Samba 打印共享  在 Linux 环境下访问 Samba 共享.
Advertisements

Linux 应用基础 李志虹
项目8 架设FTP服务 目标 : 了解FTP服务的基本原理 掌握通过vsftpd配置FTP服务器的一般方法
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
计算机网络高级工 梁绍宇.
组网技术与配置 (第3版) 清华大学出版社 ISBN
第15章 配置Samba服务器 微软最有价值专家(MVP) IT集成课程视频教学下载地址
資訊安全與系統管理 2013/3/13 Chien wei lin.
项目四 组建跨地区网络 授课教师:肖颖.
网络应用服务管理 吴献彩.
第6章内容回顾 域名空间结构分为哪4层 简述DNS查询过程 区域文件中主要有哪些资源记录 简述转发器的概念 简述子域和委派的概念
中青国信科技(北京)有限公司 空间域名邮局价格表.
RedHat Linux 服务器操作系统.
J2EE与中间件技术 ——Lab.
Confidential Property
Linux.
第 2 章 上機使用 Unix/Linux 內容: 操作介面 主機連線 登入主機 認識系統環境 使用者常用命令.
Web Server 架設.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Linux 切换、 创建和删除目录 系统管理 宁波市高校慕课联盟课程
FTP服务器的设置.
AngularJS -- 使用AngularJS进行开发
第二讲 搭建Java Web开发环境 主讲人:孙娜
本章主要讲解Internet应用服务器的配置方法,包括DNS服务器、FTP服务器、 服务器。通过对本章的学习,主要掌握以下内容:
第03章 Samba服务的配置与应用 本章导读 Samba的概述 Samba服务的配置文件 Samba服务的文件共享
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
网络常用常用命令 课件制作人:谢希仁.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
岗位技能(二)Linux系统配置与管理 项目3 TCP/IP网络接口配置
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
Windows與Linux資源共享 SAMBA
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
LogBase运维安全管理系统.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
项目三 构建小型办公网络网络实现文件服务 项目描述
ENS 10.1安装配置指南 王俊涛 | SE.
第 22 章 架設 WWW 伺服器.
供应商登录CJLR SRM系统入口 CJLR供应商仅可以在互联网上访问SRM系统,无法在CJLR内网登录SRM系统.
SOA – Experiment 2: Query Classification Web Service
系统管理员培训(I期) 浙江省基层人民法院 -V8版介绍及系统管理培训 二OO八年四月二十三日 法院事业部经理:周春宏
第 23 章 架設 FTP 伺服器.
第二章 登录UNIX操作系统.
WWW服务 WWW服务概述 IIS6.0的 WWW 服务 IIS6.0下安装PHP
Web安全基础教程
第四章 团队音乐会序幕: 团队协作平台的快速创建
姚金宇 MIT SCHEME 使用说明 姚金宇
杨振伟 清华大学 第一讲:Linux环境下编程(1)
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
教育部 财政部 网络教育数字化学习资源中心平台系统 安装与配置
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
Visual Basic程序设计 第13章 访问数据库
Python 环境搭建 基于Anaconda和VSCode.
FTP服务器配置与管理 授课教师:于伟.
关于使用问题的解决方法 中山医学院大数据信息系统.
杨振伟 清华大学 第一讲:Linux环境下编程(1)
Linux网络配置管理.
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
实验六静态路由.
第六章 文件系统与文件管理 6.4 Linux文件管理 1、比较MS DOS 与 Linux的目录结构 一、Linux文件系统的树形结构
JUDDI安装手册.
Presentation transcript:

第2讲 vsftpd服务器配置与管理

主要内容 Linux环境下的FTP服务器 RHEL4中vsftp的默认配置 常用vsftpd服务器的配置

1. Linux环境下的FTP服务器 常用FTP客户端和服务器 vsftpd服务器的特点 谁在使用vsftpd FTP用户

1.1 常用FTP客户端和服务器 Linux环境 Windows环境 FTP服务器 vsftpd IIS proftpd Serv-U wu-ftpd FTP客户端 ftp/ncftp/lftp命令行工具 ftp命令行工具 gftp CuteFTPpro 浏览器firefox 浏览器IE

1.2 vsftpd服务器的特点 安全、高速、稳定 可设定多个基于IP的虚拟FTP server 匿名FTP服务非常容易 不执行任何外部程序,从而减少了安全隐患 支持虚拟用户 支持带宽限制 支持inetd启动和独立FTP服务器两种运行方式

1.3 谁在使用vsftpd ftp.redhat.com ftp.suse.org ftp.debian.org ftp.gnu.org ftp.kde.org ftp.gnome.org ftp.openbsd.org

1.4 FTP用户 本地用户 虚拟用户 匿名用户 用户在FTP服务器上拥有账号,且该账号为为本地用户的账号 可以通过输入自己的账号和口令进行授权登录 登录目录为自己的home目录($HOME) 虚拟用户 用户在FTP服务器上拥有账号,但该账号只能用于文件传输服务 登录目录为某一指定的目录 通常可以上传和下载 匿名用户 用户在FTP服务器上没有账号 登录目录为/var/ftp

2. RHEL4中vsftp的默认配置 安装并启动vsftpd vsftpd的配置文件 vsftpd.conf的一些默认配置选项

2.1 安装并启动vsftpd 查看是否安装了vsftpd 启动vsftpd 检验vsftpd是否已启动 # rpm –qa | grep vsftpd 启动vsftpd # service vsftpd start 或者 # /etc/init.d/vsftpd start 检验vsftpd是否已启动 # pstree | grep vsftpd

2.2 vsftpd的配置文件 /etc/vsftpd/vsftpd.conf /etc/ vsftpd.ftpusers 主配置文件 /etc/ vsftpd.ftpusers 指定哪些用户不能访问FTP服务器 /etc/ vsftpd.user_list 当在/etc/ vsftpd/vsftpd.conf中设置了 userlist_enable=YES,且 userlist_deny=YES时, vsftpd.user_list中指定的用户不能访问FTP服务器。 当在/etc/ vsftpd/vsftpd.conf中设置了 userlist_enable=YES,且 userlist_deny=NO时,仅仅允许 vsftpd.user_list中指定的用户访问FTP服务器。

2.3 vsftpd.conf的一些默认配置选项(1) # cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 允许匿名登录 anonymous_enable=YES 允许本地用户登录 local_enable=YES 开放本地用户的写权限 write_enable=YES 设置本地用户的文件生成掩码 local_umask=022

2.3 vsftpd.conf的一些默认配置选项(2) 当切换目录时,显示该目录下的.message隐含文件的内容 dirmessage_enable=YES 激活上传和下载日志 xferlog_enable=YES 启用FTP数据端口的连接请求 connect_from_port_20=YES 使用标准的ftpd xferlog日志格式 xferlog_std_format=YES 设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d目录下 pam_service_name=vsftpd

2.3 vsftpd.conf的一些默认配置选项(3) 激活vsftpd检查userlist_file指定的用户是否可以访问vsftpd服务器 userlist_enable=YES userlist_file的默认值是/etc/ vsftpd.user_list文件。 由于默认情况下, userlist_deny=YES,所以/etc/vsftpd.user_list文件中所列的用户均不能访问此 vsftpd服务器。 使vsftpd处于独立启动模式 listen=YES 使用 tcp_wrappers作为主机的访问控制方式 Tcp_wrappers=YES

2.4 测试vsftpd的默认配置—匿名帐号 在匿名帐号的下载目录/var/ftp/pub目录下,存放一个测试文件 # echo “This is a test file” > /var/ftp/pub/test_file 生成目录信息文件/var/ftp/pub/.message # echo “Welcome to this Directory.” > /var/ftp/pub/.message 使用FTP客户端连接FTP服务器 下载test_file.txt ---- 成功 上传一个文件,例如/root/install.log ---- 失败 查看日志文件/var/log/vsftpd.log 需要打开配置选项xferlog_file=/var/log/vsftpd.log

2.5 测试vsftpd的默认配置—本地帐号 以本地帐号student测试vsftpd服务器 使用root不能登录vsftpd服务器 root用户被写在了/etc/vsftpd.ftpusers文件中

2.6 关于vsftpd默认配置的小结 允许匿名用户和本地用户登录。 匿名用户的登录名为ftp或anonymous。 匿名用户不能离开匿名服务器目录/var/ftp,且只能下载不能上传。 本地用户(vsftpd服务器)的登录名为本地用户名(FC3),口令为本地用户的口令(FC3)。 本地用户可以离开其home目录,切换到有权访问的其他目录,并且在权限允许的情况下进行上传和下载。 写在文件/etc/vsftpd.ftpusers中的本地用户禁止登录。

3. 常用vsftpd服务器的配置 允许匿名用户上传 配置基本的性能和安全选项 配置基于本地用户的访问控制 配置基于主机的访问控制 配置基于IP的虚拟FTP服务器 配置虚拟用户的FTP服务器

3.1 允许匿名用户上传(1) 创建匿名上传目录 修改上传目录的权限 在/etc/vsftpd/vsftpd.conf中激活如下配置选项 # mkdir / var/ftp/imcomming 修改上传目录的权限 # chmod 777 / var/ftp/imcomming 在/etc/vsftpd/vsftpd.conf中激活如下配置选项 允许匿名用户上传(选项write_enable需要为YES) anon_upload_enable=YES anon_umask=022 允许匿名用户创建目录(选项write_enable需要为YES) anon_mkdir_write_enable=YES 允许匿名用户进行写操作(如删除和重命名文件或目录) anon_other_write_enable=YES 匿名用户仅被允许下载对于它可读的文件 anon_world_readable_only=YES

3.1 允许匿名用户上传(2) 检查配置文件 重新启动vsftpd vsftpd /etc/vsftpd/vsftpd.conf # service vsftpd restart

3.2 配置基本的性能和安全选项(1) 设置空闲用户会话的中断时间(s) 设置空闲的数据连接的中断时间(s) 限制客户连接数 idle_session_timeout=600 设置空闲的数据连接的中断时间(s) data_connection_timeout=120 限制客户连接数 max_clients=200 max_per_ip=3 设置最大传输速率限制(B/s) local_max_rate=50000 anon_max_rate=30000

3.2 配置基本的性能和安全选项(2) 不允许某些用户切换到其home目录以外的其他目录 不允许所有用户切换到其home目录以外的其他目录 chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list /etc/vsftpd.chroot_list文件中指定的用户不能访问其home目录以外的其他目录 不允许所有用户切换到其home目录以外的其他目录 chroot_local_user=YES 仅允许某些用户切换到其home目录以外的其他目录 /etc/vsftpd.chroot_list文件中指定的用户能够访问其home目录外的其他目录

3.3 配置基于本地用户的访问控制 使选项userlist_file对应的文件(默认值为/etc/vsftpd.user_list)中指定的本地用户不能访问,而其他用户可以访问 userlist_enable=YES userlist_deny=YES 使选项userlist_file对应的文件(默认值为/etc/vsftpd.user_list)中指定的本地用户可以访问,而其他用户不可以访问 userlist_deny=NO

3.4 配置基于主机的访问控制(独立模式) (1) TCP_wrappers使用/etc/hosts.allow和/etc/hosts.deny两个配置文件实现访问控制。 在hosts.allow可以使用DENY,通常使用它来实现访问控制。 对于vsftpd,hosts.allow中每条记录的语法格式如下 vsftpd: 主机表: setenv VSFTPD_LOAD_CONF 配置文件名

配置vsftpd访问控制时主机表的书写语法 选现值 含义 Hostname 可解析的主机名 IP Address 点分十进制表示的IP地址 .domain 匹配一个域中的所有主机 Network-number 匹配IP地址的开始部分,不管使用的网络掩码如何 IPAddress/netmask 定义要匹配的网络或子网

配置主机访问控制的例子(1) 要求 步骤 拒绝192.168.2.0/24访问 对域smartraining.com和192.168.1.0/24内的所有主机不作连接数和最大传输速率限制 对其他主机的访问控制限制每IP地址的连接数为1,最大传输速率限制为10kb/s 步骤 修改/etc/vsftpd/vsftpd.conf文件,设置如下选项 tcp_wrappers=YES (默认情况) local_max_rate=10000 anon_max_rate=10000 max_per_ip=1

配置主机访问控制的例子(2) 修改/etc/hosts.allow,加入如下配置选项 vsftpd: .smartraining.com, 192.168.1.0/24: setenv VSFTPD_LOAD_CONF /etc/vsftpd/vsftpd_tcp_wrap.conf vsftpd: 192.168.2.0/24: DENY 编辑/etc/vsftpd/vsftpd_tcp_wrap.conf local_max_rate=0 anon_max_rate=0 max_per_ip=0 重新启动vsftpd

3.5 配置vsftpd在非标准端口下提供服务 vsftpd必须工作在独立启动方式下,才能在非标准端口提供服务 例子:在10021端口提供服务 修改/etc/vsftpd/vsftpd.conf文件,添加如下一行 listen_port=10021 重启vsftpd服务

3.6 配置基于IP的虚拟FTP服务器(1) 配置虚拟IP地址 建立虚拟FTP的服务器目录并设置适当的权限 配置一个虚拟网络接口eth0:1 # ifconfig eth0:1 192.168.1.234 up 建立虚拟FTP的服务器目录并设置适当的权限 建立虚拟FTP的服务器目录 # mkdir –d /var/ftp2/pub # chmod 755 –R /var/ftp2 在下载目录下生成测试文件 # echo “hello” > /var/ftp2/pub/test_file.txt

3.6 配置基于IP的虚拟FTP服务器(2) 建立虚拟FTP服务器的主配置文件 创建虚拟服务器的匿名用户所映射的本地用户ftp2 # useradd –d /var/ftp2 –M ftp2 在/etc/vsftpd/vsftpd.conf中添加如下一行,将原FTP服务绑定到eth0接口 listen_address=192.168.1.222 建立虚拟FTP服务器的主配置文件 用备份的vsftpd的默认主配置文件生成虚拟FTP服务器的主配置文件 # cp /etc/vsftpd/vsftpd.conf.fc3 /etc/vsftpd/vsftpd_site2.conf

3.6 配置基于IP的虚拟FTP服务器(3) 重新启动vsftpd 修改虚拟FTP服务器的主配置文件,添加如下一行 listen_address=192.168.1.234 ftp_username=ftp2 ftpd_banner=This is the alternative FTP site 重新启动vsftpd # service vsftpd restart

测试:基于IP的虚拟FTP服务器(1)

测试:基于IP的虚拟FTP服务器(2)

3.7 配置虚拟用户的FTP服务器(1) 生成虚拟用户口令库文件 建立一个文本文件,存储虚拟用户名和口令 #cd /root #vi logins.txt login.txt文件的格式为:奇数行为用户名,偶数行为口令。 使用 db_load生成口令库文件 #db_load –T –t hash –f ~/logins.txt /etc/vsftpd_logins.db 修改口令库文件的权限 #chmod 600 /etc/vsftpd/vsftpd_logins.db

3.7 配置虚拟用户的FTP服务器(1) 生成虚拟用户口令库文件 建立一个文本文件,存储虚拟用户名和口令 #cd /root #vi logins.txt login.txt文件的格式为:奇数行为用户名,偶数行为口令 使用 db_load生成口令库文件 #db_load –T –t hash –f ~/logins.txt /etc/vsftpd/vsftpd_login.db 修改口令库文件的权限 # chmod 600 /etc/vsftpd/vsftpd_login.db

logins.txt

3.7 配置虚拟用户的FTP服务器(2) 配置生成vsftpd的认证文件 编辑生成虚拟用户所需的PAM配置文件 # vi /etc/pam.d/vsftp.vu 插入如下的两行 auth required /lib/security/pam_userdb.so db=/etc/ vsftpd/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

vsftp.vu

3.7 配置虚拟用户的FTP服务器(3) 建立虚拟用户所要访问的目录并设置相应权限 建立虚拟用户要访问的目录,并设置仅virutal用户访问的权限 # useradd –d /home/ftpsite virtual # chmod 700 /home/ftpsite 建立测试文件 # su – virtual –c “echo hello, I am virtual > /home/ftpsite/test_file”

3.7 配置虚拟用户的FTP服务器(4) 建立配置文件 由备份的配置文件/etc/vsftpd/vsftpd.conf.bak生成新的主配置文件 ––– 独立运行且匿名下载 # cp /etc/vsftpd/vsftpd.conf.bak /etc/vsftpd/vsftpd.conf 修改主配置文件,保证其中有下面的配置语句 anonymouns_enable=NO local_enable=YES write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO

3.7 配置虚拟用户的FTP服务器(5) 重新启动vsftpd chroot_local_user=YES listen=YES listen_port=10021 ftpd_banner=This FTP server is virtual user only. guest_enable=YES  启用虚拟用户 guest_username=virtual  将虚拟用户映射为本地virtual用户,这样虚拟用户登录后才能进入本地用户virtual的目录/home/ftpsite pam_service_name=vsftp.vu  指定PAM配置文件vsftp.vu 重新启动vsftpd # service vsftpd restart

虚拟用户时的vsftpd.conf

测试:虚拟用户

查看谁登陆了FTP,并杀死它的进程 ps –xf |grep ftp kill 进程号