问答题
认真阅读基于Linux操作系统架构FTP服务器的技术说明,根据要求回答问题1~问题7。
【说明】
vsftpd(very secure FTP daemon)软件是Linux平台中具有代表性的开放源代码的免费FTP服务器软件,它可以提供虚拟用户、虚拟IP设置,带宽限制、独立操作模式、支持IPv6等功能。它使用安全编码技术解决了缓冲区溢出问题,并能有效避免“globbing”等类型的拒绝服务攻击。
vsftpd.conf文件是vsftpd服务的核心配置文件,用于控制vsftpd不同方面的属性。图4-10给出了一个vsftpd.conf文件的部分配置内容。
问答题 【问题1】 在Linux操作系统的终端窗口,可以通过RPM命令{{U}} (1) {{/U}}来验证系统是否已安装vsftpd服务。(1)
A.rpm -qf|grep vsftpd
B.rpm -qa|grep vsftpd
C.rpm -Vf|grep vsftpd
D.rpm -qi|grep vsftpd
【正确答案】
【答案解析】B,或rpm -qalgrep vsftpd
这是一道要求读者熟悉以RPM方式安装vsftpd服务器软件的配置命令题。本题所涉及的知识点如下。
①如果选择完全安装Linux操作系统,那么系统默认会安装上vsftpd服务器。
②在终端窗口验证系统是否已安装vsftpd服务的RPM命令是:
rpm -qa|grep vsftpd
③如果系统已经安装了vsftpd服务器,则系统将会输出vsftpd服务器的版本号。
④如果系统未安装vsftpd服务器,可到官方网站(ftp://vsftpd.beasts.orgtusers/cevans/)下载最新版的 vsftpd的RPM包,接着可以使用以下RPM命令进行软件安装:
rpm -ivh vsftpd-2.0.3.i386.rpm
⑤使用rpm -q命令用来查询所安装的软件包的数据库。表4-11是rpm -q查询命令常带的一些选项。
{{B}}表4-11 查询命令rpm -q常带的选项功能表{{/B}}
选项参数
功 能
-a  查询所有已安装的软件包
-c  显示被标记为配置文件的文件列表
-d  显示被标记为文档(man页、info页等)的文件列表
-f  查询拥有的软件包,注童必须指定文件的完整路径,如/usr/bin/ls
-i  显示软件包信息,如名称、描述、发行版本、大小、制造日期、生产商等
-l  显示软件包所含的文件列表
-p  查询软件包
-s  显示软件包中所有文件的状态
⑥当Linux系统的某个文件出了问题,用户想校验拥有该文件的软件包,但又不知道哪个软件包拥有此文件,此时,可使用“rpm -Vf<文件名>”命令来诊断该问题。
问答题 【问题2】 为了使vsftpd服务器能够正常工作,需要确保操作系统中没有启用其他FTP服务器软件。在终端窗口中运行{{U}} (2) {{/U}}命令来查看系统是否已启用其他FTP服务器软件。(2)
A.service vsftpd status
B.service vsftpd start
C.service vsftpd restart
D.netstat -l|grep ftp
【正确答案】
【答案解析】D,或netstat -l|grep ftp 这是一道要求读者熟悉查看、启动、停止vsftpd服务器的配置命令题。本题所涉及的知识点如下。 ①为了使vsftpd服务器能够正常工作,需要确保操作系统中没有启用其他FTP服务器软件。在终端窗口中查看系统是否已启用其他FTP服务器软件的命令是; netstat -l|grep ftp 如果显示的信息中包括“tcp00*:ftp *:* LISTEN”等信息,则说明系统中已运行了其他FTP服务器软件。 ②启动vsftpd服务器的配置命令是“service vsftpd start”。 ③命令“service vsftpd stop”可用于停止vsftpd服务器。 ④命令“service vsftpd restart”可用于重启vsftpd服务器。 ⑤查看vsftpd服务器状态的配置命令是“service vsftpd status”。
问答题
【问题3】
vsftpd服务器支持匿名登录。通常匿名登录的用户名是anonymous,另外还可以使用{{U}} (3) {{/U}}用户名进行匿名登录。
【正确答案】
【答案解析】ftp 这是一道要求读者熟悉FTP服务器匿名登录用户管理的基本常识题。本题所涉及的知识点如下。 vsftpd服务器支持匿名登录。通常匿名登录的用户名是anonymous,密码可有可无,默认使用PASV模式登录,能够访问的默认目录是pub。 另外还可以使用用户名为ftp进行匿名登录,这是因为ftp是匿名用户的映射用户账号。
问答题
【问题4】
在图4-10所示的配置文件中,第3行至第5行实现什么配置功能?
【正确答案】
【答案解析】允许本地用户登录 允许本地用户上传文件 设置本地用户对上传文件夹进行读,写、执行等操作权限,文件所有者同组成员和其他普通成员对文件夹只具有读、执行操作权限 这是一道要求读者熟悉ftp服务器配置文件的语句偷令解释题。本题的解答步骤如下。 ①允许本地用户登录并允许其上传文件的相关语句是: loeal_enable=YES #允许本地用户登录 write_enable=YES #允许本地用户上传文件 要使上述选项生效,必须复制一个pam验证文件到/etc/pam.d,并改名为ftp。当然也可以改为其他名称,但必须修改pam_service_name的值,默认为ftp。 ②Linux系统文件访问的3种处理模式是:读取r、写入w、执行x。对普通文件默认的访问权限是:文件所有者能够读写,但不能执行;文件所有者同组成员和其他成员只能读取。 Linux系统文件访问的3级权限是:文件所有者、文件所有者同组成员、其他成员。 Linux系统默认将每一个用户所有者的目录权限设为drwx------。在“drwx------”中,d表示文件类型, rwx说明文件所有者能够对文件夹进行读、写、执行操作;第一个“---”表示文件所有者同组成员无任何访问权限;第二个“---”表示其他成员也无任何访问权限。 ③设置本地用户上传的文件或文件夹的umask值的相关语句是: local_umask=022 #设置本地用户上传文件或文件夹的umask(默认值为077) 其中“022”每位的二进制数形式是“000 010 010”,其含义是文件所有者对文件夹进行读、写、执行等操作权限,文件所有者同组成员和其他普通成员对文件夹只具有读、执行操作权限。 如果将umask值设置为077,就会出现“用户没有权限(Permission denied)访问网页”的问题,所以建议将umask的值设为022。
问答题
【问题5】
在图4-10所示的配置文件中,配置语句“chroot_local_user=YES”实现什么功能?
【正确答案】
【答案解析】将本地用户锁定在主目录中,不允许切换到上一级目录 配置语句“chroot_local_user=YES”实现将本地用户锁定在主目录中,不允许切换到上一级目录中的功能。
问答题
【问题6】
在图4—10所示的配置文件中,第7行至第9行实现什么配置功能?
【正确答案】
【答案解析】禁止/etc/vsftpd.uset_list中列出的用户名登录卸服务器 在图4-10所示的配置文件中,配置语句“local_enable=YES”说明所有的用户(包括root用户)都能通过ftp命令登录服务器。出于安全考虑,需要对某些用户进行限制。 在vsftpd.conf中有3个用户限制的控制选项,分别是: userlist_deny=YES/NO useriist_enable=YES/NO userlist_file=/etc/vsftpd.user_list 当userlist_deny=YES,userlist_enable=YES时,/etc/vsftpd.user_list中列出的用户名将不允许登录FTP服务器;如果userlist_deny=NO,usedist_enable=YES时,/etc/vsftpd.user_list中列出的用户名允许登录FTP服务器。 可见,图4-10所示的配置文件中第7行至第9行实现禁止/etc/vsftpd.user_list中列出的用户名登录FTP服务器的功能。 另外,本题在实践操作时还需在/etc目录下创建vsftpd.user_list文件,文件内容为允许登录或禁止登录的用户名,每个用户占一行。
问答题
【问题7】
在图4-10所示的配置文件中,配置语句“max_per_ip=5”实现什么功能?
【正确答案】
【答案解析】允许每个客户IP地址最多打开5个线程 配置语句“max_per_ip=5”用于实现每个客户IP地址最多允许打开5个线程功能。 最后,给出图4-10所示的配置文件中所有配置命令的完整解释,以供实验或实践操作时参考。 anonymous_enable=YES #允许匿名用户访问 no_anon_password=YES #匿名用户登录时不需要输入密码 local_enable=YES #允许本地用户登录 write_enable=YES #允许本地用户上传文件 local_umask=022 #设置本地用户上传文件或文件夹的umask值 chroot_local_uset=YES #将本地用户锁定在主目录中,不允许切换到上一级目录中 userlist_deny=YES #禁止/etc/vsftpd.user_list中列出的用户名登录FTP服务器 userlist_enalbe=YES userlist_file=/etc/vsftpd.user_list chmod_enable=NO #禁止用户通过FTP修改文件或文件夹的权限 max_clients=100 #最多同时允许100个客户连接 max_per_ip=5 #允许每个客户IP地址最多打开5个线程 anon_max_rate=8192 #匿名用户的最高下载速度为8KB/s (1024×8=8192) local_max_rate=81920 #普通用户的最高下载速度为80KB/s idle_session_timeout=600 #设置闲置的会话过程超时值为600s (10min) data_connection_timeout=120 #设置数据连接的超时值为120s (2min) xferlog_file=/var/log/vsftpd.log #启动记录上传/下载活动日志功能