diff --git a/bin/update_password.sh b/bin/update_password.sh new file mode 100644 index 0000000..a1a7dd4 --- /dev/null +++ b/bin/update_password.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# 更新密码的函数 +update_password() { + local script_dir="$(dirname "$(realpath "$0")")" + local config_file="$script_dir/../config.json" + + # 加载工具脚本 + source "$script_dir/utils/base.sh" + + # 生成一个长度为16的随机密码 + local new_password=$(gen_password 16) + + # 修改密码 + sed -i 's/你的密码/'"$new_password"'/g' "$config_dir/config.json" + + echo "设置密码成功" +} + +# 调用函数 +update_password \ No newline at end of file diff --git a/bin/utils/base.sh b/bin/utils/base.sh index e5a6e4c..68b3198 100644 --- a/bin/utils/base.sh +++ b/bin/utils/base.sh @@ -84,3 +84,16 @@ install_docker_compose(){ chmod +x /usr/local/bin/docker-compose } + + +# 生成密码 +gen_password() { + local pass_length=$1 # 密码长度作为第一个参数 + local chars='[:alnum:]' # 只允许出现字母和数字 + + local rand + rand=$(< /dev/urandom tr -dc "$chars" | head -c "$pass_length") + + echo "$rand" +} +