准备、创建脚本目录
/data/server/nginx/conf/htpasswd
一、创建文件 htpasswd.sh 内容如下
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH echo "========================================" echo "# A tool like htpasswd for Nginx #" echo "#--------------------------------------#" echo "# Author:Devil http://gongfuxiang.com #" echo "========================================" # file path dir=$(pwd); user="user.conf"; userfile="${dir}/${user}" #set username username="" read -p "Please input username:" username if [ "$username" = "" ]; then echo "Error:username can't be NULL!" exit 1 fi echo "===========================" echo "username was: $username" echo "===========================" #set password unpassword="" read -p "Please input the Password:" unpassword if [ "$unpassword" = "" ]; then echo "Error:Password can't be NULL!" exit 1 fi echo "===========================" echo "Password was: $unpassword" echo "===========================" password=$(perl -e 'print crypt($ARGV[0], "pwdsalt")' $unpassword) # create file if [ ! -f ${userfile} ]; then touch ${userfile} echo "Create Auth file......" fi # delete original user for file in $userfile; do sed -i "/^$MON[\t ]*$username/d" $file done # add user echo $username:$password >> $userfile if [ $? == 0 ]; then echo $username:$password; echo "user add success, Auth file path:${userfile}." else echo "error" exit 1 fi
二、修改虚拟机配置文件 server 中添加以下配置信息
auth_basic "Authorized users only"; auth_basic_user_file /data/server/nginx/conf/htpasswd/user.conf;
三、添加授权用户(根据提示输入用户名和密码)
sh htpasswd.sh
发表评论: