TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #263 1.49K
Автоматизация создания пользователя в Linux

Каждый раз настраивать нового юзера вручную - скучно. Особенно если нужно: создать пользователя, выдать sudo, настроить SSH-доступ, прописать алиасы и окружение

🛠 Решается скриптом (create_user.sh):


#!/bin/bash

USERNAME="$1"
PUBKEY_URL="$2" # URL к публичному ключу или путь к файлу

if [[ -z "$USERNAME" || -z "$PUBKEY_URL" ]]; then
echo "Usage: $0 <username> <pubkey_url_or_file>"
exit 1
fi

# 1. Создание пользователя
useradd -m -s /bin/bash "$USERNAME"

# 2. Добавление в sudoers
usermod -aG sudo "$USERNAME"

# 3. Настройка SSH
HOME_DIR="/home/$USERNAME"
mkdir -p "$HOME_DIR/.ssh"
chmod 700 "$HOME_DIR/.ssh"

# Подгружаем ключ
if [[ "$PUBKEY_URL" =~ ^http ]]; then
curl -s "$PUBKEY_URL" -o "$HOME_DIR/.ssh/authorized_keys"
else
cp "$PUBKEY_URL" "$HOME_DIR/.ssh/authorized_keys"
fi

chmod 600 "$HOME_DIR/.ssh/authorized_keys"
chown -R "$USERNAME:$USERNAME" "$HOME_DIR/.ssh"

# 4. Aliases и welcome message
cat <<EOF >> "$HOME_DIR/.bashrc"

# --- Custom Setup ---
alias ll='ls -alF'
alias gs='git status'
echo "Добро пожаловать, $USERNAME!"
EOF

chown "$USERNAME:$USERNAME" "$HOME_DIR/.bashrc"

echo "[+] Пользователь $USERNAME создан и готов к работе!"


▪️ Пример использования:


./create_user.sh dev1 https://example.com/dev1.pub


или


./create_user.sh admin1 ~/.ssh/id_rsa.pub


Скрипт подходит для CI/CD, dev-серверов, временных пользователей или быстрого поднятия окружения в cloud-инстансах.

BashTex 📱 #bash
  • 👍 8
  • 🔥 1
More from @bash_tex
  1. Oct 13, 2026openat2(): как Linux защищает от выхода за пределы каталога Допустим, приложение должно чи…
  2. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  3. Oct 9, 2026BashTex 📱 #мем
  4. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  5. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  6. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →