vsftpd虚拟用户有时太多了没时间一个个去看和管理了,今天我没事写了一个管理vsftpd虚拟用户脚本,此脚本用于centos系统中,本人亲测CentOS 5.x,CentOS 6.x(本人仅测试了CentOS 6.2,其他系统或者更老点的版本 就需要适当修改代码了)
使用方法:
代码如下 |
|
[root@itchenyi-1 ~]# ./vsftpd_auto_user.py create chenyi #创建用户
Please input your ftpuser's password
>>:password
[root@itchenyi-1 ~]# ./vsftpd_auto_user.py delete chenyi #删除用户
[root@itchenyi-1 ~]# ./vsftpd_auto_user.py #使用方法
warning:>> syntax error
example : ./vsftpd.py {create|disable|enable|passwd|delete} {username}
example : ./vsftpd.py create username
|
展示部分python代码,如需要下载 请到本文末尾处下载,:
代码如下 |
|
#!/usr/bin/env python
#Blog : www.111cn.net
#Des : auto add,delete,enable,disable user and change user's password
import sys,os,commands
USERFILE = "/etc/vsftpd/passwd.file"
USERFILEDB = "/etc/vsftpd/ftpuser_passwd.db"
VIRTUALFILE = "/etc/vsftpd/user_config"
TEMPLATEFILE = "/etc/vsftpd/template_file"
FTPROOT = "/vsftptest"
FTPENTITYUSER = "chenyi"
SYNTAXERROR = """warning:>> syntax error
example : ./vsftpd.py {create|disable|enable|passwd|delete} {username}
example : ./vsftpd.py create usernamen"""
try:
PARAM = sys.argv[1]
USERNAME = sys.argv[2]
except:
print SYNTAXERROR
exit()
def check_username_exist():
DESTPATH = os.path.exists(r'%s'%USERFILE)
if DESTPATH == False:
print "%s not exitstnnP.S:nYou can create this file to solve the problem" %USERFILE
exit()
else:
EN,SN = commands.getstatusoutput("sed -n 'p;n' %s | grep -w %s | wc -l" %(USERFILE,USERNAME))
if not(SN) == '0':
print "User %s ALREADY exist!" %USERNAME
exit()
|
可能你觉得功能还挺符合你的要求,你需要自己使用,有以下几个地方是你需要修改的:
注意
USERFILE = 你虚拟用户存放帐号密码的文件
USERFILEDB = 你db_load 生成的数据库文件
VIRTUALFILE = 你虚拟用户存放配置文件的路径
TEMPLATEFILE = 你虚拟用户默认使用的模版配置文件,其用户目录需要改成chenyi,你也可以自己修改代码
FTPROOT = 你FTP的根目录
FTPENTITYUSER = 你虚拟用户映射到本地的实体用户