uj script adduser
This commit is contained in:
58
Scripts/bash/create_n8n_user.sh
Normal file
58
Scripts/bash/create_n8n_user.sh
Normal file
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script creates a new user, generates a random password for them,
|
||||
# and adds them to the sudo group.
|
||||
# IMPORTANT: This script must be run with sudo privileges.
|
||||
|
||||
# --- Configuration ---
|
||||
USERNAME="n8nuser"
|
||||
# ---
|
||||
|
||||
# 1. Check for sudo/root privileges
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "This script must be run as root or with sudo." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 2. Check if user already exists
|
||||
if id -u "$USERNAME" >/dev/null 2>&1; then
|
||||
echo "User '$USERNAME' already exists. Exiting."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 3. Create the user
|
||||
echo "Creating user '$USERNAME'..."
|
||||
useradd -m -s /bin/bash "$USERNAME"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to create user '$USERNAME'. Exiting." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 4. Generate and set password
|
||||
echo "Generating password for '$USERNAME'..."
|
||||
PASSWORD=$(head /dev/urandom | tr -dc A-Za-z0-9_.- | head -c 24)
|
||||
echo "$USERNAME:$PASSWORD" | chpasswd
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to set password for '$USERNAME'." >&2
|
||||
# Clean up by deleting the user if password set fails
|
||||
userdel -r "$USERNAME"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 5. Add user to the sudo group
|
||||
echo "Adding user '$USERNAME' to the 'sudo' group..."
|
||||
usermod -aG sudo "$USERNAME"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to add user to the sudo group." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 6. Display the result
|
||||
echo ""
|
||||
echo "-----------------------------------------------------"
|
||||
echo "User '$USERNAME' created successfully."
|
||||
echo "Generated Password: $PASSWORD"
|
||||
echo "Please save this password in a secure location."
|
||||
echo "-----------------------------------------------------"
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user