脚本安装vsftpd

#!/bin/bash

SITEROOT=/home/www/

install(){
    vsftp_info=`yum list installed | grep vsftp` 
    if [[ ! -z $vsftp_info ]]
    then 
        echo -n  "vsftp_version:"
        echo $vsftp_info | awk '{print $2}'
        exit 0
    else 
        echo "Vsftpd not installed" 
    fi
    yum install vsftpd -y
    echo "创建用户文件目录"
    mkdir -p /etc/vsftpd/user_conf/
    echo "创建www用户"
    useradd -s /sbin/nologin www
    echo "备份主配置文件vsftpd.conf"
    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
    echo "生成主配置文件vsftpd.conf"
    cat > /etc/vsftpd/vsftpd.conf << EOF
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=yes
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpdlog
xferlog_std_format=YES
ftpd_banner=Welcome to blah FTP service.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=www
user_config_dir=/etc/vsftpd/user_conf
virtual_use_local_privs=YES
log_ftp_protocol=YES
syslog_enable=NO
pasv_min_port=2222
pasv_max_port=2322
EOF
    echo "开始配置PAM认证配置文件"
    echo "备份PAM配置文件vsftpd"
    cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
    cat > /etc/pam.d/vsftpd << EOF
auth    required        /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required        /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
EOF
}

user(){
    if [[ ! -z `grep $1 /root/vsftp.db` ]]
    then
        echo "用户已存在"
        passwd=`sed -nr '/test/{n;p}' vsftp.db`
        echo "查询到此账号的信息"
        echo "username:"$1
        echo "passwd:"$passwd
        exit 0
    fi
    echo "用户不存在,开始创建"
    echo $1 >> /root/vsftp.db
    passwd=`< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c16`
    echo "此账号信息"
    echo $passwd >> /root/vsftp.db
    echo "username:"$1
    echo "passwd:"$passwd
    echo "写入账号信息到db文件"
    db_load -T -t hash -f /root/vsftp.db  /etc/vsftpd/vsftpd_login.db
    echo "生成用户配置文件"
    sitedir="local_root="$SITEROOT$1
    echo $sitedir > /etc/vsftpd/user_conf/$1
    echo "加入用户到chroot配置文件"
    echo $1 >> /etc/vsftpd/chroot_list
    if [[ ! -d $sitedir ]]
    then
        echo $sitedir"不存在,请注意是否用户信息是否正确"
    fi

}

case "$1" in
    user)
        user ${2}
        ;;
    install)
        install
        ;;
    *)
        echo $"Usage: $0 {user|install}"
        exit 2
esac
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值