《第13章 配置与管理FTP服务器课件.ppt》由会员分享,可在线阅读,更多相关《第13章 配置与管理FTP服务器课件.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LinuxLinux操作系统与实训操作系统与实训( (第四版第四版)杨云杨云 编著编著中国铁道出版社中国铁道出版社国家精品课程国家精品课程/国家精品资源共享课程国家精品资源共享课程配套教材配套教材第13章 配置与管理FTP服务器第13章 配置与管理FTP服务器 FTP(File Transfer Protocol)是文件传输协议的缩写,它是Internet最早提供的网络服务功能之一,利用FTP服务可以实现文件的上传及下载等相关的文件传输服务。本章将介绍Linux下vsftpd服务器的安装、配置及使用方法。 学习目标 : FTP服务的工作原理。 vsftpd服务器的配置。 基于虚拟用户的FTP服
2、务器的配置。 典型的配置案例。13.1 FTP概述 13.3认识vsftpd的配置文件13.5配置本地模式的常规FTP服务器案例13.6设置vsftp虚拟账号第13章 配置与管理FTP服务器13.2 安装vsftpd服务13.4配置匿名用户FTP实例413.1 相关知识相关知识以HTTP为基础的WWW服务功能虽然强大,但对于文件传输来说却略显不足。一种专门用于文件传输的FTP服务应运而生。 FTP服务就是文件传输服务,FTP的全称是File Transfer Protocol,顾名思义,就是文件传输协议,具备更强的文件传输可靠性和更高的效率。第13章 配置与管理FTP服务器 1bind软件包简
3、介BIND是一款实现DNS服务器的开放源码软件。FTP大大简化了文件传输的复杂性,它能够使文件通过网络从一台主机传送到另外一台计算机上却不受计算机和操作系统类型的限制。无论是PC、服务器、大型机,还是IOS、Linux、Windows操作系统,只要双方都支持协议FTP,就可以方便、可靠地进行文件的传送。513.1.1 FTP的工作原理第13章 配置与管理FTP服务器 FTP服务的具体工作过程如下,如图14-1所示。(1)客户端向服务器发出连接请求,同时客户端系统动态地打开一个大于1024的端口等候服务器连接(比如1031端口)。(2)若FTP服务器在端口21侦听到该请求,则会在客户端1031端
4、口和服务器的21端口之间建立起一个FTP会话连接。(3)当需要传输数据时,FTP客户端再动态地打开一个大于1024的端口(比如1032端口)连接到服务器的20端口,并在这两个端口之间进行数据的传输。当数据传输完毕后,这两个端口会自动关闭。(4)当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放。6第13章 配置与管理FTP服务器 通过使用一个共同的用户名anonymous,密码不限的管理策略(一般使用用户的邮箱作为密码即可)让任何用户都可以很方便地从这些服务器上下载软件。713.1.2 匿名用户第13章 配置与管理FTP服务器813.2 安装安装vsftpd服务服务项目
5、设计与准备项目设计与准备主机名称主机名称操作系统操作系统IP地址地址角色及其他角色及其他DHCP服务器:服务器:RHEL7-1RHEL 7192.168.10.1FTP服务器,VMnet1Linux客户端:客户端:Client1RHEL 7192.168.10.20FTP客户端,VMnet1Windows客户端:客户端:Win7-1Windows 7192.168.10.30宿主机、FTP客户端,直接在网卡VMnet上设置IP地址为:192.168.10.30/24第13章 配置与管理FTP服务器913.2.2 安装、启动与停止vsftpd服务1.安装vsftpd服务rootRHEL7-1 #
6、 rpm -q vsftpdrootRHEL7-1 # mkdir /isorootRHEL7-1 # mount /dev/cdrom /isorootRHEL7-1 # yum clean all /安装前先清除缓存rootRHEL7-1 # yum install vsftpd -yrootRHEL7-1 # yum install ftp -y/同时安装ftp软件包rootRHEL7-1 # rpm -qa|grep vsftpd/检查安装组件是否成功第13章 配置与管理FTP服务器1013.2.2 安装、启动与停止vsftpd服务2.vsftpd服务启动、重启、随系统启动、停止,开放
7、防火墙,开放服务启动、重启、随系统启动、停止,开放防火墙,开放SELinuxrootRHEL7-1 # systemctl restart vsftpdrootRHEL7-1 # systemctl enable vsftpdrootRHEL7-1 # firewall-cmd -permanent -add-service=ftprootRHEL7-1 # firewall-cmd -reloadrootRHEL7-1 # setsebool -P ftpd_full_access=on第13章 配置与管理FTP服务器1113.2.3 任务2 认识vsftpd的配置文件1. 主配置文件主配置
8、文件rootRHEL7-1 # grep -v # /etc/vsftpd/vsftpd.conf.bak /etc/vsftpd/vsftpd.confrootRHEL7-1 # cat /etc/vsftpd/vsftpd.conf -n第13章 配置与管理FTP服务器121. 主配置文件主配置文件 1anonymous_enable=YES 2local_enable=YES 3write_enable=YES 4local_umask=022 5dirmessage_enable=YES 6xferlog_enable=YES 7connect_from_port_20=YES 8xf
9、erlog_std_format=YES 9listen=NO 10listen_ipv6=YES 11 12pam_service_name=vsftpd 13userlist_enable=YES 14tcp_wrappers=YES 第13章 配置与管理FTP服务器13参数参数作用作用listen=YES|NO是否以独立运行的方式监听服务listen_address=IP地址地址设置要监听的IP地址listen_port=21设置FTP服务的监听端口download_enableYES|NO是否允许下载文件userlist_enable=YES|NOuserlist_deny=YES|N
10、O设置用户列表为“允许”还是“禁止”操作max_clients=0最大客户端连接数,0为不限制max_per_ip=0同一IP地址的最大连接数,0为不限制anonymous_enable=YES|NO是否允许匿名用户访问anon_upload_enable=YES|NO是否允许匿名用户上传文件anon_umask=022匿名用户上传文件的umask值anon_root=/var/ftp匿名用户的FTP根目录anon_mkdir_write_enable=YES|NO是否允许匿名用户创建目录anon_other_write_enable=YES|NO是否开放匿名用户的其他写入权限(包括重命名、删
11、除等操作权限)anon_max_rate=0匿名用户的最大传输速率(字节/秒),0为不限制local_enable=YES|NO是否允许本地用户登录FTPlocal_umask=022本地用户上传文件的umask值local_root=/var/ftp本地用户的FTP根目录chroot_local_user=YES|NO是否将用户权限禁锢在FTP目录,以确保安全local_max_rate=0本地用户最大传输速率(字节/秒),0为不限制第13章 配置与管理FTP服务器142./etc/pam.d/vsftpdvsftpd的Pluggable Authentication Modules(PAM
12、)配置文件,主要用来加强vsftpd服务器的用户认证。3./etc/vsftpd/ftpusers所有位于此文件内的用户都不能访问所有位于此文件内的用户都不能访问vsftpd服务。当然,为了安全起见,这个文件中默服务。当然,为了安全起见,这个文件中默认已经包括了认已经包括了root、bin和和daemon等系统账号。等系统账号。第13章 配置与管理FTP服务器154./etc/vsftpd/user_list 当userlist_deny=NO时, 仅允许文件列表中的用户访问FTP服务器。 当userlist_deny=YES 时,这也是默认值,拒绝文件列表中的用户访问FTP服务器5./var
13、/ftp文件夹文件夹 vsftpd提供服务的文件集散地,它包括一个pub子目录。在默认配置下,所有的目录都是只读的,不过只有root用户有写权限。第13章 配置与管理FTP服务器1613.4配置匿名用户FTP实例1. vsftpd的认证模式的认证模式vsftpd允许用户以三种认证模式登录到FTP服务器上。匿名开放模式:是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器。本地用户模式:是通过Linux系统本地的账户密码信息进行认证的模式,相较于匿名开放模式更安全,而且配置起来也很简单。但是如果被黑客破解了账户的信息,就可以畅通无阻地登录FTP服务器,从而完全控制整台服务器
14、。虚拟用户模式:是这三种模式中最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟映射用来进行口令验证的账户信息,而这些账户信息在服务器系统中实际上是不存在的,仅供FTP服务程序进行认证使用。这样,即使黑客破解了账户信息也无法登录服务器,从而有效降低了破坏范围和影响。第13章 配置与管理FTP服务器172. 匿名用户登录的参数说明匿名用户登录的参数说明参数参数作用作用anonymous_enable=YES允许匿名访问模式anon_umask=022匿名用户上传文件的umask值anon_upload_enable=YES允许匿名用户上传文件anon_mkdir_write_e
15、nable=YES允许匿名用户创建目录anon_other_write_enable=YES允许匿名用户修改目录名称或删除目录第13章 配置与管理FTP服务器183. 配置匿名用户登录配置匿名用户登录FTP服务器实例服务器实例【例13-1】搭建一台FTP服务器,允许匿名用户上传和下载文件,匿名用户的根目录设置为/var/ftp。 新建测试文件,编辑/etc/vsftpd/vsftpd.conf。rootRHEL7-1 # touch /var/ftp/pub/sample.tarrootRHEL7-1 # vim /etc/vsftpd/vsftpd.conf 在文后添加4行(语句前后一定不要
16、带空格,若有重复的语句请删除或直接在其上更改!):anonymous_enable=YES#允许匿名用户登录anon_root=/var/ftp#设置匿名用户的根目录为/var/ftpanon_upload_enable=YES#允许匿名用户上传文件anon_mkdir_write_enable=YES#允许匿名用户创建文件夹第13章 配置与管理FTP服务器193. 配置匿名用户登录配置匿名用户登录FTP服务器实例服务器实例【例13-1】搭建一台FTP服务器,允许匿名用户上传和下载文件,匿名用户的根目录设置为/var/ftp。 允许SELinux,让防火墙放行ftp服务,重启vsftpd服务。
17、rootRHEL7-1 # setenforce 0rootRHEL7-1 # firewall-cmd -permanent -add-service=ftprootRHEL7-1 # firewall-cmd -reloadrootRHEL7-1 # firewall-cmd -list-allrootRHEL7-1 # systemctl restart vsftpd第13章 配置与管理FTP服务器203. 配置匿名用户登录配置匿名用户登录FTP服务器实例服务器实例【例13-1】搭建一台FTP服务器,允许匿名用户上传和下载文件,匿名用户的根目录设置为/var/ftp。在Windows 7
18、客户端的资源管理器中输入,打开pub目录,新建一个文件夹,结果出错了。如图14-3所示。第13章 配置与管理FTP服务器21 3. 配置匿名用户登录配置匿名用户登录FTP服务器实例服务器实例【例13-1】搭建一台FTP服务器,允许匿名用户上传和下载文件,匿名用户的根目录设置为/var/ftp。 设置本地系统权限,将属主设为ftp,或者对pub目录赋予其他用户写的权限。 rootRHEL7-1 # ll -ld /var/ftp/pubdrwxr-xr-x. 2 root root 6 Mar 23 2017 /var/ftp/pub/其他用户没有写入权限rootRHEL7-1 # chown
19、ftp /var/ftp/pub/将属主改为匿名用户ftp,或者rootRHEL7-1 # chmod o+w /var/ftp/pub/将属主改为匿名用户ftprootRHEL7-1 # ll -ld /var/ftp/pubdrwxr-xr-x. 2 ftp root 6 Mar 23 2017 /var/ftp/pub /已将属主改为匿名用户ftprootRHEL7-1 # systemctl restart vsftpd第13章 配置与管理FTP服务器22 3. 配置匿名用户登录配置匿名用户登录FTP服务器实例服务器实例【例13-1】搭建一台FTP服务器,允许匿名用户上传和下载文件,匿
20、名用户的根目录设置为/var/ftp。 在Windows 7客户端再次测试,在pub目录下能够建立新文件夹。提示:如果在提示:如果在Linux上测试,用户名输入:上测试,用户名输入:ftp,密码处直接回车即可。,密码处直接回车即可。第13章 配置与管理FTP服务器2313.5 配置本地模式的常规FTP服务器案例 1.FTP服务器配置要求服务器配置要求 公司内部现在有一台FTP服务器和Web服务器,FTP主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等。公司现有两个部门负责维护任务,两者分别适用team1和team2账号进行管理。先要求仅允许team1和team2账号登录FTP服务
21、器,但不能登录本地系统,并将这两个账号的根目录限制为/web/www/html,不能进入该目录以外的任何目录。第13章 配置与管理FTP服务器24 2.需求分析需求分析 将FTP服务器和Web服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护。为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。其次,使用chroot功能将team1和team2锁定在/web/www/html目录下。如果需要删除文件,则还需要注意本地权限。第13章 配置与管理FTP服务器25 3.解决方案解决方案(1)建立维护网站内容的FTP账号team1 、team2和user1并禁止本地登录,然后
22、为其设置密码。rootRHEL7-1 # useradd -s /sbin/nologin team1rootRHEL7-1 # useradd -s /sbin/nologin team2rootRHEL7-1 # useradd -s /sbin/nologin user1rootRHEL7-1 # passwd team1rootRHEL7-1 # passwd team2rootRHEL7-1 # passwd user1第13章 配置与管理FTP服务器26 3.解决方案解决方案(2)配置vsftpd.conf主配置文件并做相应修改(写入配置文件时,注释一定去掉,语句前后不要加空格,切
23、记!另外,要把的配置文件恢复到最初状态,免提实训间互相影响。)rootRHEL7-1 # vim /etc/vsftpd/vsftpd.confanonymous_enable=NO#禁止匿名用户登录local_enable=YES#允许本地用户登录local_root=/web/www/html#设置本地用户的根目录为/web/www/html chroot_local_user=NO#是否限制本地用户,这也是默认值,可以省略chroot_list_enable=YES#激活chroot功能 chroot_list_file=/etc/vsftpd/chroot_list #设置锁定用户在根
24、目录中的列表文件allow_writeable_chroot=YES#只要启用只要启用chroot就一定加入这条:允许就一定加入这条:允许chroot限制!否则出现连接错误。切记。限制!否则出现连接错误。切记。第13章 配置与管理FTP服务器27 3.解决方案解决方案实现锁定目录有两种实现方法。第一种是除列表内的用户外,其他用户都被限定在固定目录内。即列表内用户自由,列表外用户受限制。(这时启用chroot_local_user=YES)chroot_local_user=YESchroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot
25、_listallow_writeable_chroot=YES第13章 配置与管理FTP服务器28 3.解决方案解决方案第二种是除列表内的用户外,其他用户都可自由转换目录。即列表内用户受限制,列表外用户自由(这时启用chroot_local_user=NO)。为了安全,建议使用第一种。chroot_local_user=NOchroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_listallow_writeable_chroot=YES第13章 配置与管理FTP服务器29 3.解决方案解决方案(3)建立/etc/vsftpd/ch
26、root_list文件,添加team1和team2账号。rootRHEL7-1 # vim /etc/vsftpd/chroot_listteam1team2第13章 配置与管理FTP服务器30 3.解决方案解决方案(4)防火墙放行和SELinux允许!重启FTP服务。 rootRHEL7-1 # firewall-cmd -permanent -add-service=ftprootRHEL7-1 # firewall-cmd -reloadrootRHEL7-1 # firewall-cmd -list-allrootRHEL7-1 # setenforce 0 rootRHEL7-1 #
27、 systemctl restart vsftpd第13章 配置与管理FTP服务器31 3.解决方案解决方案(5)修改本地权限。rootRHEL7-1 # mkdir /web/www/html -prootRHEL7-1 # touch test.samplerootRHEL7-1 # ll -d /web/www/htmlrootRHEL7-1 # chmod -R o+w /web/www/html/其他用户可以写入!rootRHEL7-1 # ll -d /web/www/html第13章 配置与管理FTP服务器32 3.解决方案解决方案(6)在Linux客户端client1上先安装f
28、tp工具,然后测试。rootclient1 # mount /dev/cdrom /isorootclient1 # yum clean allrootclient1 # yum install ftp y第13章 配置与管理FTP服务器33 使用team1和team2用户不能转换目录,但能建立新文件夹,显示的目录是“/”,其实是/web/www/html文件夹!rootclient1 # Connected to 192.168.10.1 (192.168.10.1).220 (vsFTPd 3.0.2)Name (192.168.10.1:root): team1/锁定用户测试锁定用户测试
29、331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp pwd257 /显示是显示是“/”,其实是,其实是/web/www/html,从列示的文件中就知道。,从列示的文件中就知道。第13章 配置与管理FTP服务器34ftp mkdir testteam1257 /testteam1 createdftp ls227 Entering Passive Mode (192,168,10,1,46,2
30、26).150 Here comes the directory listing.-rw-r-r- 1 0 0 0 Jul 21 01:25 test.sampledrwxr-xr-x 2 1001 1001 6 Jul 21 01:48 testteam1226 Directory send OK.ftp cd /etc550 Failed to change directory. /不允许更改目录不允许更改目录ftp exit221 Goodbye.第13章 配置与管理FTP服务器35 使用user1用户,能自由转换目录,可以将/etc/passwd文件下载到主目录,何其危险啊!rootc
31、lient1 # Connected to 192.168.10.1 (192.168.10.1).220 (vsFTPd 3.0.2)Name (192.168.10.1:root): user1 /列表外的用户是自由的列表外的用户是自由的331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp pwd257 /web/www/htmlftp mkdir testuser1257 /web/ww
32、w/html/testuser1 createdftp cd /etc/成功转换到成功转换到/etc目录目录250 Directory successfully changed.第13章 配置与管理FTP服务器36ftp get passwd/成功下载密码文件passwd到/root,可以退出后查看local: passwd remote: passwd227 Entering Passive Mode (192,168,10,1,80,179).150 Opening BINARY mode data connection for passwd (2203 bytes).226 Transf
33、er complete.2203 bytes received in 9e-05 secs (24477.78 Kbytes/sec)ftp cd /web/www/html250 Directory successfully changed.ftp ls227 Entering Passive Mode (192,168,10,1,182,144).150 Here comes the directory listing.-rw-r-r- 1 0 0 0 Jul 21 01:25 test.sampledrwxr-xr-x 2 1001 1001 6 Jul 21 01:48 testtea
34、m1drwxr-xr-x 2 1003 1003 6 Jul 21 01:50 testuser1226 Directory send OK.第13章 配置与管理FTP服务器3713.6 设置vsftp虚拟账号 1创建用户数据库创建用户数据库(1)创建用户文本文件。使用vim编辑器建立用户文件vuser.txt,添加虚拟账号user2和user3。如下所示。rootRHEL7-1 # mkdir /vftprootRHEL7-1 # vim /vftp/vuser.txtuser212345678User312345678第13章 配置与管理FTP服务器38 1创建用户数据库创建用户数据库(2
35、)生成数据库。rootRHEL7-1 # db_load -T -t hash -f /vftp/vuser.txt /vftp/vuser.dbrootRHEL7-1 # ls /vftpvuser.db vuser.txt第13章 配置与管理FTP服务器39 1创建用户数据库创建用户数据库(3)修改数据库文件访问权限。rootRHEL7-1 # chmod 700 /vftp/vuser.dbrootRHEL7-1 # ll /vftp第13章 配置与管理FTP服务器402配置配置PAM文件文件rootRHEL7-1 # vim /etc/pam.d/vsftpd#PAM-1.0#sess
36、ionoptionalpam_keyinit.soforcerevoke#authrequiredpam_listfile.soitem=usersense=deny#file=/etc/vsftpd/ftpusersonerr=succeed#authrequiredpam_shells.soauthrequiredpam_userdb.so db=/vftp/vuseraccountrequiredpam_userdb.so db=/vftp/vuser第13章 配置与管理FTP服务器413创建虚拟账户对应系统用户创建虚拟账户对应系统用户rootRHEL7-1 # useradd -d /
37、var/ftp/vuser vuserrootRHEL7-1 # chown vuser.vuser /var/ftp/vuserrootRHEL7-1 # chmod 555 /var/ftp/vuserrootRHEL7-1 # ls -ld /var/ftp/vuserdr-xr-xr-x. 6 vuser vuser 127 Jul 21 14:28 /var/ftp/vuser第13章 配置与管理FTP服务器424修改修改/etc/vsftpd/vsftpd.confanonymous_enable=NOanon_upload_enable=NOanon_mkdir_write_en
38、able=NOanon_other_write_enable=NOlocal_enable=YESchroot_local_user=YESallow_writeable_chroot=YESwrite_enable=NOguest_enable=YESguest_username=vuserlisten=YESpam_service_name=vsftpd第13章 配置与管理FTP服务器43 5设置防火墙放行和设置防火墙放行和SELinux允许,重启允许,重启vsftpd服务。(详见前面相关)服务。(详见前面相关) 6在在Client1上测试上测试 使用虚拟账号user2、user3登录FT
39、P服务器,进行测试,会发现虚拟账号登录成功,并显示FTP服务器目录信息。第13章 配置与管理FTP服务器446在在Client1上测试上测试rootClient1 # Connected to 192.168.10.1 (192.168.10.1).220 (vsFTPd 3.0.2)Name (192.168.10.1:root): user2331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.第
40、13章 配置与管理FTP服务器456在在Client1上测试上测试ftp ls/可以列示目录信息227 Entering Passive Mode (192,168,10,1,31,79).150 Here comes the directory listing.-rwx-rwx 1 0 0 0 Jul 21 05:40 test.sample226 Directory send OK.ftp cd /etc/不能更改主目录550 Failed to change directory.ftp mkdir testuser1/仅能查看,不能写入550 Permission denied.ftp quit221 Goodbye.第13章 配置与管理FTP服务器其他需要说明的信息其他需要说明的信息本项目后的实训视频、其他文件请详见随书光盘。本教材电子教案、试卷等全套资源提供群: 414901724作者QQ:68433059教材教材ISBN:9787113-27064-3