Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说vsftp账号_vsftp管理用户,希望能够帮助你!!!。
[root@localhost vsftpd]#cat auto_createftp.py#!/usr/bin/env python#_*_coding:utf-8_*_#date:20180502#author:lihongxing
importtime,os,sysfrom xpinyin importPinyin#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("新文件夹")whileTrue:
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 indifferent_list:
dir_name_path= "/DATA/rocen-ftp/%s"%(i)ifos.path.isdir(dir_name_path):
l=i.decode("utf-8")
ulist.append(l)
ret.append(i)for dir_name inulist:
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+"123" + "\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)
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章