From 4ea882d4d0c5368d92c8eedf39daaa960e4ce492 Mon Sep 17 00:00:00 2001
From: cirry <812852553@qq.com>
Date: Mon, 13 Nov 2023 18:01:00 +0800
Subject: [PATCH] push onekey-root.sh
---
onekey-root.sh | 888 ++++++++-----------------------------------------
1 file changed, 140 insertions(+), 748 deletions(-)
diff --git a/onekey-root.sh b/onekey-root.sh
index bad1e75..04c2938 100644
--- a/onekey-root.sh
+++ b/onekey-root.sh
@@ -1,751 +1,143 @@
-
-
-
-
-
-
+# 提示绿色的成功信息
+success_msg() {
+ echo -e "\033[0;32m[$(date +"%F %T")]:\033[0m $*" >&1
+}
+
+customAddUser() {
+ read -p "请输入用户名:" user
+ #使用‐z 可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为 2
+ #没有输入用户名脚本退出后,使用$?查看的返回码为 2
+ if id -u ${user} >/dev/null 2>&1 ; then
+ echo "用户 ${user} 已存在."
+ return 127
+ fi
+ #使用 stty ‐echo 关闭 shell 的回显功能
+ #使用 stty echo 打开 shell 的回显功能
+ # read -s -p "请输入密码:" pass
+ # pass=${pass:-123456}
+ useradd $user
+ echo -e "\n"
+ # echo $user:$pass | chpasswd
+ if [[ $? -eq 0 ]]; then
+ read -p "是否将用户添加入sudo组?(y/n)" confirmAdd
+ if [[ "$confirmAdd" == `echo -e "\n"` || $confirmAdd == "Y" || $confirmAdd == "y" ]]; then
+ usermod -aG sudo cirry
+ fi
+ else
+ return $?
+ fi
+ return $?
+}
+
+customDeleteUser() {
+ read -p "请输入需要删除的用户名:" username
+ deluser --remove-home $username
+ return $?
+}
+
+selectTips(){
+Hostname=( '创建用户' '删除用户' '安装Caddy' '安装Docker' '卸载docker' '安装postgres数据库' '退出' )
+PS3="Please input the number of host: "
+select host in ${Hostname[@]}; do
+ case ${host} in
+ '创建用户')
+ customAddUser
+ if [[ $? -eq 0 ]]; then
+ echo "用户添加成功"
+ else
+ echo "用户添加失败"
+ fi
+ ;;
+ '删除用户')
+ customDeleteUser
+ if [[ $? -eq 0 ]]; then
+ echo "用户删除成功"
+ else
+ echo "用户删除失败"
+ fi
+ ;;
+ '安装Caddy')
+ echo -e "------安装Caddy------\n"
+ sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
+ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
+ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
+ sudo apt update
+ sudo apt install caddy
+ echo -e "------Caddy安装完成------\n"
+ echo -e "------设置开机自启------\n"
+ sudo systemctl enable --now caddy
+ echo -e "------设置开机自启完成------\n"
+ echo -e "Caddy 配置路径为 /etc/caddy/Caddyfile \n"
+ ;;
+ '安装Docker')
+ echo -e "------删除历史docker------\n"
+ for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
+ echo -e "------删除历史docker完成------\n"
+ # Add Docker's official GPG key:
+ sudo apt-get update
+ sudo apt-get install ca-certificates curl gnupg
+ sudo install -m 0755 -d /etc/apt/keyrings
+ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
+ sudo chmod a+r /etc/apt/keyrings/docker.gpg
+
+ # Add the repository to Apt sources:
+ sudo chmod a+r /etc/apt/keyrings/docker.gpg
+ echo \
+ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
+ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
+ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+ sudo apt-get update
+ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
+
+ echo -e "------添加docker组------\n"
+ sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
+ newgrp docker #更新用户组
+ echo -e "------添加docker组完成------\n"
+ ;;
+ '卸载docker')
+ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
+ sudo rm -rf /var/lib/docker
+ sudo rm -rf /var/lib/containerd
+ ;;
+ '安装postgres数据库')
+ sudo apt-get update && sudo apt-get upgrade
+ echo -e "------默认安装当前最新稳定版本------\n"
+ apt-get install postgresql # 默认安装当前最新稳定版本
+ systemctl enable postgresql
+ echo -e "------查看版本号------\n"
+ psql --version
+ echo -e "------开启Postgres的远程访问------\n"
+ ver=$(psql --version | grep -oP '\d+' | head -1)
+ sed -i '/listen_addresses =/s/=.*/= '\''*'\''/' /etc/postgresql/$ver/main/postgresql.conf
+ sed -i '/port =/s/=.*/= '\''5432'\''/' /etc/postgresql/$ver/main/postgresql.conf
+ echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/$ver/main/pg_hba.conf
+ echo -e "------开启Postgres的远程访问完成------\n"
+ echo -e "------重启psql------\n"
+ systemctl restart postgresql
+ echo -e "------设置默认的PostgreSQL用户密码------\n"
+ echo -e "1. 打开终端并以root用户身份登录\n"
+ echo -e "2. 切换到PostgreSQL默认用户postgres:su - postgres\n"
+ echo -e "3. 进入PostgreSQL命令行界面:psql\n"
+ echo -e "4. 在命令行中输入以下:ALTER USER postgres WITH PASSWORD new_password;\n"
+ echo -e " new_password是您想要设置的新密码\n"
+ echo -e "5. 输入\q退出PostgreSQL命令行界面\n"
+ echo -e "------设置默认的PostgreSQL用户密码------\n"
+ ;;
+ '退出')
+ exit
+ ;;
+ *)
+ echo "请选择正确的选项"
+ selectTips;
+ esac
+done
+}
+
+selectTips
\ No newline at end of file