1. [root@localhost vsftpd]# cat auto_createftp.py
  2. #!/usr/bin/env python
  3. #_*_coding:utf-8_*_
  4. #date:20180502
  5. #author:lihongxing
  6.  
  7. import time,os,sys
  8. from xpinyin import Pinyin
  9. #import pypinyin
  10. #from pypinyin import pinyin,lazy_pinyin
  11.  
  12. '''
  13. 次脚本为自动创建ftp用户和密码,减少运维对ftp的操作,给xx部门使用。
  14. 当ftp根目录下有新的目录时,自动把目录转换成账户和密码
  15. pinyin模块把汉字转换成拼音,用于ftp用户和密码
  16. 使用方式:
  17. 1:初次使用可以先建个管理员帐号,指到ftp根目录
  18. 2:使用管理员帐号在根目录加目录即可,然后此脚本自动创建用户指到该目录
  19. '''
  20. if sys.getdefaultencoding() != 'utf-8':
  21. reload(sys)
  22. sys.setdefaultencoding('utf-8')
  23.  
  24. p = Pinyin()
  25.  
  26. dir_path_info = 'ls /DATA/rocen-ftp/'
  27. dir_ret = os.popen(dir_path_info)
  28. ls_ret = dir_ret.read()
  29. ret = ls_ret.strip(" ").split("\n")
  30. ret.append("新文件夹")
  31.  
  32. while True:
  33. new_dir_path_info = 'ls /DATA/rocen-ftp/'
  34. new_dir_ret = os.popen(new_dir_path_info)
  35. new_ls_ret = new_dir_ret.read()
  36. new_ret = new_ls_ret.strip(" ").split("\n")
  37. different_list = list(set(new_ret).difference(set(ret)))
  38. #print "ret:",ret,"new_ret:",new_ret
  39. if len(different_list) >0:
  40. ulist = []
  41. for i in different_list:
  42. dir_name_path = "/DATA/rocen-ftp/%s"%(i)
  43. if os.path.isdir(dir_name_path):
  44. l =i.decode("utf-8")
  45. ulist.append(l)
  46. ret.append(i)
  47. for dir_name in ulist:
  48. C_to_E = p.get_pinyin(dir_name,splitter='')
  49. #print C_to_E
  50.  
  51. pam_path = './vuser_conf/' + C_to_E
  52. pam_file = open(pam_path,'w+')
  53. pam_text_info = '''local_root=%s
  54. write_enable=YES
  55. anon_umask=022
  56. anon_world_readable_only=NO
  57. anon_upload_enable=YES
  58. anon_mkdir_write_enable=YES
  59. anon_other_write_enable=YES''' %(dir_name_path)
  60. pam_file.write(pam_text_info+"\n")
  61. pam_file.close()
  62.  
  63. f_passwd = open('vuser_passwd','a')
  64. f_passwd.write(C_to_E + "\n" + C_to_E+"" + "\n")
  65. f_passwd.flush()
  66. f_passwd.close
  67. os.system('db_load -T -t hash -f vuser_passwd vuser_passwd.db')
  68. print"成功创建ftp账户%s和认证文件"%(C_to_E)
  69. os.system("chmod 777 -R %s" %(dir_name_path))
  70. os.system("service vsftpd restart")
  71. os.system('db_load -T -t hash -f vuser_passwd vuser_passwd.db')
  72. os.system("service vsftpd restart")
  73. 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. dp-完全背包

    (  推荐 : http://blog.csdn.net/insistgogo/article/details/11081025 ) 问题描述 : 已知一个容量为 V 的背包 和 N 件物品 , 第 ...

  2. Jenkins 应用

    一.Jenkins Linux shell集成 新建任务 shell-freestyle-job,选择Freestyle project,点击[确定] ​ 添加描述,This is my first ...

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

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

  4. LightningChart® .NET 8.5版重磅上线,新年特惠

    新年回馈用户 新年伊始,全球领先的数据可视化图表工具LightningChart®正式发布了.Net 8.5版本,新版软件在外观.功能和用户体验上都做了突破性的改进.LightningChart®同时 ...

  5. Liunx创建到部署ASP.NET Core项目从零开始-----使用Centos7

    一.搭建环境 1..注册Microsoft密钥和源 执行命令:sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages ...

  6. 【学习笔记】Linux基础(零):预备知识

    学习笔记(连载)之Linux系列 Note:本学习笔记源自<鸟哥的Linux私房菜(基础学习篇)>一书,为此书重要内容的摘要和总结,对于一些常识性的知识不再归纳 新型冠状病毒引发的肺炎战& ...

  7. Spring Cloud中Eureka注册显示UNKNOWN问题

    这是由于application.yml里spring没有配置实例造成的

  8. 今天你上班了吗?来聊聊一个隐蔽了 5 年的BUG!

    前言 今天,我们要揭晓一个 FineUI 隐藏最深的一个BUG,这个问题从 2014-07-30 发布 FineUIPro v1.0.0 就一直存在,直到最新于 2020-01-10 发布的 v6.1 ...

  9. SASS用法入门

    本文参考了 阮一峰 老师对 SASS 用法的讲解. 学过 CSS 的人都知道,它不是一种编程语言,在日常的开发中,经常要写大量的 css 代码,有很多的重复代码,效率很低.Sass 是一个 CSS 的 ...

  10. Ceph 存储集群7-故障排除

    Ceph 仍在积极开发中,所以你可能碰到一些问题,需要评估 Ceph 配置文件.并修改日志和调试选项来纠正它. 一.日志记录和调试 般来说,你应该在运行时增加调试选项来调试问题:也可以把调试选项添加到 ...