Vsftp的配置实验

要求:

1、 以standalone方式运行

2、 为了保证安全,将系统用户中不必要的用户ftp关闭

3、 匿名用户只能下载。目录为/var/ftp/pub

4、 本地用户可以上传文件,使用home目录,限额为100M,不能进入到其他目录

,并且设置不能上传重名文件

5、本地root和admin两个用户可以切换到其他目录,不受chroot约束

6、安全设置:

会话超时10分钟断开

本地用户下载速度为50k,匿名用户为30k

ftp最大连接数为200个,每个IP 最大连接数为5个

配置:

1、 以standalone方式运行

[root@domino vsftpd-2.1.2]# vim /etc/xinetd.d/vsftpd

将disable 改为yes,然后重启xinetd服务

[root@domino vsftpd-2.1.2]# service xinetd restart

Stopping xinetd: [ OK ]

Starting xinetd: [ OK ]

2、 关闭系统中的其他用户,我们需要启用/etc/ftpusers

注意:ftpusers 是由/etc/pam.d/ftp 来控制的,我们可以先看看/etc/pam.d/ftp文件,里面面有具体的是有那个文件进行验证,并默认的动作是deny

clip_p_w_picpath001

下面, 我们在ftpusers中将系统中不需要的使用ftp的账号加入到禁止使用

由于我们是刚建立的系统,大部分都是系统用户,可以这样处理:

[root@domino ~]# cat /etc/passwd |cut -f 1 -d :> /etc/ftpusers

然后将需要使用ftp的用户从ftpusers中删除,重新启动ftp服务。

然后测试看名单中的人能否登录,结果如下:

clip_p_w_picpath003

3、 匿名用户只能下载,且目录为/var/ftp/pub

编辑/etc/vsftpd.conf,启用以下项:

anonymous_enable=YES,,匿名用户部分做如下设置:

clip_p_w_picpath005

修改ftp用户家目录:

clip_p_w_picpath007

此时匿名用户登录,默认路径就是/var/ftp/pub。且不能上传文件,只能下载。

4、 对于本地用户,不能登录切换目录的,我们可以把所有的ftp用户放到/etc/user_list,对于可以使用切换到其他目录的用户放到chroot_list,具体配置可以这么写:

clip_p_w_picpath009

另外 ,我们新建立两个文件:/etc/chroot_list和/etc/user_list。

下图为/etc/chroot_list内容:

clip_p_w_picpath011

下图为/etc/user_list内容:

clip_p_w_picpath013

另外 ,为了使每个用户的限额为100M ,需要设置如下:

首先编辑/etc/fstab,添加usrquato,如下:

clip_p_w_picpath015

然后需要重启机器或是重新挂载分区,如下:

[root@domino ~]#umount -o remount /dev/hda2

[root@domino ~]#cat /etc/mtab 查看是否应用成功

然后启用quota,命令如下:

[root@domino ~]# quotacheck -avug /home

在/home目录下会生成aquota.user r文件,然后编辑限额。

[root@domino ~]#edquota -u admin

clip_p_w_picpath017

注:这里的100M为约等于。

然后我们将admin的quota值复制给tom等。

[root@domino ~]#edquota –p admin –u tom

5、 安全设置的话,我们可以设置如下参数:

clip_p_w_picpath019

注:以上配置为关闭了selinux 和iptables。

Vsftpd.conf文件内容如下:

# this is configuration of anonymous users

anonymous_enable=YES

#anon_mkdir_enable=YES

#anon_upload_enable=YES

#

#chown_upload=YES

#chown_username=ftp

#

#this is configuration of local users

#

local_enable=YES

write_enable=YES

local_umask=077

#

#the users of no limited for chroot

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/chroot_list

#only the users of userlist_file that can login

userlist_deny=NO

userlist_file=/etc/user_list

#this is configuration of virtual user

#this is configuration of security

idle_session_timeout=600

data_connection_timeout=120

local_max_rate=51200

anon_max_rate=30720

max_clients=200

max_per_ip=5

#this is configuration of log

xferlog_enable=YES

#xferlog_file=/var/log/vsftpd.log

#xferlog_std_format=YES

#this is configuration of other

#

ftpd_banner=Welcom to MY test FTP service.

#

#dirmessage_enable=YES

connect_from_port_20=YES

#nopriv_user=ftpsecure

#

#async_abor_enable=YES

#

#ascii_upload_enable=YES

#ascii_download_enable=YES

#

#banned_email_file=/etc/vsftpd.banned_emails

#

#ls_recurse_enable=YES

#

listen=YES

#listen_ipv6=YES

#

#tcp_wrappers=YES