版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络服务器搭建、配置与管理Linux版网络服务器搭建、配置与管理Linux版 主编:杨云、马立新人民邮电出版社网络服务器搭建、配置与管理Linux版项目七、配置与管理FTP服务器 项目描述:某学院组建了校园网,建设了学院网站,架设了Web服务器来为学院网站安家,但在网站上传和更新时,需要用到文件上传和下载,功能因此还要架设FTP服务器,为学院内部和互联网用户提供FTP等服务。本单元先实践配置与管理Apache服务器。 项目目标 :掌握FTP服务的工作原理 学会配置vsftpd服务器 掌握配置基于虚拟用户的FTP服务器 实践典型的FTP服务器配置案例网络服务器搭建、配置与管理Linux版7.1
2、相关知识 7.3 项目实施 7.6 项目实录7.7 练习题 7.8 实践习题7.9 超级链接 项目七、配置与管理FTP服务器7.2 项目设计与准备 7.4 企业实战与应用 7.5 FTP排错 网络服务器搭建、配置与管理Linux版7.1 相关知识 以HTTP为基础的WWW服务功能虽然强大,但对于文件传输来说却略显不足。一种专门用于文件传输的服务FTP服务应运而生。 FTP服务就是文件传输服务,FTP的全称是File Transfer Protocol,顾名思义,就是文件传输协议,具备更强的文件传输可靠性和更高的效率。 7.1.1 FTP工作原理 FTP大大简化了文件传输的复杂性,它能够使文件通
3、过网络从一台主机传送到另外一台计算机上却不受计算机和操作系统类型的限制。无论是PC、服务器、大型机,还是IOS、Linux、Windows操作系统,只要双方都支持协议FTP,就可以方便、可靠地进行文件的传送。FTP服务的具体工作过程如下,如图 网络服务器搭建、配置与管理Linux版7.1.1 FTP工作原理(1)客户端向服务器发出连接请求,同时客户端系统动态地打开一个大于1024的端口等候服务器连接(比如1031端口)。(2)若FTP服务器在端口21侦听到该请求,则会在客户端1031端口和服务器的21端口之间建立起一个FTP会话连接。(3)当需要传输数据时,FTP客户端再动态地打开一个大于10
4、24的端口(比如1032端口)连接到服务器的20端口,并在这两个端口之间进行数据的传输。当数据传输完毕后,这两个端口会自动关闭。(4)当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放。 网络服务器搭建、配置与管理Linux版7.1.2 匿名用户 FTP服务不同于WWW,它首先要求登录到服务器上,然后再进行文件的传输,这对于很多公开提供软件下载的服务器来说十分不便,于是匿名用户访问就诞生了。通过使用一个共同的用户名anonymous,密码不限的管理策略(一般使用用户的邮箱作为密码即可),让任何用户都可以很方便地从这些服务器上下载软件。网络服务器搭建、配置与管理Linux
5、版7.1.3 FTP服务的传输模式 FTP服务有两种工作模式:主动传输模式(Active FTP)和被动传输模式(Passive FTP)。1主动传输模式 在主动传输模式下,FTP客户端随机开启一个大于1024的端口N(比如1031)向服务器的21号端口发起连接,然后开放N+1号端口(1032)进行监听,并向服务器发出PORT 1032命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口1032,进行数据传输,如图 网络服务器搭建、配置与管理Linux版7.1.3 FTP服务的传输模式 2被动传输模式 在被动传输模式下,FTP客户端随机开启一个大于1024的
6、端口N(比如1031)向服务器的21号端口发起连接,同时会开启N+1号端口(1032),然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P(1521)进行监听,然后用PORT P命令通知客户端,自己的数据端口是1521。客户端收到命令后,会通过1032号端口连接服务器的端口152l,然后在两个端口之间进行数据传输,如图 网络服务器搭建、配置与管理Linux版7.1.4 流行的FTP服务器软件简介 1Vsftpd vsftpd是Red Hat Enterprise Linux 5内置的FTP服务器软件,它的使用方法最简单,安全性也很高(vs
7、就是very secure的缩写,非常安全)。其用户数量最多。2PureFTPD PureFTPD也是Linux下一款很著名的FTP服务器软件,在SuSE、Debian中内置,不过遗憾的是,Red Hat Enterprise Linux 5中没有包含它的软件包。PureFTPD服务器使用起来很简单,根据它的网站宣传:初入门用户也可以在5分钟内用它创建一个FTP服务器。网络服务器搭建、配置与管理Linux版7.1.4 流行的FTP服务器软件简介 3Wu-ftpd Wu-ftpd是最老牌的FTP服务器软件,也曾经是Internet上最流行的FTP守护程序。它功能强大能够架构多种类型的FTP服务,
8、不过它发布得较早,程序组织比较乱,安全性不太好。4Proftpd 虽然Wu-ftpd有着极佳的性能,同时也是一套很好的软件,然而它曾经有过不少的安全漏洞。Proftpd的研发者自己就曾花了很多的时间发掘Wu-ftpd的漏洞试图并加以改进增加功能,然而十分遗憾的是,他们很快就发现显然Wu-ftpd需要全部重新改写的FTP服务器。为了追求一个安全且易于设定的FTP服务器,他们开始编写Proftpd。事实上也确实如此,Proftpd很容易配置,在多数情况下速度也比较快,而且干净的源代码导致缓冲溢出的错误也比较少。网络服务器搭建、配置与管理Linux版7.1.5 FTP命令 Linux系统中FTP命令
9、的登录界面 网络服务器搭建、配置与管理Linux版7.1.5 FTP命令 Windows系统中FTP命令的登录界面 在登录成功之后,用户就可以进行相应的文件传输操作了。在提示符下输入“?”,显示ftp 命令说明。?与help相同。其中常用到的一些重要命令见相关资料下载。 网络服务器搭建、配置与管理Linux版7.2 项目设计与准备 7.2.1 项目设计 在VMWare虚拟机中启动一台Linux服务器作为vsftpd服务器,在该系统中添加用户user1和user2。在客户端对vsftpd服务器进行测试。 最后介绍一个典型vsftpd服务器配置案例,以达到融会贯通的教学目标。网络服务器搭建、配置与
10、管理Linux版7.2.2 项目准备需要如下设备。 1PC计算机2台,其中PCA安装企业版Linux网络操作系统,另一台作为测试客户端。 2推荐使用虚拟机进行网络环境搭建。网络服务器搭建、配置与管理Linux版7.3 项目设计7.3.1 任务1 安装、启动与停止vsftpd服务vsftpd服务器的安装其实很简单,只要安装一个RPM软件包就可以了。1安装vsftpd服务 可以使用下面的命令检查系统是否已经安装了vsftpd服务:rootserver # rpm -q vsftpdvsftpd-2.0.5-16.el5 这表明系统已经安装了vsftpd服务。如果系统没有安装vsftpd服务,也可以
11、在系统安装过后单独安装。vsftpd服务的软件包在Red Hat Enterprise Linux 5的第2张安装盘中,软件包为vsftpd-2.0.5-16.el5i386.rpm。网络服务器搭建、配置与管理Linux版7.3.1 任务1 安装、启动与停止vsftpd服务插入第2张安装盘,挂载。然后输入下面的命令完成安装。(1)建立挂载目录,挂载光盘。rootserver # mkdir /mnt/ftprootserver # mount /media/cdrom /mnt/ftp(2)进入安装文件所在目录 rootserver # cd /mnt/ftp/Server(3)安装相应的软件
12、包。rootserver Server# rpm -ivh vsftpd-2.0.5-16.el5i386.rpm 网络服务器搭建、配置与管理Linux版7.3.1 任务1 安装、启动与停止vsftpd服务2vsftpd服务启动 安装完vsftpd服务后,下一步就是启动了。vsftpd服务可以以独立或被动方式启动。在Red Hat Enterprise Linux 5中,默认以独立方式启动。所以输入下面的命令即可启动vsftpd服务。 rootserver # service vsftpd start要想重新启动vsftpd服务,可以输入下面的命令: rootserver # service
13、vsftpd restart网络服务器搭建、配置与管理Linux版7.3.1 任务1 安装、启动与停止vsftpd服务3vsftpd服务停止 停止vsftpd服务的命令如下所示: rootserver # service vsftpd stop4测试vsftpd服务 vsftpd服务器安装并启动服务后,用其默认配置就可以正常工作了。下面使用ftp命令登录vsftpd服务器,以检测该服务器能否正常工作。FTP命令是FTP客户端程序,在Linux或Windows系统的字符界面下可以利用FTP命令登录FTP服务器,进行文件的上传、下载等操作。FTP命令的格式如下: ftp 主机
14、名或主机名或IP地址地址网络服务器搭建、配置与管理Linux版7.3.1 任务1 安装、启动与停止vsftpd服务 若连接成功,系统提示用户输入用户名和口令。在登录FTP服务器时,如果允许匿名用户登录,常见的匿名用户为anonymous和ftp,密码为空或者是某个电子邮件的地址。vsftpd默认的匿名用户账号为ftp,密码也为ftp。默认允许匿名用户登录,登录后所在的FTP站点的根目录为/var/ftp目录。测试结果如图 测试FTP服务器 网络服务器搭建、配置与管理Linux版7.3.2 任务2 认识VSftpd的配置文件vftpd的配置主要通过以下几个文件来完成。 1/
15、etc/pam.d/vsftpd vsftpd的Pluggable Authentication Modules(PAM)配置文件,主要用来加强vsftpd服务器的用户认证。 2/etc/vsftpd/vsftpd.conf vsftpd的主配置文件。配置FTP服务器主要工作要通过修改此文件来完成。网络服务器搭建、配置与管理Linux版7.3.2 任务2 认识VSftpd的配置文件3/etc/vsftpd/ftpusers 所有位于此文件内的用户都不能访问vsftpd服务。当然,为了安全起见,这个文件中默认已经包括了root、bin和daemon等系统账号。4/etc/vsftpd/user_
16、list 这个文件中包括的用户有可能是被拒绝访问vsftpd服务的,也可能是允许访问的,这主要取决于vsftpd的主配置文件/etc/vsftpd/vsftpd.conf中的“userlist_deny”参数是设置为“YES”(默认值)还是“NO”。5/var/ftp vsftpd提供服务的文件集散地,它包括一个pub子目录。在默认配置下,所有的目录都是只读的,不过只有root用户有写权限。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器1配置监听地址与控制端口有时候,也许你不想采用FTP的默认21端口来提供服务。 【例7-1】 设置客户端访问通过2121端
17、口,而不是默认的21端口来进行。 (1)用文本编辑器打开/etc/vsftpd/vsftpd.conf。rootserver # vim /etc/vsftpd/vsftpd.conf(2)在其中添加如下两行。listen_address=listen_port=2121网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器2配置FTP模式与数据端口vsftpd的主配置文件中还可以决定FTP采用的模式和数据传输端口。(1)connect_from_port_20。设置以port模式进行数据传输时使用20端口。“YES”:表示使用。“NO”:表
18、示不使用。(2)pasv_address。定义vsftpd服务器使用PASV模式时使用的IP地址。默认值未设置。(3)pasv_enable。默认值为“YES”,也就是允许使用PASV模式。(4)pasv_min_port。 pasv_max_port指定PASV模式可以使用的最小(大)端口,默认值为0,就是未限制,请将它设置为不小于1 024的数值(最大端口不能大于65535)。(5)pasv_promiscuous。设置为“YES”时,可以允许使用FxP功能。就是支持你的台式机作为客户控制端,让数据在两台服务器之间传输。(6)port_enable。允许使用主动传输模式,默认值为“YES”
19、。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器3配置ASCII模式(1)ascii_download_enable。设置是否可用ASCII模式下载。默认值为“NO”。(2)ascii_upload_enable。设置是否可用ASCII模式上传。默认值为“NO”。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器4配置超时选项 vsftpd中还有超时定义选项,以防客户端无限制地连接在FTP服务器上,占据宝贵的系统资源。(1)data_connection_timeout。定义数据传输过程中被阻塞的最长时间(以秒为单位),一
20、旦超出这个时问,客户端的连接将被关闭。默认值是“300”。(2)idle_session_timeout。定义客户端闲置的最长时间(以秒为单位,默认值是300)。超过300秒后,客户端的连接将被强制关闭。(3)connect_timeout。设置客户端尝试连接vsftpd命令通道的超时时间。 【例7-2】 设置客户端连接超时时间为60秒。 connect_timeout=60网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器5配置负载控制 当然,所有的服务器管理员都不希望FTP客户端占用过多的带宽,而影响了服务器的正常运行,通过以下参数就可以设置。(1)ano
21、n_max_rate=5 000。匿名用户的最大传输速率,单位是B/s。(2)local_max_rate=20 000。本地用户的最大传输速率,单位是B/s。 【例7-3】 限制所有用户的下载速度为60KB/s。anon_max_rate=60000local_max_rate=60000网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器6配置匿名用户 以下选项控制anonymous(匿名用户)访问vsftpd服务器。(1)anonymous_enable。 当设置为“anonymous_enable=YES”时,表示启用匿名用户。当然,以下所有的控制匿名用
22、户的选项,也只有在这项设置为“YES”时才生效。 【例7-4】 拒绝匿名用户登录FTP服务器。anonymous_enable=NO(2)anon_mkdir_write_enable。 本选项设置为“YES”时,匿名用户可以在一个具备写权限的目录中创建新目录。默认值为“NO”。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器(3)anon_root。 当匿名用户登录vsftpd后,将它的目录切换到指定目录。默认值为未设置。 【例7-5】 设置匿名用户的根目录为/var/ftp/temp。anon_root=/var/ftp/temp(4)anon_upoa
23、d_enable。 当本选项设置为“YES”时,匿名用户可以向具备写权限的目录中上传文件。默认值为“NO”。(5)anon_world_readable_only。 默认值为“YES”,这代表着匿名用户只具备下载权限。(6)ftp_username。 指定匿名用户与本地的哪个账号相对应,该用户的/home目录即为匿名用户访问FTP服务器时的根目录。默认值是“ftp”。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器(7)no_anon_password。 设置为“YES”时,匿名用户不用输入密码。默认值为“NO”。(8)secure_email_1ist_e
24、nable。 当设置为“YES”时(默认值为“NO”),匿名用户只有采用特定的E-mail作为密码才能访问vsftpd服务。 【例7-6】 搭建一台FTP服务器,允许匿名用户上传和下载文件,匿名用户的根目录设置为/var/ftp。 用文本编辑器打开,/etc/vsftpd/vsftpd.conf。rootserver # vim /etc/vsftpd/vsftpd.conf网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器 在其中添加如下3行:anonymous_enable=YES#允许匿名用户登录允许匿名用户登录anon_root=/var/ftp#设置
25、匿名用户的根目录为设置匿名用户的根目录为/var/ftpanon_upload_enable=YES#允许匿名用户上传文件允许匿名用户上传文件如果要实现匿名用户删除文件等功能,仅仅在配置文件中开启这些功能是不够的,还需要注意开放本地文件系统权限,使匿名用户拥有写权限才行。在项目实录中有针对此问题的解决方案。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器7配置本地用户及目录 vsftpd允许用户以本地用户或者匿名用户登录(其中本地用户就是服务器上有实际账号的那些用户),并且提供了丰富的控制选项。 (1)local_enable。是否允许本地用户登录,默认值为
26、“YES”,也就是允许本地用户访问vsftpd服务器。以下选项只有在“local enable=YES”的前提下才有效。 【例7-7】 允许本地用户登录FTP服务器。local_enable=YES(2)local_root。指定本地用户登录vsftpd服务器时切换到的目录。没有设置默认值。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器(3)local_umask。 设置文件创建的掩码(操作方法与Linux下文件属性设置相同),默认值是“022”,也就是其他用户具有只读属性。 【例7-8】 搭建一台只允许本地账户登录的FTP服务器。 用文本编辑器打开/et
27、c/vsftpd/vsftpd.conf主配置文件。 【rootserver 】# vim /etc/vsftpd/vsftpd.conf 在其中添加如下3行: anonymous_enable=NO#不允许匿名用户登录不允许匿名用户登录local_enable=YES#允许本地用户登录允许本地用户登录FTP服务器服务器local_root=/home#指定本地用户登录指定本地用户登录FTP服务器时切换到的目录服务器时切换到的目录网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器 测试。测试结果表明,在使用匿名用户(anonymous)登录时出现错误,而使用本
28、地用户登录成功。(4)chmod_enable。当设置为“YES”时,以本地用户登录的客户端可以通过“SITE CHMOD”命令来修改文件的权限。(5)chroot_local_user。设置为“YES”时,本地用户只能访问到它的/home目录,不能切换到/home目录之外。(6)chroot_list_enable。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器 当设置为“YES”时,表示本地用户也有些例外,可以切换到它的/home目录之外,例外的用户在“chroot_list_file”指定的文件中(默认文件是“/etc/vsftpd/chroot_l
29、ist”)。 限制用户目录的意思就是把使用者的活动范围限制在某一个目录里,他可以在这个目录范围内自由活动,但是不可以进入这个目录以外的任何目录。如果我们不限制FTP服务器使用者的活动范围的话,那么所有的使用者就可以随意地浏览整个文件系统,稍有设置不当就会给一些心怀不轨的用户制造机会,所以vsftp提供防止出现这类问题的功能,它就是限制用户目录。 【例7-9】 限制用户目录只能在本人/home目录内。 建立用户user1和user2。rootserver # useradd -s /sbin/nologin user1rootserver # useradd -s /sbin/nologin u
30、ser2网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器 修改主配置文件/etc/vsftpd/vsftpd.conf。 把chroot_list_enable和chroot_list_file前面的注释符号去掉即可。 chroot_list_enable=YES# (default follows)chroot_list_file=/etc/vsftpd/chroot_list 编辑chroot_list文件。编辑/etc/vsftpd/chroot_list,并添加需要锁定用户目录的账号(注意每个用户占一行)。rootserver # vim /etc/
31、vsftpd/chroot_listuser1user2网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器 重启服务及测试。 当使用user1账号登录的时候,发现可以成功登录,但是当使用pwd命令查看当前路径时,发现目前所处的位置是在“/”下,而使用ls命令后发现,实际现在所处的位置是在/home目录下。这样一来,user1这个用户就被完全锁定在/home目录中了,即使user1账号被黑客或图谋不轨者盗取,也无法对服务器做出过大的危害,从而大大提高系统安全性。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器8配置虚拟用户 基
32、于安全方面的考虑,vsftpd除了支持本地用户和匿名用户之外,还支持虚拟用户,就是将所有非Anonymous(匿名用户)都映射为一个虚拟用户,从而统一限制其他用户的访问权限。 (1)guest_enable。 当设置为“YES”时(默认值为“NO”),所有非匿名用户都被映射为一个特定的本地用户。该用户通过“guest_username”命令指定。 (2)guest_username。 设置虚拟用户映射到的本地用户,默认值为“ftp”。 网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器9配置用户登录控制 vsftpd还提供了丰富的登录控制选项,包括登录后客户端
33、可以显示的信息,允许执行的命令等,以及登录中的一些控制选项。 (1)banner_file。 设置客户端登录之后,服务器显示在客户端的信息,该信息保存在“banner_file”指定的文本文件中。 (2)cmds_allowed。 设置客户端登录vsftpd服务器后,客户端可以执行的命令集合。需要注意的是,如果设置了该命令,则其他没有列在其中的命令都拒绝执行。没有设置默认值。 (3)ftpd-banner。 设置客户端登录vsftpd服务器后,客户端显示的欢迎信息或者其他相关信息。需要注意的是,如果设置了“banner_file”,则本命令会被忽略。没有设置默认值。网络服务器搭建、配置与管理L
34、inux版7.3.3 任务3 配置vsftpd常规服务器(4)userlist_enable。 userlist_deny userlist_deny设置使用/etc/vsftpd/user_list文件来控制用户的访问权限,当userlist_deny设置为“YES”时,user_list中的用户都不能登录vsftpd服务器;设置为“NO”时,只有该文件中的用户才能访问vsftpd服务器。当然,这些都是在“userlist_enable”被设置为“YES”时才生效。 【例7-10】 设置一个禁止登录的用户列表文件/etc/vsftpd/user_list,并让该文件可以正常工作。rootse
35、rver # vim /etc/vsftpd/vsftpd.confuserlist_enable=YESuserlist_file=/etc/vsftpd/user_list网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器10配置目录访问控制 vsftpd还针对目录的访问设置了丰富的控制选项。 (1)dirlist_enable。 设置是否允许用户列目录。默认值为“YES”,即允许列目录。 (2)dirmessage_enable。 设置当用户切换到一个目录时,是否显示目录切换信息。如果设置为“YES”,则显示“message_file”指定文件中的信息(
36、默认是显示.message文件信息)。在项目实录中的子项目3对此有详细讲解。 (3)message_file。 用于指定目录切换时显示的信息所在的文件,默认值为“.message”。 网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器【例7-11】 设置用户进入/home/user1/目录后,提示“Welcome to user1s space!”。 用vim编辑/etc/vsftpd/vsftpd.conf主配置文件。rootserver # vim /etc/vsftpd/vsftpd.confdirmessage_enable=YESmessage_fi
37、le=.message#指定信息文件为.message 创建提示性文件。rootserver # cd /home/user1rootserver user1# vim .messageWelcome to user1s space!网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器 测试。测试结果表明,使用user1登录成功,当进入user1目录时,显示提示信息“Welcome to user1s space!”。 (4)force_dot_file。 设置是否显示以“.”开头的文件,默认值是不显示。 (5)hide_ids。 隐藏文件的所有者和组信息,匿名
38、用户看到的文件所有者和组全部变成ftp。网络服务器搭建、配置与管理Linux版11配置文件操作控制 vsftpd还提供了几个选项用于控制文件的上传和下载。 (1)download_enable。 设置是否允许下载。默认值是“YES”,即允许下载。 (2)chown_uploads。 当设置为“YES”时,所有匿名用户上传的文件,其拥有者都会被设置为“chown_username”命令指定的用户。默认值是“NO”。 (3)chown_username。 设置匿名用户上传的文件的拥有者。默认值是“root”。 (4)write_enable。 当设置为“YES”时,FTP客户端登录后允许使用DEL
39、E(删除文件)、RNFR(重命名)和STOR(断点续传)命令。7.3.3 任务3 配置vsftpd常规服务器网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器12配置新增文件权限设置 vsftpd服务器可以让我们设置上传过来的文件权限,以进行安全方面的设置。 (1)anon_umask。匿名用户新增文件的umask数值。默认值为077。 (2)file_open_mode。 上传文件的权限,与chmod所使用的数值相同。如果希望上传的文件可以执行,则设置此值为0777。默认值为0666。 (3)local_umask。 本地用户新增文件时的umask数值(默认
40、值为077)。不过,其他大多数的FTP服务器使用的都是022。如果用户希望的话,则可以修改为022。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器13日志设置vsftpd还可以让我们记录服务器的工作状态,以及客户端的上传、下载操作。(1)dual_log_enable。如果启用,将生成两个相似的日志文件,分别为/var/log/xferlog和/var/logrolate.d/vsftpd.log。前者是Wu-ftpd类型的传输日志,可以用于标准工具分析;后者是vsftpd自己类型的日志。默认值为“NO”。(2)log_ftp_protocol。是否记录所
41、有的FTP命令信息。默认值为“NO”。(3)syslog_enable。设置为“YES”时会将本来应记录在/var/logrolate.d/vsftpd.log中的信息,转而传给syslogd daemon,由syslogd的配置文件决定存于什么位置。默认值为“NO”。(4)xferlog_enable。如果启用,将会维护一日志文件,用于详细记录上传和下载操作。在默认情况下,这个日志文件是/var/logrolate.d/vsftpd.log,但是也可以通过配置文件中的vsftpd_log_file选项来指定。默认值为“NO”。(5)xferlog_std_format。如果启用,传输日志文件
42、将以标准xferlog的格式书写,如同Wu-ftpd一样。此格式的日志文件默认/var/log/xferlog,但是也可以通过xferlog_file选项来设定。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器14配置限制服务器连接数 限制在同一时刻内允许连接服务器的数量是一种非常有效的保护服务器并减少负载的方式之一。主配置文件中常用的字段有以下两种。 (1)max_clients。设置FTP同一时刻的最大连接数。默认值为0,表示不限制最大连接数。 (2)max_per_ip。设置每个IP的最大连接数。默认值为0,表示不限制最大连接数。网络服务器搭建、配置与
43、管理Linux版7.3.3 任务3 配置vsftpd常规服务器15常规FTP服务器配置案例 某学院信息工程系准备搭建一台功能简单的FTP服务器,允许信息工程系员工上传和下载文件,并允许创建用户自己的目录。 本案例是一个较为简单的基本案例,允许所有员工上传和下载文件需要设置成为允许匿名用户登录,而且,还需要把允许匿名用户上传功能打开。anon_mkdir_write_enable字段可以控制是否允许匿名用户创建目录。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器解决方案如下。 (1)用文本编辑器编辑/etc/vsftpd/vsftpd.conf,并允许匿名用
44、户访问。rootserver # vim /etc/vsftpd/vsftpd.confanonymous_enable=YES#允许匿名用户登录(2)允许匿名用户上传文件,并可以创建目录。anon_upload_enable=YES#允许匿名用户上传文件允许匿名用户上传文件anon_mkdir_write_enable#允许匿名用户创建目录允许匿名用户创建目录提示:把anon_upload_enable和anon_mkdir_write_enable前面的注释符号去掉即可。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器(3)重启vsftpd服务。root
45、server # service vsftpd restart(4)修改/var/ftp权限。 为了保证匿名用户能够上传和下载文件,使用chmod命令开放所有的系统权限。rootserver # chmod 777 -R /var/ftp 提示:其中777表示给所有用户读、写和执行权限,-R为递归修改/var/ftp下所有目录的权限。(5)测试。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器16常规FTP服务器配置案例 公司内部现在有一台FTP和Web服务器,FTP的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等。公司现有两个部门负责
46、维护任务,他们分别适用team1和team2账号进行管理。先要求仅允许team1和team2账号登录FTP服务器,但不能登录本地系统,并将这两个账号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。 将FTP和Web服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护。为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。其次使用chroot功能将team1和team2锁定在/var/www/html目录下。如果需要删除文件则还需要注意本地权限。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器解决方案如下。 (1)
47、建立维护网站内容的FTP账号team1和team2并禁止本地登录,然后为其设置密码。 rootserver # useradd -s /sbin/nologin team1rootserver # useradd -s /sbin/nologin team2rootserver # passwd team1rootserver # passwd team2网络服务器搭建、配置与管理Linux版(2)配置vsftpd.conf主配置文件并作相应修改。7.3.3 任务3 配置vsftpd常规服务器rootserver # vim /etc/vsftpd/vsftpd.confanonymous_e
48、nable=NO#禁止匿名用户登录local_enable=YES#允许本地用户登录local_root=/var/www/html#设置本地用户的根目录为/var/www/html chroot_list_enable=YES#激活chroot功能 chroot_list_file=/etc/vsftpd/chroot_list#设置锁定用户在根目录中的列表文件保存主配置文件并退出。(3)建立/etc/vsftpd/chroot_list文件,添加team1和team2账号。rootserver # touch /etc/vsftpd/chroot_listteam1team2网络服务器搭建
49、、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器(4)开启禁用SELinux的FTP传输审核功能。利用setsebool -P ftpd_disable_transon命令,将allow_ftpd_anon_write改为off,将ftpd_disable_trans改为on。如图 如果不禁用SELinux的FTP传输审核功能,则会出现如下错误信息:“500 OOPS:cannot change directory:/home/team1 login failed.”。网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器(5)重启vsftp
50、d服务使配置生效。rootserver # service vsftpd restart(6)修改本地权限。rootserver # ll -d /var/www/htmlrootserver # chmod -R o+w /var/www/htmlrootserver # ll -d /var/www/html网络服务器搭建、配置与管理Linux版7.3.3 任务3 配置vsftpd常规服务器(7)测试结果如图 网络服务器搭建、配置与管理Linux版7.3.4 任务4 设置vsftp虚拟账号1创建用户数据库 (1)创建用户文本文件。 首先,建立保存虚拟账号和密码的文本文件,格式如下。虚拟账号
51、虚拟账号1密码密码虚拟账号虚拟账号2密码密码网络服务器搭建、配置与管理Linux版7.3.4 任务4 设置vsftp虚拟账号使用vi编辑器建立用户文件vuser.txt,添加虚拟账号user10和user20。如下所示。 rootserver # mkdir /vftprootserver # vim /vftp/vuser.txtuser10123456user20123456网络服务器搭建、配置与管理Linux版7.3.4 任务4 设置vsftp虚拟账号(2)生成数据库。 保存虚拟账号及密码的文本文件无法被系统账号直接调用,需要使用db_load命令生成db数据库文件。 rootserve
52、r # db_load -T -t hash -f /vftp/vuser.txt /vftp/vuser.dbrootserver # ls /vftpvuser.db vuser.txt RHEL5默认只安装db4-4.3.29-9.fc6.i386.rpm和db4-devel-4.3.29- 9.fc6.i386.rpm,要使用db_load需要将db4-utils-4.3.29-9.fc6.i386.rpm包(第二张光盘上)安装上。否则会出现错误信息:找不到db_load命令。网络服务器搭建、配置与管理Linux版7.3.4 任务4 设置vsftp虚拟账号(3)修改数据库文件访问权限。
53、 数据库文件中保存着虚拟账号和密码信息,为了防止非法用户盗取,可以修改该文件的访问权限。rootserver # chmod 700 /vftp/vuser.dbrootserver # ll /vftp网络服务器搭建、配置与管理Linux版7.3.4 任务4 设置vsftp虚拟账号2配置PAM文件 为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块。PAM(Plugable Authentication Module)为可插拔认证模块,不必重新安装应用程序,通过修改指定的配置文件,调整对该程序的认证方式。PAM模块配置文件路径为/etc/pam.d,该目录下保存着
54、大量与认证有关的配置文件,并以服务名称命名。 下面修改vsftp对应的PAM配置文件/etc/pam.d/vsftpd,将默认配置使用“#”全部注释,添加相应字段,如下所示。rootserver # vim /etc/pam.d/vsftpd#PAM-1.0#sessionoptionalpam_keyinit.soforcerevoke#authrequiredpam_listfile.soitem=usersense=denyfile=/etc/vsftpd/ftpusersonerr=succeedauthrequiredpam_shells.so#authincludesystem-a
55、uth#accountincludesystem-auth#sessionincludesystem-auth#sessionrequiredpam_loginuid.soauthrequired/lib/security/pam_userdb.sodb=/vftp/vusersessionrequired/lib/security/pam_userdb.so db=/vftp/vuser网络服务器搭建、配置与管理Linux版3创建虚拟账户对应系统用户7.3.4 任务4 设置vsftp虚拟账号rootserver # useradd -d /var/ftp/vuser vuserrootser
56、ver # mkdir /var/ftp/vuserrootserver # chown vuser.vuser /var/ftp/vuserrootserver # chmod o+w /var/ftp/vuserrootserver # ls -ld /var/ftp/vuserdrwx-w- 3 vuser vuser 4096 02-14 08:10 /var/ftp/vuser以上代码中其后带序号的各行功能说明如下。 用useradd命令添加系统账户vuser,并将其/home目录指定为/var/ftp下的vuser。 建立/var/ftp/vuser目录。 变更vuser目录的所属
57、用户和组,设定为vuser用户、vuser组。 当匿名账户登录时会映射为系统账户,并登录/var/ftp/vuser目录,但其并没有访问该目录的权限,需要为vuser目录的其他用户和组添加读和执行权限。 使用1s命令,查看vuser目录的详细信息,系统账号主目录设置完毕。网络服务器搭建、配置与管理Linux版7.3.4 任务4 设置vsftp虚拟账号4修改vsftpd.confanonymous_enable=NOanon_upload_enable= NOanon_mkdir_write_enable=NOanon_other_write_enable=NOlocal_enable=YESc
58、hroot_local_user=YESwrite_enable=NOguest_enable=YESguest_username=vuserlisten=YESpam_service_name=vsftpd以上代码中其后带序号的各行功能说明如下。 为了保证服务器的安全,关闭匿名访问,以及其他匿名相关设置。 虚拟账号会映射为服务器的系统账号,所以需要开启本地账号的支持。 锁定账户的根目录。 关闭用户的写权限。 开启虚拟账号访问功能。 设置虚拟账号对应的系统账号为vuser。 设置FTP服务器为独立运行。 配置vsftp使用的PAM模块为vsftpd。网络服务器搭建、配置与管理Linux版7.3
59、.4 任务4 设置vsftp虚拟账号5重启vsftpd服务6测试 使用虚拟账号user1登录FTP服务器,进行测试,会发现虚拟账号登录成功,并显示FTP服务器目录信息。网络服务器搭建、配置与管理Linux版7.4 企业实战与应用 7.4.1 企业环境 公司为了宣传最新的产品信息,计划搭建FTP服务器,为客户提供相关文档的下载。对所有互联网用户开放共享目录,允许下载产品信息,禁止上传。公司的合作单位能够使用FTP服务器进行上传和下载,但不可删除数据。并且为保证服务器的稳定性,需要进行适当优化设置。7.4.2 需求分析 根据企业的需求,对于不同用户进行不同的权限限制,FTP服务器需要实现用户的审核
60、。而考虑服务器的安全性,所以关闭实体用户登录,使用虚拟账户验证机制,并对不同虚拟账号设置不同的权限。为了保证服务器的性能,还需要根据用户的等级限制客户端的连接数以及下载速度。网络服务器搭建、配置与管理Linux版7.4.3 解决方案1创建用户数据库step1:创建用户文本文件。首先建立用户文本文件ftpuser.txt,添加2个虚拟账户,公共账户ftp,客户账户vip,如下所示。rootserver # mkdir /ftpuserrootserver # vim /ftpuser/ftpuser.txtftp123vipnihao123网络服务器搭建、配置与管理Linux版7.4.3 解决方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度物流服务合同标的与服务内容2篇
- 2025年度航空航天零部件采购合同模板3篇
- 2025彩妆造型行业消费者权益保护合作协议3篇
- 泰州职业技术学院《城市更新与方法》2023-2024学年第一学期期末试卷
- 2024版:变压器买卖双方权益保障合同3篇
- 2024年足疗服务人员聘用协议样本版B版
- 二零二五版2025年度个体美容美发店合伙合作协议3篇
- 二零二五版物联网技术在农业应用合伙协议3篇
- 二零二五年度绿色建筑门窗安装及节能认证协议3篇
- 二零二五版货物搬运与物流信息平台建设合同3篇
- 《精密板料矫平机 第1部分:型式和基本参数》
- 监理报告范本
- 店铺交割合同范例
- 大型活动LED屏幕安全应急预案
- 2024年内蒙古包头市中考道德与法治试卷
- 湖南省长沙市2024-2025学年高二上学期期中考试地理试卷(含答案)
- 自来水质量提升技术方案
- 金色简约蛇年年终总结汇报模板
- 农用地土壤环境质量类别划分技术指南(试行)(环办土壤2017第97号)
- 反向开票政策解读课件
- 工程周工作计划
评论
0/150
提交评论