RHEL6.4搭建FTP服务器

RHEL6.4搭建FTP服务器

出于安全考虑,服务器上的FTP一般要求:

禁止匿名用户登录,只允许本地账户登录

禁锢普通账户在自己的宿主目录中

设置普通账户登录访问/data/ftp

限制普通账户下载速度150KB/s

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 //测试下载速度