[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. 【Java编程思想阅读笔记】Java数据存储位置

    Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new ...

  2. hdu 5139 数据的离线处理

    所谓的数据离线处理,就是将所有的输入数据全部读入后,在进行统一的操作,这样当然有好处,比如让你算好多数的阶层,但是输入的每个数是没有顺序的,其实跟可以线性的解决,但是由于没有顺序的输入,这样处理的话复 ...

  3. Java 几道常见String面试题

    String s1="abc"; String s2="abc"; System.out.println(s1==s2); System.out.println ...

  4. matplotlib 条形图

    一.特点 离散数据,数据之间没有直接的关系 二.分类 1.垂直条形图 bar(x, height, width=0.8) # x 为x轴 # height 为y轴 # width 为 条形图的宽度 例 ...

  5. restframework 解析器、渲染器、url控制组件

    一.解析器 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 1.分类 from rest_framework.parsers impo ...

  6. 支撑京东小程序的开发框架 「Taro」

    Taro 简介 现在支持小程序的平台太多了,例如: 微信小程序 QQ小程序 支付宝小程序 百度小程序 字节跳动小程序 针对他们都各自开发一套的话开发成本就太高了. 如果写一套代码,就能开发出适配这么多 ...

  7. Java单体应用 - 导读

    原文地址:http://www.work100.net/training/monolithic 更多教程:光束云 - 免费课程 Java单体应用 本阶段课程将学习如何进行Java单体Web应用开发,经 ...

  8. maven常用的远程仓库地址

    <mirror> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <url>ht ...

  9. .NetCore自定义WebAPI返回Json的格式大小写的三种方式

    .NetCore的Controller/WebAPI可以帮我们将返回结果自动转换为Json格式给前台,而且可以自由设定格式(大写.小写.首字母大写等),我总结了三种方法,对应三种灵活度,供大家参考 ( ...

  10. Qt Installer Framework翻译(7-3)

    控制脚本 对于每个安装程序,您可以指定一个控制脚本,用来与安装程序的部分UI或功能进行交互.控制脚本可以在向导中添加和删除页面,更改现有页面,进行附加检查以及通过模拟用户单击来与UI交互.例如,这允许 ...