共计 2662 个字符,预计需要花费 7 分钟才能阅读完成。
实验要求:
RHEL6.4 下搭建一个 ftp 服务器
禁止匿名用户登录,允许本地账户登录
禁锢普通账户在自己的宿主目录中
设置普通账户登录访问 /data/ftp
限制普通账户下载速度 150KB/s
———————————————- 分割线 ———————————————-
推荐阅读 :
玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm
vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm
Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm
Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm
Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm
Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm
vsftpd 的安全配置案例分析 http://www.linuxidc.com/Linux/2012-12/76501.htm
———————————————- 分割线 ———————————————-
1. 服务器(192.168.100.1)安装软件包
[root@ftp-server ~]# rpm -q vsftpd
vsftpd-2.2.2-11.el6.x86_64
2. 修改主配置文件
[root@ftp-server ~]# vim /etc/vsftpd/vsftpd
12 anonymous_enable=NO // 禁止匿名用户登录
……
120 chroot_local_user=YES // 禁锢普通账户在自己的宿主目录
121 local_root=/data/ftp // 设置宿主目录 /data/ftp
122 local_max_rate=150000 // 限制普通账户下载速度 150KB/s
3. 创建宿主目录及实体测试账户
[root@ftp-server ~]# useradd obama
[root@ftp-server ~]# echo “123456” | passwd –stdin obama
[root@ftp-server ~]# mkdir -p /data/ftp
[root@ftp-server ~]# ls -ld /data/ftp
drwxr-xr-x. 2 root root 4096 Apr 16 05:35 /data/ftp // 实体帐户不能上传
[root@ftp-server ~]# dd if=/dev/zero of=/data/ftp/film.avi bs=1M count=512 // 创建测试文件
4. 启动服务
[root@ftp-server ~]# service vsftpd start
[root@ftp-server ~]# chkconfig vsftpd on
5. 客户端测试
[root@client ~]# ftp 192.168.100.1 // 也可使用图形化软件测试,ftp 命令若没有,需先安装软件包 yum install ftp
Connected to 192.168.100.2 (192.168.100.1).
220 (vsFTPd 2.2.2)
Name (192.168.100.2:root): obama
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/obama // 此提示说明 selinux 问题
Login failed.
6. 修改服务器 selinux 设置
[root@ftp-server ~]# getsebool -a | grep ftp // 查找 ftp 有关的布尔值
allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
ftp_home_dir –> off
ftpd_connect_db –> off
ftpd_use_passive_mode –> off
httpd_enable_ftp_server –> off
tftp_anon_write –> off
[root@ftp-server ~]# setsebool -P ftp_home_dir=1 // 设置此选项为开启
7. 客户端再次测试
[root@client ~]# ftp 192.168.100.1
Connected to 192.168.100.1 (192.168.100.1).
220 (vsFTPd 2.2.2)
Name (192.168.100.2:root): obama
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,100,2,123,195).
150 Here comes the directory listing.
-rw-r–r– 1 0 0 536870912 Apr 16 12:38 film.avi
226 Directory send OK.
[root@client ~]# wget ftp://obama:123456@192.168.100.2/film.avi // 测试下载速度
更多 RedHat 相关信息见 RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10