Naposledy aktivní 1751446135

addme.sh Raw
1#!/bin/bash
2
3USERNAME="yaisme"
4PUBKEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBbRbeHr4ikRGKRKYUpO1Dvn408aXrtsdVrtgasNQZkq yaisme-ed25519"
5SUDOERS_LINE="$USERNAME ALL=(ALL) NOPASSWD:ALL"
6
7# Prompt for password
8read -s -p "Enter password for user '$USERNAME': " PASSWORD
9echo
10
11# 1. Check if the user exists
12if id "$USERNAME" &>/dev/null; then
13 echo "User '$USERNAME' already exists."
14else
15 echo "Creating user '$USERNAME'..."
16 useradd -m -s /bin/bash "$USERNAME"
17 echo "$USERNAME:$PASSWORD" | chpasswd
18fi
19
20# 1.2 Add SSH public key
21SSH_DIR="/home/$USERNAME/.ssh"
22AUTHORIZED_KEYS="$SSH_DIR/authorized_keys"
23
24mkdir -p "$SSH_DIR"
25echo "$PUBKEY" > "$AUTHORIZED_KEYS"
26chown -R "$USERNAME:$USERNAME" "$SSH_DIR"
27chmod 700 "$SSH_DIR"
28chmod 600 "$AUTHORIZED_KEYS"
29echo "SSH key added for user '$USERNAME'."
30
31# 2. Check and update sudoers
32SUDOERS_FILE="/etc/sudoers"
33if sudo grep -q "^$USERNAME " "$SUDOERS_FILE"; then
34 # Replace existing line
35 echo "Updating sudoers entry for '$USERNAME'..."
36 sudo sed -i.bak "/^$USERNAME /c\\$SUDOERS_LINE" "$SUDOERS_FILE"
37else
38 # Append new line
39 echo "Adding sudoers entry for '$USERNAME'..."
40 echo "$SUDOERS_LINE" | sudo tee -a "$SUDOERS_FILE" > /dev/null
41fi
42
43echo "Done."
44