220 likes | 367 Views
第 1 章内容回顾. 通过 DHCP 服务器可以对局域网中的主机进行 IP 地址的集中管理 Linux 主机作为 DHCP 客户机,需要在网络接口配置文件中进行设置 使用 NIS 服务器可以实现 Linux 系统中用户帐号等系统信息的集中管理 NIS 服务器主机中需要运行 portmap 和 ypserv 服务程序 NIS 客户主机中,需要运行 ypbind 服务程序. FTP 服务器. 第三讲. 本章目标. 了解 FTP 服务的基本概念 了解常用的 FTP 服务器和 FTP 客户端软件 掌握 vsftpd 服务器的配置和管理
E N D
第1章内容回顾 • 通过DHCP服务器可以对局域网中的主机进行IP地址的集中管理 • Linux主机作为DHCP客户机,需要在网络接口配置文件中进行设置 • 使用NIS服务器可以实现Linux系统中用户帐号等系统信息的集中管理 • NIS服务器主机中需要运行portmap和ypserv服务程序 • NIS客户主机中,需要运行ypbind服务程序 Chapter
FTP服务器 第三讲 Chapter
本章目标 • 了解FTP服务的基本概念 • 了解常用的FTP服务器和FTP客户端软件 • 掌握vsftpd服务器的配置和管理 • 掌握使用ftp命令对FTP服务器进行测试 Chapter
FTP服务器 FTP服务概述 FTP服务的安装和简单配置 FTP服务器及基本原理 ftp命令与FTP客户端软件 安装vsftpd vsftpd服务器的配置基本 vsftpd服务的启动和关闭 配置FTP服务器的虚拟用户 典型FTP服务器设置 FTP服务应用 举例 本章结构 Chapter
FTP服务器及基本原理 • FTP服务的基本概念 • FTP是用于进行文件传输的网络协议 • FTP服务中分为服务器和客户机两个角色 • FTP服务器的传输模式 • 主动模式:由服务器主动连接客户机建立数据链路 • 被动模式:FTP服务器等待客户机建立数据链路 • FTP服务器使用的端口 • 21端口用于与客户机建立命令链路 • 在主动模式下服务器使用20端口向客户机建立数据链路 Chapter
主动模式的连接过程 1:FTP客户机由大于1024的N端口向FTP服务器的21端口发出请求建立命令链路 2:FTP服务器由21端口向FTP客户机的N端口回应,确认建立命令链路 3:FTP服务器由20端口向FTP客户机的N+1端口主动建立数据链路连接 4:FTP客户机由N+1端口向FTP服务器的20端口回应,确认数据链路的建立 Chapter
被动模式的连接过程 1:FTP客户机由大于1024的N端口向FTP服务器的21端口发出请求建立命令链路 2:FTP服务器由21端口向FTP客户机的N端口回应,确认建立命令链路 3:FTP服务器会通过已建立的数据链路通知客户机自己已经打开了大于1024的端口M,用于建路数据链路;当需要传输数据时,FTP客户机会通过N+1端口向FTP服务器的M端口请求建立数据链路 4:FTP服务器在M端口监听到FTP客户机的连接请求后,将从M端口向FTP客户机的N+1端口确认数据链路的建立 Chapter
常用FTP服务器软件 • Windows下常用的FTP服务器软件 • IIS具有FTP服务器的功能 • Serv-U是流行的FTP服务器软件 • Linux下的FTP服务器 • Wu-ftpd出现较早,运行稳定,安全性稍差 • Proftpd在配置文件和安全性方面有很大改进 • vsftpd着重强调服务的安全性,运行效率也很高 • vsftpd服务器是本章学习的重点 Chapter
ftp命令作为FTP客户端 • ftp命令是最基本的FTP客户端软件 • 在Linux和Windows系统中都默认提供ftp命令 • ftp命令的交互环境中使用命令对FTP服务器进行操作 • ftp中很多命令与Bash中的命令类似 • binary设置传输二进制文件,ascii设置传输文本文件 • get命令用于下载文件,put命令用于上传文件 • mget和mput用于一次下载或上传多个文件 • bye命令可退出ftp命令交互环境 Chapter
FTP客户端软件 • FTP客户端软件的特点 • 运行在图形环境下的窗口程序 • 可使用鼠标和通过菜单进行操作 • 用户界面友好,操作方便 • 常用FTP客户端软件 • CuteFTP是Windows下流行的商业软件 • Filezilla是Windows下运行的开源软件 • gftp是Linux中GNOME桌面环境中运行的FTP客户端软件,是GNOME的重要组成部分 Chapter
安装vsftpd • vsftpd的安装需要注意以下几点 • RHEL4系统中默认没有安装vsftpd服务器 • vsftpd服务器的安装文件位于第1张安装光盘中 • 安装文件名称是vsftpd-2.0.1-5.i386.rpm • 使用rpm命名可顺利安装该软件包 # rpm -ivh vsftpd-2.0.1-5.i386.rpm Chapter
vsftpd.conf配置文件 • vsftpd.conf是vsftpd服务器的主配置文件 /etc/vsftpd/vsftpd.conf • 配置文件中所有的配置项都有相同的格式 anonymous_enable=YES • 配置文件中的注释行以“#”开始 • 配置文件的详细帮助信息可查询手册页 # man vsftpd.conf Chapter
vsftpd服务器的缺省配置 • vsftpd.conf文件中的缺省配置为: anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES pam_service_name=vsftpd userlist_enable=YES listen=YES tcp_wrappers=YES anonymous_enable设置为“YES”时FTP服务器允许匿名登录 local_enable设置为“YES”时允许本地用户登录 write_enable设置为“YES”时FTP服务器开放对本地用户的写权限 dirmessage_enable设置为“YES”时当切换到FTP服务器中的某个目录时,将显示该目录下的.message隐含文件的内容 local_umask设置项设置本地用户的文件生成掩码 xferlog_enable设置为“YES”时FTP服务器将启用上传和下载日志 connect_from_port_20设置为“YES”时FTP服务器将启用FTP数据端口的连接请求 xferlog_std_format设置为“YES”时FTP服务器将使用标准的ftpd xferlog日志格式 pam_service_name设置PAM认证服务的配置文件名称 userlist_enable设置为“YES”时FTP服务器将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器 listen设置为“YES”时FTP服务器将处于独立启动模式 tcp_wrappers设置为“YES”时FTP服务器将使用tcp_wrappers作为主机访问控制方式 Chapter
vsftpd.ftpusers文件 • vsftpd.ftpusers用于保存不允许进行FTP登录的本地用户帐号 # head -5 /etc/vsftpd.ftpusers # Users that are not allowed to login via ftp root bin daemon adm • vsftpd.ftpusers文件中可禁止高权限本地用户登录FTP服务器,提高了系统的安全性 Chapter
vsftpd.user_list文件 • vsftpd.user_list文件具有对vsftpd服务器更灵活的用户访问控制 /etc/vsftpd.user_list • 使用vsftpd.user_list文件需要在主配置文件中进行设置 • 设置禁止vsftpd.user_list文件中的用户登录 userlist_enable=YES userlist_deny=YES • 设置只允许vsftpd.user_list文件中的用户登录 userlist_enable=YES userlist_deny=NO Chapter
匿名用户登录 • vsftpd服务器提供匿名用户登录的功能 • 匿名用户使用的登录用户名 anonymous ftp • 匿名FTP用户登录的口令通常是使用用户的E-mail地址,在vsftpd中输入任何字符串或直接回车都可以登录 • 所有匿名用户都登录到相同的目录中 /var/ftp • FTP服务器的匿名登录可用于构建公共的文件下载服务器 Chapter
vsftpd服务的启动和关闭 • 服务器启动脚本 • 启动脚本名称是vsftpd /etc/init.d/vsftpd • vsftpd服务需要设置在运行级别3和5自动启动 # chkconfig --level 35 vsftpd on • 服务器启动 # service vsftpd start • 服务器停止 # service vsftpd stop • 服务器状态查询 # service vsftpd status Chapter
使用ftp命令登录FTP服务器 • ftp命令登录FTP服务器的格式 # ftp 192.168.1.2 • 匿名登录 • 使用用户名anonymous或ftp • 登录的FTP根目录为系统目录“/var/ftp” • 本地用户登录 • 使用系统用户帐号和口令登录ftp服务器 • 登录FTP服务器后的目录为用户宿主目录,用户可转换到系统中的其他目录 Chapter
FTP本地用户帐号的问题 • 使用FTP本地用户帐号存在安全性问题 • FTP本地用户使用Linux系统用户帐号,存在安全隐患 • 使用虚拟帐号替代本地用户帐号可以增强系统的安全性 • 本地用户登录FTP目录后可从宿主目录转换到其他目录,不是很安全 • 可以设置将本地用户禁锢在宿主目录中 Chapter
将FTP本地用户禁锢在宿主目录中 • 在vsftpd.conf文件中添加设置项 chroot_local_user=YES • 重新启动vsftpd服务 # service vsftpd restart • 使用ftp客户端验证 本地用户登录FTP服务器后,宿主目录将作为根(/)目录 Chapter
阶段总结 • FTP是进行文件传输的网络协议 • FTP服务器和客户机软件在Linux和Windows平台都有多种选择 • vsftpd是以安全见长的FTP服务器软件 • FTP客户端可以是ftp命令或窗口程序 • vsftpd服务使用vsftpd.conf文件进行核心配置 • vsftpd服务器的启动脚本是vsftpd • vsftpd默认配置支持匿名用户登录和本地用户登录 Chapter
阶段练习 • 查看vsftpd.conf配置文件的默认设置 • 使用ftp命令匿名登录FTP服务器 Chapter