当前位置:首页 > Linux下FTP服务器vsftp配置大全超完整版
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022
anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES chroot_local_user=YES guest_enable=YES guest_username=ftpd listen=YES listen_port=21 pasv_enable=YES pasv_min_port=30000 pasv_max_port=30999
anon_world_readable_only=NO virtual_use_local_privs=YES
#user_config_dir=/etc/vsftpd_user_conf
可以看出,和前面的用db库来验证没有多大区别,其实就是一个东西,一个用mysql来验证 ,一个用db库,我个人比较倾向于用db库来验证,在这个环境下,相对于Mysql来说,安全 系数更高一点。
(6)# /usr/local/sbin/vsftpd-pam /etc/vsftpd-pam1.conf & //以后台方式启动
(7)测试连通 # ftp 127.0.0.1
Connected to 127.0.0.1. 220 (vsFTPd 2.0.3)
530 Please login with USER and PASS. 530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type Name (127.0.0.1:root): test1 331 Please specify the password. Password:
230 Login successful.
Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 \\\ ftp> quit 221 Goodbye.
看,成功了!!这样就实现了mysql的认证方式,很简单吧??
4、为FTP增加磁盘配额,从而避免恶意用户用垃圾数据塞满你的硬盘
我首先要说的是这个功能是系统自带的,而不是vsftp 的功能之一,千万别搞混了。好了 ,我们先假设我们的系统用户ftpd的主目录是/home/ftpd,它是建立在/home分区中,那么 如果我们要对ftpd用户进行磁盘限额,那我们需要修改/etc/fstab中根分区的记录,将/h ome分区的第4个字段改成defaults,usrquota,如下:
LABEL=/home /home ext3 defaults,usrquota 1 2 # reboot //重新启动系统使设置生效 也可以用
# mount -o remount /dev/sda6 ///dev/sda6的挂接点就是/home,这样可以不用启动系统 。
这里我还要说明一下,如果我们对一个组进行磁配额,那我们需要增加参数grpquota,例 如
LABEL=/home /home ext3 defaults,grpquota 1 2 也可以
LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
你想怎么限制都可以,自己组合参数吧。 # quotacheck -avu
说明:a-自动开启挂载文件系统的配额,v-显示信息,u-启用用户配额or g-启用组配额
# edquota ftpd //为用户ftpd设置磁盘配额 OR
# edquota -g grp //为组grp设置磁盘配额 系统会自动打开配额文件,如下:
Disk quotas for user ftpd (uid 502):
Filesystem blocks soft hard inodes soft hard
/dev/sda6 424 0 0 13 0 0
第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数,单位为KB。 随后的两列用来设置用户在该文件系统上的软硬块限度。inodes 列显示了用户当前使用的 i节点数量。最后两列用来设置用户在该文件系统上的软硬i节点限度.硬限是用户或组群可 以使用的磁盘空间的绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用 了。软限定义可被使用的最大磁盘空间量。和硬限不同的是,软限可以在一段时期内被超 过。这段时期被称为过渡期(grace period),默认七天的超越。过渡期可以用秒钟、分 钟、小时、天数、周数、或月数表示。如果以上值中的任何一个被设置为 0,那个限度就 不会被设置。我设置了硬块限度为1KB,是为了测试方便。
# quotaon -avu //打开磁盘配额监控进程,u是用户g是组,这里我没设置g参数 要校验用户的配额是否被设置,我们可以使用以下命令: # quota ftpd
Disk quotas for user ftpd (uid 502):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 424* 0 1 13 0 0
# edquota –t(-g)来设置过渡期(grace period) //当然只针对软限制而言 和另一个 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额:
Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/sda6 7days 7days 按你的需要修改后存盘退出 用以下命令显示磁盘配额使用状态
# repquota -a 或 repquota /dev/sda6(用户配额) # repquota -g -a 或 repquota -a /dev/sda6 (组的配额) 如果一切按照你的意思实施了,那么我们就进行测试了!如下图4
我们传了一个>1k的文件,没有成功,这样我们就成功的为用户ftpd增添了磁盘配额,要是 哪一天你不想加磁盘配额了,怎么办?参看如下命令: 取消某个文件系统的配额限制
#quotaoff -vug /dev/sda6 //删除home分区的磁盘限额 #删除/etc/fstab中设置配额的部分 修改软配额的最大超越时间 注意:
/,/boot/,/proc,/mnt/cdrom等不要使用配额,没用。而且磁盘配额不适合FAT和FAT32系 统。
以后当新设置了某个用户的配额,可以使用如下命令,马上生效。 # quotacheck -auvgm --是不尝试重新挂载文件系统 备注:
1、vsftpd配置参数详细整理 #接受匿名用户
anonymous_enable=YES #匿名用户login时不询问口令 no_anon_password=YES #匿名用户主目录
共分享92篇相关文档