[root@localhost vsftpd]# cat auto_createftp.py
#!/usr/bin/env python
#_*_coding:utf-8_*_
#date:20180502
#author:lihongxing import time,os,sys
from xpinyin import Pinyin
#import pypinyin
#from pypinyin import pinyin,lazy_pinyin '''
次脚本为自动创建ftp用户和密码,减少运维对ftp的操作,给xx部门使用。
当ftp根目录下有新的目录时,自动把目录转换成账户和密码
pinyin模块把汉字转换成拼音,用于ftp用户和密码
使用方式:
1:初次使用可以先建个管理员帐号,指到ftp根目录
2:使用管理员帐号在根目录加目录即可,然后此脚本自动创建用户指到该目录
'''
if sys.getdefaultencoding() != 'utf-8':
reload(sys)
sys.setdefaultencoding('utf-8') p = Pinyin() dir_path_info = 'ls /DATA/rocen-ftp/'
dir_ret = os.popen(dir_path_info)
ls_ret = dir_ret.read()
ret = ls_ret.strip(" ").split("\n")
ret.append("新文件夹") while True:
new_dir_path_info = 'ls /DATA/rocen-ftp/'
new_dir_ret = os.popen(new_dir_path_info)
new_ls_ret = new_dir_ret.read()
new_ret = new_ls_ret.strip(" ").split("\n")
different_list = list(set(new_ret).difference(set(ret)))
#print "ret:",ret,"new_ret:",new_ret
if len(different_list) >0:
ulist = []
for i in different_list:
dir_name_path = "/DATA/rocen-ftp/%s"%(i)
if os.path.isdir(dir_name_path):
l =i.decode("utf-8")
ulist.append(l)
ret.append(i)
for dir_name in ulist:
C_to_E = p.get_pinyin(dir_name,splitter='')
#print C_to_E pam_path = './vuser_conf/' + C_to_E
pam_file = open(pam_path,'w+')
pam_text_info = '''local_root=%s
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES''' %(dir_name_path)
pam_file.write(pam_text_info+"\n")
pam_file.close() f_passwd = open('vuser_passwd','a')
f_passwd.write(C_to_E + "\n" + C_to_E+"" + "\n")
f_passwd.flush()
f_passwd.close
os.system('db_load -T -t hash -f vuser_passwd vuser_passwd.db')
print"成功创建ftp账户%s和认证文件"%(C_to_E)
os.system("chmod 777 -R %s" %(dir_name_path))
os.system("service vsftpd restart")
os.system('db_load -T -t hash -f vuser_passwd vuser_passwd.db')
os.system("service vsftpd restart")
time.sleep(5)

vsftp管理用户的更多相关文章

  1. MVC4做网站后台:用户管理 —用户

    这块进行用户管理,可以浏览.查询已注册的用户,修改用户资料,删除用户等.没有做添加用户,不知是否必要.列表页还是使用easyui的datagrid.这个思路跟用户组的方式差不多. 1.接口Interf ...

  2. 【Java EE 学习 30】【闪回】【导入导出】【管理用户安全】【分布式数据库】【数据字典】【方案】

    一.闪回 1.可能的误操作 (1)错误的删除了记录 (2)错误的删除了表 (3)查询历史记录 (4)撤销已经提交了的事务. 2.对应着以上四种类型的误操作,有四种闪回类型 (1)闪回表:将表回退到过去 ...

  3. JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)

    1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...

  4. 配置Tomcat6的管理用户

    在Tomcat上发布war之前需要配置一个管理用户以进入上传页面,而配置就是通过修改/usr/local/tomcat6/conf/tomcat-users.xml这个文件进行的.下面是修改后的文字: ...

  5. 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息]

    三.使用Azure AD管理用户信息 在上一章我们采用OpenID的方案和Azure AD交互进行身份验证,本章节我们继续了解如何在Azure AD中创建用户,列出用户信息,修改用户信息和删除用户信息 ...

  6. 关于 ASP.NET MVC 4 如果管理用户

    很久没上来写博客,因为自己没写博客的日子里去学了一下OBJECTIVE-C 和 ASP.NET MVC.最近在学ASP.NET MVC 4,有个问题一直在困扰着我,就是怎样管理用SIMPLE MEMB ...

  7. vsftp虚拟用户登录配置详解

    一.安装:1.安装Vsftpd服务:# yum install vsftpd 2.安装DB4部件包:这里要特别安装一个db4的包,用来支持文件数据库.# yum install db4-utils 二 ...

  8. Unix/Linux环境C编程入门教程(33) 命令和鼠标管理用户和组

    Linux是一个多用户.多任务的实时操作系统,允许多人同时访问计算机, 并同时运行多个任务.UNIX系统具有稳定.高效.安全.方便.功能强大等诸多优点,自20世纪70年代开始便运行在许多大型和小型计算 ...

  9. ThinkPHP 3 的CURD管理用户信息 修改和删除

    本节课大纲: 一.ThinkPHP 3 的CURD管理用户信息 http://localhost:8080/thinkphp/index.php/User/index 访问User类的index方法 ...

随机推荐

  1. 字典树(增删改查 HDU 5687)

    度熊手上有一本神奇的字典,你可以在它里面做如下三个操作: 1.insert : 往神奇字典中插入一个单词 2.delete: 在神奇字典中删除所有前缀等于给定字符串的单词 3.search: 查询是否 ...

  2. 数学基础系列(六)----特征值分解和奇异值分解(SVD)

    一.介绍 特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中.而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景. 奇异值分解是一个有着很明显的物理意义的一种方法,它可 ...

  3. ASP .Net Core MVC如何利用vue提交包含List属性的form表单

    前言 遇到这个问题,是由于自己在mvc项目中使用vue而并不想jquery(人嘛,就是要折腾),并且表单中的一个属性是一个集合. 研究了下Razor如何实现的,用jquery感觉就挺麻烦了,vue用在 ...

  4. DirectX11 Windows Windows SDK--28 计算着色器:波浪(水波)

    前言 有关计算着色器的基础其实并不是很多.接下来继续讲解如何使用计算着色器实现水波效果,即龙书中所实现的水波.但是光看代码可是完全看不出来是在做什么的.个人根据书中所给的参考书籍找到了对应的实现原理, ...

  5. 开发者必须要了解的架构技术趋势:Service Mesh

    内容概要 Service Mesh 是干啥的?解决了什么问题? Service Mesh 的特性 Service Mesh 的主流实现有哪些? 1. Service Mesh 是什么? 简单来讲,Se ...

  6. [洛谷P4178] Tree (点分治模板)

    题目略了吧,就是一棵树上有多少个点对之间的距离 \(\leq k\) \(n \leq 40000\) 算法 首先有一个 \(O(n^2)\) 的做法,枚举每一个点为起点,\(dfs\) 一遍可知其它 ...

  7. 用tensorflow的Eager执行模式

    一.即时执行模式 import tensorflow as tfimport tensorflow.contrib.eager as tfetfe.enable_eager_execution() a ...

  8. (1)C#连接数据库:Connection对象

    连接数据库:Connection对象 1.Connection对象概述   Connection对象是一个连接对象,主要功能是建立与物理数据库的连接.其主要包括4种访问数据库的对象类,也可称为数据提供 ...

  9. idea搭建springmvc(maven版)

    一.创建maven项目 (1)选择 file > new > project (2)填写对应信息,一路点击next 配置自己本地的maven,继续next 命名项目名(随意写,但要易懂), ...

  10. Commvault逻辑架构及组件说明

    在学习和使用Commvault软件的过程中,经常会碰到一些术语和缩写,初学者可能并不是很清楚这些术语和缩写的具体含义,接下来我们梳理一下Commvault软件中这些属于和缩写的含义,有可能一次不能梳理 ...