创建linux ftp虚拟用户脚本,一键构建

##########################################################
#此为一键创建ftp虚拟用户脚本
#!/bin/bash
#总体思路:创建不可登录用户作为宿主目录,创建pam认证机制,##创建虚拟用户,配置ftp虚拟用户配置表,配置虚拟用户登录权限
rpm -q vsftpd &> /dev/null
if [ $? == 0 ];then
echo “vsftp已经安装,即将进入下一步”
else
echo “vsftp未安装,准备安装”
yum -y install vsftpd

fi

rpm -q vsftpd &> /dev/null
if [ $? == 0 ];then
echo “vsftp已经安装,即将进入下一步”
else
echo “vsftp安装失败,即将退出”
exit 1
fi
echo “正在创建虚拟用户”
cd /etc/vsftpd
mv vsftpd.conf vsftpd.conf.2020
if [ $? == 0 ];then
echo “配置表成功备份,即将写入虚拟用户配置”
else echo “配置表备份失败,不知什么原因,即将退出”
exit 1
fi
touch vsftpd.conf
echo -e “anonymous_enable=NO\nlocal_enable=YES\nwrite_enable=YES\nlocal_umask=022\ndirmessage_enable=YES\nxferlog_enable=YES\nconnect_from_port_20=YES\nxferlog_std_format=YES\nchroot_local_user=YES\nallow_writeable_chroot=YES\nlisten=NO\nlisten_ipv6=YES\npam_service_name=vsftp.vu\nguest_enable=YES\nguest_username=haha\nanon_umask=022\nuserlist_enable=YES\ntcp_wrappers=YES\nuser_config_dir=/etc/vsftpd/name.dir” > vsftpd.conf
if [ $? == 0 ];then
echo “配置写入成功,继续下一步”
else echo “配置写入失败,我的错”
exit 1
fi
touch name.list
echo -e “user1\n666\nuser2\n666\nuser3\n666” > name.list
if [ $? == 0 ];then
echo “虚拟用户用户名密码已经写入”
else echo “虚拟用户用户名密码写入失败,请检查”
exit 1
fi
rpm -q libdb-utils &> /dev/null
if [ $? == 0 ];then
echo “即将进行pam认证搭建”
else echo “db工具未安装,即将进行安装”
yum -y install libdb-utils &> /dev/null
fi
db_load -T -t hash -f name.list name.db &> /dev/null
file name.db
if [ $? == 0 ];then
echo “密码已经导入hash算法”
else echo “密码导入失败,请检查”
exit 1
fi
cd /etc/pam.d
touch vsftp.vu
echo -e “auth required pam_userdb.so db=/etc/vsftpd/name\naccount required pam_userdb.so db=/etc/vsftpd/name” > vsftp.vu
if [ $? == 0 ];then
echo “pam认证写入完成,进行下一步”
else echo “pam认证写入失败,请检查”
exit 1
fi
useradd -d /var/ftproot -s /sbin/nologin haha &> /dev/null
chmod 755 /var/ftproot
echo “虚拟用户haha已经添加”
mkdir /var/user1 && chown -R haha /var/user1 &> /dev/null
mkdir /var/user2 && chown -R haha /var/user2 &> /dev/null
if [ $? == 0 ]||[ $? == 1 ];then
echo “user已添加,即将进行登录设置”
else echo “user添加失败,检查下吧”
exit 1
fi
mkdir /etc/vsftpd/name.dir
if [ $? == 0 ]||[ $? = 1 ];then
echo “创建成功name目录”
else echo “创建name.dir失bai,gg”
exit 1
fi
cd /etc/vsftpd/name.dir
touch user1 user2 user3 &> /dev/null
echo -e “anon_upload_enable=YES\nanon_mkdir_write_enable=YES\nanon_other_write_enable=YES\nanon_max_rate=10000\nlocal_root=/var/user1” > user1
echo -e “anon_max_rate=10000\nlocal_root=/var/user2” > user2
echo “登录配置完成”
echo “即将关闭安全机制及防火墙”
setenforce 0
systemctl stop firewalld
echo “已经关闭,马上开启服务进行使用”
systemctl start vsftpd
systemctl restart vsftpd
echo -e " \n\n\n\n\n\n 恭喜成功部署ftp虚拟用户\n \n 账户:user1密码666具备读写权限,根目录为/var/user1\n\n 账户:user2密码666具备上传下载权限,根目录为/var/user2\n\n 账户:user3密码666具备系统默认权限(上传下载)根目录为/var/ftproot \n\n\n"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值