添加和删除虚拟用户

#!/bin/bash
echo -n "现有的虚拟用户:"
vuser=$(cat /etc/vsftpd/vuser.list |sed ‘2~2d‘)
echo $vuser
vvuser(){
while true
do
    read -p "请输入新建虚拟用户的名称:" vvuser
    if [[ $vvuser == "" ]]
    then
        echo "用户名不能为空,重新输入"
    echo $vvuser>>/etc/vsftpd/vuser.list
    elif grep $vvuser /etc/vsftpd/vuser.list
        then
                echo "虚拟用户已经存在,重新输入"
        else
        echo $vvuser>>/etc/vsftpd/vuser.list
        vpass
        trace
        menu
        service vsftpd restart &>/dev/null
        break
        fi
done
}
vpass(){
while true
do
read -s -p "请输入虚拟用户$vvuser的密码:" vpass
echo
if ((${#vpass}==0))
then
    echo "密码不能为空,重新输入"
elif ((${#vpass}<=3))
then
    echo "密码长度要大于3位,重新输入"
else
echo $vpass>>/etc/vsftpd/vuser.list
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
break
fi
done
}
config1(){
    cd /etc/vsftpd/vuser_dir/
    touch $vvuser
    echo anon_world_readable_only=yes >$vvuser
    echo local_root=$trace/$vvuser >>$vvuser
}
config2(){
    chmod o+w $trace/$vvuser
    cd /etc/vsftpd/vuser_dir/
        touch $vvuser
        echo anon_world_readable_only=yes >$vvuser
        echo local_root=$trace/$vvuser >>$vvuser
    echo anon_upload_enable=yes >>$vvuser

}
trace(){
    while true
    do
        read -p "请输入虚拟用户的根目录:" trace
        if [[ $trace == "" ]]
        then
            echo "虚拟用户的根目录不能为空,重新输入"
        elif [[ $trace == "/" ]]
        then
            echo "虚拟用户的根目录不能为/,重新输入"
        elif [[ $(echo $trace |awk ‘{print substr($0,1,1)}‘) != "/" ]]
        then
            echo "虚拟用户的根目录必须是绝对路径,重新输入"
        else
            mkdir -p $trace/$vvuser
            touch $trace/$vvuser/$vvuser
            break
        fi
    done
}
menu(){
    echo -e "\t\t\t***选择虚拟用户$vvuser的权限***"
    echo -e "\t1.\t设置具备下载权限"
    echo -e "\t2.\t设置具备上传下载权限"
    read -p "你的选择是:" choice
    if (($choice==1))
    then
        config1
    else
        config2
    fi        
}
vvuser
===

#!/bin/bash
echo -n "现有的虚拟用户:"
vuser=$(cat /etc/vsftpd/vuser.list |sed ‘2~2d‘)
echo  $vuser
vuser(){
while true
do
    read -p  "请输入要删除的虚拟用户名:" vvuser
        if [[ $vvuser == "" ]]
        then
                echo "用户名不能为空,重新输入"
        continue
        elif ! grep $vvuser /etc/vsftpd/vuser.list
    then
               echo "虚拟用户不存在,重新输入"
    else
        deluser
        delnamefile
           fi
done
}
deluser(){
    user=($(cat /etc/vsftpd/vuser.list))
    for i in $(seq 0 2 $((${#user[@]}-1)))
    do
        if [[ ${user[$i]} == $vvuser ]]
        then
            sed -i $(($i+1)),$(($i+2))d /etc/vsftpd/vuser.list
        fi
    done
}
delnamefile(){
    rm -rf $(grep local_root /etc/vsftpd/vuser_dir/$vvuser |awk -F‘=‘ ‘{print $2}‘)
    rm -rf /etc/vsftpd/vuser_dir/$vvuser
    rm -rf /etc/vsftpd/vuser.db
    db_load -T -t hash -f /etc/vsftpd/vuser.list vuser.db
    service vsftpd restart &>/dev/null
    echo "删除虚拟用户$vvuser成功"
    break
}
vuser

添加和删除虚拟用户,布布扣,bubuko.com

时间: 2024-11-09 05:32:15

添加和删除虚拟用户的相关文章

LNMP添加、删除虚拟主机及伪静态使用教程

本文主要介绍LNMP一键安装包添加虚拟主机.删除虚拟主机及如何使用伪静态. 一.添加虚拟主机通俗点就是在VPS/服务商上添加一个网站(域名). 需要执行如下命令:/root/vhost.sh 执行后会出现如下界面: 这里输入要绑定的域名,比如我想添加www.vpser.net 这个网站,那么直接输入www.vpser.net 然后回车,如果输入一个或多个字母按住Ctrl再按Backspace键删除,紧接会出现如下提示: 这一步提示是否要在www.vpser.net这个网站添加更多的域名,如想把v

自动添加VSFTP服务器虚拟用户脚本

脚本可能写的还不太完善,目前能考虑到的有这么三点: 1.用户名和密码不能为空 2.用户名不能重复 3.当输入用户名正确而密码为空的时候,会自动将之前输入的用户也删除也就是说本次输入失败 4.备份每次修改的用户配置文件,并将保存文件打上时间戳 后面待改进的可以添加输入用户名和字符数量限制等功能 #!/bin/bash time=`date +%Y%m%d%k%M` bakfile="user_logn.bak$time" cp /etc/vsftpd/user_login /etc/vs

bash脚本添加、删除Linux用户

bash脚本:面向过程的编程中 顺序执行:默认法则,逐条执行各语句 选择执行:分支,条件判断,符合条件的分支予以执行: 循环执行:将同一段代码反复执行有限次,所以,循环必须有退出条件,否则将陷入死循环: 程序代码:语句和表达式组成 控制语句: bash循环控制语句: for while until for循环: for var_Name in 列表; do 语句1 语句2 ... done for userName in gentoo mandriva debian; do useradd $u

Ansible 从MySQL数据库添加或删除用户

mysql_user - 从MySQL数据库添加或删除用户. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从MySQL数据库添加或删除用户. 要求(在执行模块的主机上) MySQLdb的 选项 参数 需要 默认 选择 注释 append_privs (1.4 加入) no no yes no 将priv定义的权限附加到此用户的现有权限,而不是覆盖现有的权限. check_implicit_admin (1.3 加入) no no yes yes 检查mysql是否允许以

FTP服务学习笔记之基于MySQL+PAM的vsftpd虚拟用户

基于mysql+PAM的vsftpd虚拟用户配置 一.实验说明 操作系统:Redhat5.8_X64bit 实验平台:VMware Workstation 所需要的软件包:pam_mysql-0.7RC1.tar.gz 二.安装所需要程序 1.事先安装好开发环境和mysql数据库 # yum -y groupinstall "Development Tools" "Development Libraries" #yum -y install mysql-server

使用linux FTP虚拟用户搭建FTP服务器

最近接触一个项目,客户需要搭建一台FTP服务器.具体要求是:系统采用red hat 6.4 64位操作系统:创建20个ftp用户,这些用户拥有自己独立的工作目录,并且有上传.下载.删除等权限:创建一个ftp管理用户,这个用户拥有管理以上20个ftp用户目录的权限. 仔细一看要求单单使用本地用户设置属组和文件目录权限控制的方法很难实现以上要求,于是想到使用ftp虚拟用户,而且ftp虚拟用户安全性高,不能登录系统,只能访问ftp服务器. 下面开始在自己的虚拟机环境中根据客户的要求搭建ftp服务器.

在Centos7上使用vsftpd+pam_mysql实现虚拟用户认证

一.安装所需要程序 1.安装开发环境及所需要程序 # yum groupinstall -y "Development Tools" "Server PlatformDevelopment" # yum install -y pam-devel mariadb-devel mariadb-server vsftpd lftp ftp 启动服务: # systemctl start mariadb.service 2.编译安装pam_mysql-0.7RC1 # ta

linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

1.FTP协议:有命令和数据连接两种 命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 被动模式,运行在随机端口 数据传输模式(自动模式):有二进制(mp3,jpg等)和文本(html)两种传输模式 ftp服务器端程序:wu-ftpd:vsftpd pureftpd Filezilla Serv-U ftp客户端程序:CLI文本模式命令:ftp lftp GUI图形界面软件:gftpd FlashFXP Cuteftp Filezilla vsftpd:命名为V

FTP基本工作原理,以及vsftpd虚拟用户的实现

1 ftp ftp是应用层协议,可以跨平台.但也由于是应用层,很多功能无法实现.现在的存储模型有三种:DAS(直接附加存储,硬盘就是),NAS(网络附加存储,网络共享),SAN(块级别共享,更底层) ftp:文件传输协议,监听在21/tcp,只能通过tcp套接字,C/S架构.由于它比http协议更复杂,因此它有许多的文件管理类命令.需要在ftp连接上传输两类数据.第一类就是文件管理类命令,称为命令连接:第二类是数据本身传输,称为数据连接. 客户端第一次连接服务器端时,请求的是21端口,21号端口