@@ -10,27 +10,20 @@ echo "[+] Creating user: $USERNAME"
1010if id " $USERNAME " > /dev/null 2>&1 ; then
1111 echo " [i] User $USERNAME already exists"
1212else
13- # Detect Debian-based distros (has /etc/debian_version)
13+ # Detect Debian-based distros
1414 if [ -f /etc/debian_version ]; then
1515 echo " [+] Detected Debian-based system — using adduser"
16- # --disabled-password: user can't log in via password
17- # --gecos "": skip interactive prompts
18- # --home: specify home directory
19- # --shell: specify default shell
2016 adduser --disabled-password --gecos " " --home " $USER_HOME " --shell /bin/bash " $USERNAME "
2117 else
2218 echo " [+] Using useradd for non-Debian system"
23- # -m: create home
24- # -d: set home path
25- # -s: set shell
2619 useradd -m -d " $USER_HOME " -s /bin/bash " $USERNAME "
2720 fi
2821fi
2922
3023echo " [+] Create sysadmin HOME directory and set permissions"
3124# Ensure home directory exists and is owned by the user
3225mkdir -p " $USER_HOME "
33- chown -R " $USERNAME " " $USER_HOME " || true
26+ chown -R " $USERNAME : $USERNAME " " $USER_HOME " || true
3427
3528# Ensure .bashrc exists
3629if [[ ! -f " $USER_HOME /.bashrc" ]]; then
3932
4033# Add alias for the sysadmin user
4134if ! grep -q " alias sysadmin-sim" " $USER_HOME /.bashrc" ; then
42- echo " alias sysadmin-sim='bash /bin/sysadmin-sim/sysadmin-sim-config.sh'" >> " $USER_HOME /.bashrc"
35+ echo " alias sysadmin-sim='sudo /bin/sysadmin-sim/sysadmin-sim-config.sh'" >> " $USER_HOME /.bashrc"
4336 echo " [+] Added sysadmin-sim alias to $USER_HOME /.bashrc"
4437fi
4538
46- echo " [+] Disabling sudo and restricting privilege escalation tools"
39+ # Add the sysadmin user to sudoers securely
40+ if ! grep -q " $USERNAME " /etc/sudoers.d/sysadmin-sim 2> /dev/null; then
41+ echo " $USERNAME ALL=(ALL) NOPASSWD: /bin/sysadmin-sim/sysadmin-sim-config.sh" > /etc/sudoers.d/sysadmin-sim
42+ chmod 440 /etc/sudoers.d/sysadmin-sim
43+ echo " [+] Configured sudo access for $USERNAME "
44+ fi
4745
48- # Create /etc/sudoers.d if missing and restrict sudo usage for sysadmin
46+ echo " [+] Disabling sudo and restricting privilege escalation tools "
4947if command -v sudo > /dev/null 2>&1 ; then
5048 mkdir -p /etc/sudoers.d
5149 echo " $USERNAME ALL=(ALL) NOPASSWD: /bin/false" > /etc/sudoers.d/disable-sudo
@@ -60,9 +58,5 @@ for binary in /usr/bin/su /usr/bin/pkexec; do
6058 fi
6159done
6260
63- # Lock root account if passwd and shadow file are available
64- if command -v passwd > /dev/null 2>&1 && [ -f /etc/shadow ]; then
65- passwd -l root || true
66- fi
67-
6861echo " [+] Setup complete for user: $USERNAME "
62+
0 commit comments