CentOS中管理vsftpd虚拟用户脚本

使用方法:

 代码如下 复制代码

[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 = 你虚拟用户映射到本地的实体用户

时间: 2024-09-20 09:34:13

CentOS中管理vsftpd虚拟用户脚本的相关文章

centos 6.0 vsftpd虚拟用户配置总结

如果你已经对pam有所了解,请跳过,我知道的可能还不如你多.你不感兴趣也请跳过,因为不看这个也可配置. 用户 <-> vsftpd <-> PAM模块 <-> 用户和密码数据库 vsftpd用了一种很聪明同时也是unix/linux规范的方法来认证用户,就是PAM.大家对于PAM,也许有些陌生,但是一直在用.所谓PAM,英文是:Pluggable Authentication Modules,可拔插认证模    块(不知道这样翻译对不对).看见plug这个关键字,就知道

ubuntu下vsftpd虚拟用户配置

一.业务要求 现在要求创建一个FTP账号ailanni,该账号只能登录到/www目录下,不能切换到上级目录.同时处于安全考虑还要求该账号上传的文件权限为644,即上传的文件具有可读可写权限,但是没有可执行权限. 除此之外还要求该用户不能是系统用户,即使用vsftpd的虚拟用户. 要求看起来比较简单,下面我们开始进行配置. PS:以下实验全部在ubuntu server 14.04 X64上进行.有关centos的操作可以参考这篇文章<烂泥:Vsftpd使用虚拟用户,访问FTP>. 二.vsft

vsftpd虚拟用户与匿名用户配合使用

前几天写过一篇有关vsftpd虚拟用户的文章,今天再来介绍有关vsftpd虚拟用户与匿名用户配合使用的案例. 要求:在公司FTP服务器上,用户ilanni对/data目录下所有的目录都具有管理员权限,即删除.新建.重命名.上传等.而匿名用户可以浏览data目录下的所有目录,其中只对tmp目录具有管理员权限. 这样可以达到只有一个管理员账号,可以对/data目录进行操作,而公司的其他员工帐号都可以浏览/data目录,并且在/data/tmp目录下可以新建自己的目录,并上传文件等权限. 有关vsft

紧急求助:linux vsftpd虚拟用户能上传、下载文件,没有删除权限

问题描述 紧急求助:linux vsftpd虚拟用户能上传.下载文件,没有删除权限 SELinux设置为disable了,文件属主是virtural(virtual是虚拟用户所在的本地用户) 解决方案 写个脚本将文件扫描到就赋予所有权限呢 解决方案二: 把write_enable=yes前面的注释取消试试

判断vsftpd虚拟用户无法登陆故障方法

又是vsftpd虚拟用户无法登陆,以前常用apache用户,这次自己建了一个用户vuser,折腾半天不得要领.   看了上次的无法登陆文章,里面提到了一个方法,就是在服务器上用ftp命令登陆,会提示详细的错误信息,而在客户端则无错误日志.切记切记. ftp>ftp 127.0.0.1 按照步骤执行操作, 在登录输入账号密码的时候会提示详细错误

linux中vsftpd虚拟用户配置脚本示例

每次新安装服务器后,都要进行一系列的配置,安装软件,修改配置等,为了今后更好的部署vsftpd,特此写了个脚本用于部署 登录FTP有三种方式,匿名登录.本地用户登录和虚拟用户登录. 匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous. 本地用户登录:使用系统用户登录,在/etc/passwd中. 虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器. FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的

Centos 6.2中vsftpd虚拟用户的配置

vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BSD.Solaris. HP-UNIX等系统上面,是一个完全免费的.开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征.比如:非常高的安全性需求.带宽限制.良好的可伸缩性.可创建虚拟用户.支持IPv6.速率高等. 之前就有弄过vsftpd,就不再介绍了! 安装: [ro

Vsftpd虚拟用户管理指南

首先我们假定你已经安装了vsftpd,并在/home/vsftpd 目录下建立了以下3个子目录 dbzh1 dbzh2 dbzh3 下面,我们要建3个虚拟用户,密码分别是用户名后加"00" db1 db2 db3 使得 用户db1 的主目录为 dbzh1 ,在该目录下只有只读权限 用户db2 的主目录为 dbzh2,在该目录下只有只读权限 用户db3 的主目录为 dbzh3 ,在该目录下拥有所有权限 创建文本文件loguser.txt 格式如下: user_idpassword&

linux系统中配置vsftpd及用户权限

先确认下安装上了没,可以使用  代码如下 复制代码 [root@localhost sv005-mongodb]# service vsftpd restart Shutting down vsftpd:                                      [  OK  ] Starting vsftpd for vsftpd:                                [  OK  ] 或者使用命令 [root@localhost sv005-mong