Edit lox.sh
This commit is contained in:
parent
6a0cca0bf5
commit
b8f762fd3b
78
lox.sh
78
lox.sh
|
|
@ -1,62 +1,32 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# Минимальный скрипт создания пользователей на HQ-SRV
|
||||||
|
# sudo ./minimal_create_users.sh
|
||||||
|
|
||||||
# Скрипт для создания локальных пользователей на серверах и маршрутизаторах
|
# Проверка root
|
||||||
|
[[ $EUID -ne 0 ]] && { echo "Запустите с sudo"; exit 1; }
|
||||||
|
|
||||||
set -e # Завершить выполнение при ошибке
|
echo "Создание пользователей на HQ-SRV..."
|
||||||
|
|
||||||
echo "=== Скрипт создания локальных пользователей ==="
|
# Удаляем существующих пользователей (если нужно пересоздать)
|
||||||
|
# userdel -r remote_user 2>/dev/null
|
||||||
|
# userdel -r sshuser 2>/dev/null
|
||||||
|
|
||||||
# Проверка запуска от root
|
# Создание remote_user с UID 2026
|
||||||
if [[ $EUID -ne 0 ]]; then
|
useradd -u 2026 -m -s /bin/bash remote_user 2>/dev/null
|
||||||
echo "Ошибка: Этот скрипт должен быть запущен от пользователя root." >&2
|
echo "remote_user:P@ssw0rd" | chpasswd
|
||||||
exit 1
|
echo "Создан remote_user (UID: $(id -u remote_user))"
|
||||||
fi
|
|
||||||
|
|
||||||
# --- Настройки для маршрутизаторов ---
|
# Создание sshuser
|
||||||
if [[ "$DEVICE_TYPE" == "router" ]]; then
|
useradd -m -s /bin/bash sshuser 2>/dev/null
|
||||||
USER_NAME="net_admin"
|
echo "sshuser:P@ssw0rd" | chpasswd
|
||||||
# USER_ID не указан в инструкции для маршрутизаторов, поэтому не используем
|
echo "sshuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sshuser
|
||||||
PASSWORD="12345678" # ВНИМАНИЕ: Хранить пароль в открытом виде небезопасно!
|
chmod 440 /etc/sudoers.d/sshuser
|
||||||
SUDO_RULE="net_admin ALL=(ALL)NOPASSWD: ALL"
|
echo "Создан sshuser с sudo без пароля"
|
||||||
echo "Настройка для типа устройства: ROUTER (создание $USER_NAME)"
|
|
||||||
|
|
||||||
# Проверка, существует ли пользователь
|
# Проверка
|
||||||
if id "$USER_NAME" &>/dev/null; then
|
echo -e "\nПроверка:"
|
||||||
echo "Пользователь $USER_NAME уже существует."
|
id remote_user
|
||||||
read -p "Вы хотите пересоздать его? (y/N): " -n 1 -r RECREATE_USER
|
id sshuser
|
||||||
echo
|
sudo -l -U sshuser | grep NOPASSWD
|
||||||
if [[ $RECREATE_USER =~ ^[Yy]$ ]]; then
|
|
||||||
echo "Удаление существующего пользователя $USER_NAME..."
|
|
||||||
userdel -r "$USER_NAME"
|
|
||||||
else
|
|
||||||
echo "Пропуск создания пользователя $USER_NAME."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Создание пользователя, если он не существует или был удален
|
echo -e "\nГотово!"
|
||||||
if ! id "$USER_NAME" &>/dev/null; then
|
|
||||||
echo "Создание пользователя $USER_NAME..."
|
|
||||||
useradd "$USER_NAME" # Не указываем UID echo "Пользователь $USER_NAME создан."
|
|
||||||
fi
|
|
||||||
# Установка пароля
|
|
||||||
echo "Установка пароля для $USER_NAME..."
|
|
||||||
echo "$USER_NAME:$PASSWORD" | chpasswd
|
|
||||||
echo "Пароль установлен."
|
|
||||||
|
|
||||||
# Добавление права sudo без пароля
|
|
||||||
SUDOERS_FILE="/etc/sudoers.d/user-$USER_NAME-permissions" # Лучше создать отдельный файл
|
|
||||||
echo "Добавление разрешений sudo для $USER_NAME в $SUDOERS_FILE..."
|
|
||||||
# Проверяем, существует ли уже правило
|
|
||||||
if grep -Fxq "$SUDO_RULE" /etc/sudoers || [[ -f "$SUDOERS_FILE" ]] && grep -Fxq "$SUDO_RULE" "$SUDOERS_FILE"; then
|
|
||||||
echo "Правило sudo для $USER_NAME уже существует."
|
|
||||||
else
|
|
||||||
# echo "$SUDO_RULE" >> /etc/sudoers # Не рекомендуется редактировать /etc/sudoers напрямую
|
|
||||||
echo "$SUDO_RULE" > "$SUDOERS_FILE"
|
|
||||||
chmod 440 "$SUDOERS_FILE"
|
|
||||||
echo "Разрешения sudo добавлены в $SUDOERS_FILE."
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Настройка для маршрутизатора завершена."
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "=== Скрипт завершен ==="
|
|
||||||
Loading…
Reference in a new issue