This guide covers adding, removing, and managing users and groups in Linux systems. All commands require root/sudo privileges.
/home/username./bin/bash.sudo adduser username
/home/username.sudo useradd -m -s /bin/bash username
-m: Create home directory-s: Define shellsudo useradd -u 1050 -g users -s /bin/zsh -m username
sudo deluser username
To also remove the home directory:
sudo deluser --remove-home username
Using userdel:
sudo userdel -r username
-r: Removes home and mail spoolsudo usermod [options] username
| Option | Description |
|---|---|
-l |
Change login name |
-d |
Change home directory |
-m |
Move content to new home |
-s |
Change login shell |
-G |
Set groups |
-aG |
Append to additional groups |
sudo usermod -d /home/newdir -m username
sudo usermod -aG sudo username
List all users:
cut -d: -f1 /etc/passwd
User details:
id username
Groups of current user:
groups
sudo addgroup groupname
Alternate:
sudo groupadd groupname
sudo delgroup groupname
Alternate:
sudo groupdel groupname
Change group name:
sudo groupmod -n newname oldname
sudo usermod -aG groupname username
Note: Always use
-aGto prevent removing user from existing groups.
sudo gpasswd -d username groupname
/etc/passwdusername:x:UID:GID:info:/home:/bin/bash/etc/shadow/etc/groupadduser / deluser on Debian/Ubuntu – user-friendly wrappers.usermod -aG to append group memberships.-M in useradd creates user without a home directory./etc/passwd or /etc/group directly.| Task | Command |
|---|---|
| Add user | sudo adduser john |
| Delete user & home | sudo deluser --remove-home john |
| Add user to group | sudo usermod -aG docker john |
| Remove user from group | sudo gpasswd -d john docker |
| Create group | sudo addgroup devs |
| Delete group | sudo delgroup devs |
| Change home directory | sudo usermod -d /home/newdir -m john |
| Change login shell | sudo usermod -s /bin/zsh john |
| View user details | id john |
| List all users | cut -d: -f1 /etc/passwd |
man useraddman usermodman groupaddman passwd