Public repo to distribute scripts and config's
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

45 рядки
1.4 KiB

  1. #!/bin/bash
  2. set -euo pipefail
  3. # Idempotent: safe to re-run — skips existing users, refreshes SSH keys
  4. echo "=== Setting up TF Users ==="
  5. DEBIAN_FRONTEND=noninteractive apt-get install -y zsh >/dev/null 2>&1
  6. add_user() {
  7. local username="$1"
  8. local fullname="$2"
  9. local shell="$3"
  10. local github_user="$4"
  11. if id "$username" &>/dev/null; then
  12. echo "[OK] User '$username' already exists"
  13. else
  14. useradd -m -G sudo -s "$shell" \
  15. -p '$6$w6py6llD3P4FgJR4$EzDQ9yIrpNDskKLAPUQrsBqVnDeBbVaeOzRyJp2R8k7L8IC7SjZEXFYyhxywS7J9r5uw/tB1korefeEbJjUS31' \
  16. -c "$fullname" "$username"
  17. echo "[OK] Created user '$username'"
  18. fi
  19. mkdir -p "/home/$username/.ssh"
  20. chmod 700 "/home/$username/.ssh"
  21. # Refresh SSH keys from GitHub
  22. if wget -qO "/home/$username/.ssh/authorized_keys" "https://github.com/${github_user}.keys" 2>/dev/null; then
  23. chmod 600 "/home/$username/.ssh/authorized_keys"
  24. echo "[OK] Updated SSH keys for '$username' from github.com/${github_user}"
  25. else
  26. echo "[WARN] Could not fetch SSH keys for '$username' from github.com/${github_user}"
  27. fi
  28. chown -R "$username:$username" "/home/$username/.ssh"
  29. }
  30. add_user "delandtj" "Jan De Landtsheer" "/usr/bin/zsh" "delandtj"
  31. add_user "lee" "Lee Smet" "/usr/bin/zsh" "LeeSmet"
  32. add_user "nashaatp" "Peter Nashaat" "/bin/bash" "PeterNashaat"
  33. add_user "hossnys" "Samir Hossny" "/bin/bash" "hossnys"
  34. echo ""
  35. echo "[OK] TF Users setup complete"