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的应用将在后续课程中讲解)