Vsftpd配合脚本实现目录配额

vsftpd以配置好虚拟用户
用户名:
www.t1.com

虚拟用户配置文件位置
# pwd
/etc/vsftpd/user_conf

web目录位置:
/data/htdocs/www.t1.com

vsftpd两个用户模版
位置
# pwd
/etc/vsftpd/user_temp

(1)所有权限
# cat user_all
write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
local_root=/data/htdocs/domain


(2)不能写入,只能删除
# cat user_del
virtual_use_local_privs=NO
write_enable=YES
anon_world_readable_only=NO
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
local_root=/data/htdocs/domain



脚本内容:



(1)针对单个web目录检测
#!/bin/bash
DIR=/data/htdocs
i=www.t1.com
MAX=200
size=$(/usr/bin/du -sm $DIR/$i |/bin/cut -f1)
        if [ "$MAX" -lt "$size" ]
                then
                        echo "`date`" >> /data/sh/check_waring.txt
                        echo "$i Exceed maximum $MAX"M"" >> /data/sh/check_waring.txt

                        cp /etc/vsftpd/user_temp/user_del /etc/vsftpd/user_conf/$i
                        sed -i "s/domain/$i/g" /etc/vsftpd/user_conf/$i
        else

                        cp /etc/vsftpd/user_temp/user_all /etc/vsftpd/user_conf/$i
                        sed -i "s/domain/$i/g" /etc/vsftpd/user_conf/$i
        fi

        
        
        
        
        
(2)针对多个web目录检测,ftp用户名与web目录名一致
#!/bin/bash
DIR=/data/htdocs
CHECK=/data/sh/check_dir.txt
ls -1 $DIR > $CHECK
MAX=200
for i in `cat $CHECK`;
do
size=$(/usr/bin/du -sm $DIR/$i |/bin/cut -f1)
        if [ "$MAX" -lt "$size" ]
                then
                        echo "`date`" >> /data/sh/check_waring.txt

                        echo "$i Exceed maximum $MAX"M"" >> /data/sh/check_waring.txt


                        cp /etc/vsftpd/user_temp/user_del /etc/vsftpd/user_conf/$i                      
                        sed -i "s/domain/$i/g" /etc/vsftpd/user_conf/$i
        else
                        cp /etc/vsftpd/user_temp/user_all /etc/vsftpd/user_conf/$i
                        sed -i "s/domain/$i/g" /etc/vsftpd/user_conf/$i
        fi
done





























posted @ 2015-10-22 10:49  消磨_时间  阅读(152)  评论(0)    收藏  举报