cai/tools/create_root_user.sh

84 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Script to create a user with root permissions and switch to that user
# Usage: ./create_root_user.sh [username] [password]
set -e
# Default values
USERNAME="${1:-rootuser}"
PASSWORD="${2:-rootpass}"
echo "Creating user: $USERNAME"
# Create the user with home directory and bash shell
if id "$USERNAME" &>/dev/null; then
echo "User $USERNAME already exists"
else
sudo useradd -m -s /bin/bash "$USERNAME"
echo "User $USERNAME created"
fi
# Set password for the user
echo "$USERNAME:$PASSWORD" | sudo chpasswd
echo "Password set for $USERNAME"
# Add user to sudo group for root permissions
sudo usermod -aG sudo "$USERNAME"
echo "User $USERNAME added to sudo group"
# Grant passwordless sudo access (full root capabilities)
echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/$USERNAME > /dev/null
sudo chmod 0440 /etc/sudoers.d/$USERNAME
echo "Passwordless sudo access granted to $USERNAME"
echo ""
echo "========================================="
echo "User $USERNAME created with root permissions"
echo "Password: $PASSWORD"
echo "========================================="
echo ""
# Create a startup script for the new user
STARTUP_SCRIPT="/tmp/${USERNAME}_startup.sh"
cat > "$STARTUP_SCRIPT" << 'SCRIPT_EOF'
#!/bin/bash
echo "========================================="
echo "Navigating to /workspace..."
echo "========================================="
cd /workspace || { echo "Failed to navigate to /workspace"; exit 1; }
echo ""
echo "========================================="
echo "Installing CLI tools from ./tools/cli.bash..."
echo "========================================="
if [ -f "./tools/cli.bash" ]; then
bash ./tools/cli.bash
echo ""
echo "========================================="
echo "CLI installation complete!"
echo "========================================="
else
echo "Warning: ./tools/cli.bash not found"
fi
echo ""
echo "========================================="
echo "Setup complete! You are now logged in as $(whoami)"
echo "Current directory: $(pwd)"
echo "========================================="
echo ""
# Start an interactive shell
exec bash -i
SCRIPT_EOF
chmod +x "$STARTUP_SCRIPT"
echo "Switching to user $USERNAME and running setup..."
echo ""
# Switch to the new user and run the startup script
exec sudo -i -u "$USERNAME" bash -c "bash $STARTUP_SCRIPT"