Ftp服务器实验报告

  • 格式:doc
  • 大小:166.50 KB
  • 文档页数:6

实验名称:FTP服务器搭建

实验拓扑:

关闭SELinux Setenforce 0

实验步骤:

FTP服务器配置

1. 先查看是否安装了vsftpd服务,这里已经安装。如示安装先挂载光盘,安装vsftpd服务

2. 切换到配置文件目录cd /etc/vsftpd,查看有那些配置文件

ftpusers配置文件是黑名单,加入到该配置文件的用户不可能登录FTP服务器

user_list配置文件是否生效,取决于vsftpd.conf主配置文件,当主文件中存在”userlist_enable=YES”时,该文件生效。如果主文件中配置”userlist_deny=YES”,则该文件为黑名单文件,该文件中的用户不能登录FTP服务器。如果”userlist_deny=NO”,则为白名单文件,该文件中的用户可以登录FTP服务器。

注意,黑白名单ftpusers,user_list只对系统用户生效,不对虚拟用户生效。通常启用虚拟用户后,系统用户不可用。黑白名单改为默认值即可。

3. 允许匿名用户登录

一、修改主配置文件vi vsftpd.conf,把anonymous_enable=YES,是允许匿名用户登陆,改为NO则不允许匿名用户登录。默认为YES

二、重启服务service vsftpd restart

三、客户端成功访问。

4. 允许系统用户访问,修改配置文件vi vsftpd.conf

一、修改anonymous_enable=NO,不允许匿名用户访问

二、创建用户useradd mary ,密码passwd mary

三、客户端访问,匿名用户不可访问了。

四、输入用户名密码mary可以登陆

黑白名单就不验证了,上面已经说清楚用法了。注意拒绝优先

5. 使用虚拟用户登录,保证安全

一、切换目录到 /etc/vsftpd下面,创建虚拟用户文件vusers.list,创建用户user1和user2,密码分别是123和456.如下图

用 vi 编辑虚拟用户文件,vusers.list。效果如下图,注意文件上面不能有空行,单行是用户名 ,双行为密码。保存虚拟用户文件。

二、使用db_load工具将列表文件转化为DB数据库文件,必须先从安装盘安装db4-utils-4.3.29-9.fc6.i386.rpm软件包,

三、转换文件vusers.list为vusers.db。命令为db_load -T -t hash -f

vusers.list

vusers.db

四、建立FTP访问的根目录及虚拟用户对应的系统账号

命令为:useradd -d /var/ftproot -s /sbin/nologin

chy

-d 指定用户的宿主目录,也就是虚拟用户登录的地方

-s 指定用户的shell,nologin为空,也就是用户不可登录系统。

五、建立PAM认证文件,PAM文件位置/etc/pam.d/

创建PAM文件vsftpd.vu,命令vi vsftpd.vu,文件中的内容为下图

auth required pam_userdb.so db=/etc/vsftpd/vusers

account required pam_userdb.so db=/etc/vsftpd/vusers

保存退出

六、修改主配置文件,添加虚拟用户支持.vi

修改PAM认证文件为pam_service_name=vsftpd.vu

添加 guest_enable=YES, //启用用户映射功能

添加 guest_username=chy //将映射用户指定为chy

保存退出,重启服务后虚拟用户可以登陆,但是没有权限,需要添加权限

七、为不同的虚拟用户建立独立的配置文件,并给予权限

1. mkdir -p /etc/vsftpd/chy_dir 创建虚拟用户配置文件目录

2. 修改vsftpd.conf主配置文件,

user_config_dir=/etc/vsftpd/chy_dir //添加此行指定用户配置文件目录

3.切换到虚拟用户目录cd /etc/vsftpd/chy_dir

vi usre1 给user1赋予权限

重启服务,user1就有以上权限了。下载,创建目录,查看的权限

4.如果要为每个虚拟用户指定默认路径,则先创建好目录,如

mkdir -p /var/ftproot/user1 创建好user1目录为user1用户的默认登录点

| chown er1 /var/ftproot/user1 把目录的属主和组改为chy,

使用ll查看

在/etc/vsftpd/chy_dir/user1文件中添加一条命令即可

local_root=/var/ftproot/user1效果图如下

注意是添加到最上面,以及目录的双重权限,

FTP权限表

作用范围 配置项及示例

匿名用户 | anonymous_enable=YES 是否允许匿名访问

| anon_umask=022 设置匿名用户所上传文件的默认权限掩码值

| anon_root=/var/ftp 设置匿名用户的FTP根目录(缺省为/var/ftp)

| anon_upload_enable=YES 是否允许匿名用户上传文件

| anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的写入权限

| anon_other_write_enable=YES 是否允许匿名用户有其他写入权限。如对文件改名、覆盖及删除文件

| anon_max_rate=0 限制匿名用户的最大传输速率(0为无限制),单位为字节

本地用户 | local_enable=YES 是否允许本地系统用户访问

| local_umask=022 设置本地用户所上传文件的默认权限掩码值

| local_root=/var/ftp 设置本地用户的FTP根目录(缺省为用户的宿主目录)

| chroot_local_user=YES 是否将FTP本地用户禁锢在宿主目录中

| local_max_rate=0 限制本地用户的最大传输速率(0为无限制),单位为字节

全局配置 | listen=YES 是否以独立运行的方式监听服务

| listen_port=21 设置监听FTP服务的端口号

| write_enable=YES 启用任何形式的写入权限(如上传、删除文件等)都需要开启此项

| download_enable=YES 是否允许下载文件(建立仅限于浏览、上传的FTP服务器时可将其设为NO)

| dirmessage_enable=YES 用户切换进入目录时显示.message文件(如果存在)的内容

| xferlog_enable=YES 启用xferlog日志,默认记录到“/var/log/xferlog”文件

| xferlog_std_format=YES 启用标准的xferlog日志格式,若禁用此项,将使

用vsftpd自己的日志格式

| connect_from_port_20=YES 允许服务器主动模式(从20端口建立数据连接)

| pasv_enable=YES 允许被动模式连接

| pasv_max_port=24600 设置用于被动模式的服务器最大端口号

| pasv_min_port=24500 设置用于被动模式的服务器最小端口号

| pam_service_name=vsftpd 设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名)

| userlist_enable=YES 是否启用user_list用户列表文件

| userlist_deny=YES 是否禁止user_list列表文件中的用户账号

| max_clients=0 最多允许多少个客户端同时连接(0为无限制)

| max_per_ip=0 对来自相同IP地址的客户端,最多允许多少个并发连接(0为无限制)

| tcp_wrappers=YES 是否启用TCP—Wrappers主要访问控制(TCP

Wrappers的应用将在后续课程中讲解)