当前位置: 首页 > >

项目9 FTP服务器配置与管理

发布时间:

实训项目 9
一、实训目的
● 掌握 Vsftpd 服务器的配置方法。 ● 熟悉 FTP 客户端工具的使用。

FTP 服务器配置与管理

● 掌握常见的 FTP 服务器的故障排除。

二、项目背景
某企业网络*送既缦峦妓荆闷笠迪牍菇ㄒ惶 FTP 服务器,为企业局域网中的计算机提供文件传 送任务,为财务部门、销售部门和 OA 系统提供异地数据备份。要求能够对 FTP 服务器设置连接限制、日 志记录、消息、验证客户端身份等属性,并能创建用户隔离的 FTP 站点。

管理部

财务部

销售部

FTP 服务器

OA系统

1

2

…… FTP 客户端

N-1

N

三、实训内容
练* Linux 系统下 Vsftpd 服务器的配置方法及 FTP 客户端工具的使用。

四、实训步骤
//注意:若确保 vsftpd 服务工作正常,最好是先执行以下操作:输入此命令:setsebool ftpd_disable_trans 1

子项目 1. 设置匿名帐号具有上传、创建目录权限
//修改本地权限,使匿名用户对/var/ftp 目录具有写入权限 [root@RHEL4 var]# chmod o+w /var/ftp [root@RHEL4 ftp]# vi /etc/vsftpd/vsftpd.conf //添加下面两行: anon_upload_enable=YES

anon_mkdir_write_enable=YES

子项目 2. 设置禁止本地 user1 用户登录 ftp 服务器
[root@RHEL4 var]#vi /etc/vsftpd.ftpusers //添加下面的行: user1 //重新启动 vsftpd 服务,即可。

子项目 3. 设置本地用户登录 FTP 服务器之后,在进入 dir 目录时显示提示信息 “welcome”
//以 user2 用户登录系统,并进入 user2 用户家目录/home/user2 目录下的 dir1 目录 [user2@RHEL4 dir]$cd ~/dir //新建.message 文件并输入”welcome” [user2@RHEL4 dir]$ echo "welcome">.message //以下为测试结果 [user2@RHEL4 dir]$ ftp 192.168.1.2 Name (192.168.1.2:user2): user2 Password: ftp> cd dir 250-welcome //切换到 dir 目录 //显示.message 文件的内容

250 Directory successfully changed.

子项目 4.设置将所有本地用户都锁定在家目录中
//修改 vsftpd.conf 文件,做如下设置 [root@RHEL4 ftp]# vi /etc/vsftpd/vsftpd.conf chroot_list_enable=NO chroot_local_user=YES //重新启动 vsftpd 服务即可 //测试部分略 //修改该参数的取值为 NO //修改该参数的取值为 YES

子项目 5. 设置只有指定本地用户 user1 和 user2 可以访问 FTP 服务器
//将例 14-1 中/etc/vsftpd.ftpusers 文件中的 user1 删除 //修改 vsftpd.conf 文件,做如下设置 [root@RHEL4 ftp]# vi /etc/vsftpd/vsftpd.conf userlist_enable=YES usrelist_deny=NO userlist_file=/etc/vsftpd.user_list //修改该参数的取值为 YES //添加此行 //添加此行 1

//利用 vi 编辑器打开/etc/vsftpd.user_list 文件 [root@RHEL4 ~]# vi /etc/vsftpd.user_list //添加如下两行并保存退出: user1 user2 //重新启动 vsftpd 服务即可 //测试部分略

子项目 6. 配置基于主机的访问控制
实现如下功能: ● 拒绝 192.168.6.0/24 访问。 ● 对域 jnrp.net 和 192.168.2.0/24 内的主机不做连接数和最大传输速率限制。 ● 对其他主机的访问限制每 IP 的连接数为 1,最大传输速率为 20KB/S
//修改 vsftpd.conf 文件 [root@RHEL4 ~]# vi tcp_wrappers=YES //添加如下两行并保存退出: local_max_rate=20000 anon_max_rate=20000 max_per_ip=1 //编辑/etc/host.allow 文件 [root@RHEL4 ~]# vi /etc/hosts.allow //添加下面两行: vsftpd:jnrp.net,192.168.2.0/24 :setenv VSFTPD_LOAD_CONF /etc/vsftpd/vsftpd_tcp_wrap.conf vsftpd:192.168.6.0/24:DENY //编辑/etc/vsftpd/vsftpd_tcp_wrap.conf 文件 [root@RHEL4 ~]# vi /etc/vsftpd/vsftpd_tcp_wrap.conf //添加下面三行: local_max_rate=0 anon_max_rate=0 max_per_ip=0 //重新启动 vsftpd 服务即可 //测试部分略 /etc/vsftpd/vsftpd.conf //确保支持 tcp_wrappers

子项目 7. 使用 PAM 实现基于虚拟用户的 FTP 服务器的配置。
● 创建虚拟用户口令库文件。 //生成建立口令库文件的文本文件 [root@RHEL4 ~]# cat /root/login.txt peter //此行指定虚拟用户 peter
2

123456 tom 213456

//此行设置 peter 用户的 FTP 密码 //此行指定虚拟用户 tom //此行设置 tom 用户的 FTP 密码

//使用 db_load 命令生成口令库文件 [root@RHEL4 /]# db_load -T -t hash -f /root/login.txt /etc/vsftpd/vsftpd_login.db //修改数据库文件的本地权限 [root@RHEL4 ~]# chmod 600 /etc/vsftpd/vsftpd_login.db ● 生成虚拟用户所需的 PAM 配置文件/etc/pam.d/vsftpd。 [root@RHEL4 ~]#vi /etc/pam.d/vsftpd //添加如下两行 auth account required required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

● 修改 vsftpd.conf 文件。 [root@RHEL4 ~]# vi /etc/vsftpd/vsftpd.conf //保证具有下面三行 guest_enable=YES guest_username=ftp 户所在目录下。 pam_service_name=vsftpd //指定 PAM 配置文件是 vsftpd ● 利用下面的命令重新启动 vsftpd 服务即可。 [root@RHEL4 ~]# service vsftpd restart ● 测试。 //启用虚拟用户功能 //将虚拟用户映射成 ftp 帐号,利用虚拟用户登录后,会在 ftp 用

五、实训思考题
1.简单叙述 FTP 服务器的配置过程。 2.简单说一下 FTP 服务器中的文件在 Linux 系统本身的权限和通过 FTP 访问时的权限之间的关系。

六、实训报告要求
● 实训目的。 ● 实训内容。 ● 实训步骤。 ● 实训中的问题和解决方法。 ● 回答实训思考题。

3




友情链接: