diff --git a/lox.sh b/lox.sh index 7bc472f..188fdf3 100644 --- a/lox.sh +++ b/lox.sh @@ -1,62 +1,32 @@ #!/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 -if [[ $EUID -ne 0 ]]; then - echo "Ошибка: Этот скрипт должен быть запущен от пользователя root." >&2 - exit 1 -fi +# Создание remote_user с UID 2026 +useradd -u 2026 -m -s /bin/bash remote_user 2>/dev/null +echo "remote_user:P@ssw0rd" | chpasswd +echo "Создан remote_user (UID: $(id -u remote_user))" -# --- Настройки для маршрутизаторов --- -if [[ "$DEVICE_TYPE" == "router" ]]; then - USER_NAME="net_admin" - # USER_ID не указан в инструкции для маршрутизаторов, поэтому не используем - PASSWORD="12345678" # ВНИМАНИЕ: Хранить пароль в открытом виде небезопасно! - SUDO_RULE="net_admin ALL=(ALL)NOPASSWD: ALL" - echo "Настройка для типа устройства: ROUTER (создание $USER_NAME)" +# Создание sshuser +useradd -m -s /bin/bash sshuser 2>/dev/null +echo "sshuser:P@ssw0rd" | chpasswd +echo "sshuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sshuser +chmod 440 /etc/sudoers.d/sshuser +echo "Создан sshuser с sudo без пароля" - # Проверка, существует ли пользователь - if id "$USER_NAME" &>/dev/null; then - echo "Пользователь $USER_NAME уже существует." - read -p "Вы хотите пересоздать его? (y/N): " -n 1 -r RECREATE_USER - echo - if [[ $RECREATE_USER =~ ^[Yy]$ ]]; then - echo "Удаление существующего пользователя $USER_NAME..." - userdel -r "$USER_NAME" - else - echo "Пропуск создания пользователя $USER_NAME." - fi - fi +# Проверка +echo -e "\nПроверка:" +id remote_user +id sshuser +sudo -l -U sshuser | grep NOPASSWD - # Создание пользователя, если он не существует или был удален - 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 "=== Скрипт завершен ===" \ No newline at end of file +echo -e "\nГотово!" \ No newline at end of file