Ostatnio aktywny 1751446135

yaisme's Avatar yaisme zrewidował ten Gist 1751446135. Przejdź do rewizji

1 file changed, 43 insertions

addme.sh(stworzono plik)

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