Every process on Debian runs as a user. Users have numeric identifiers (UIDs), groups have GIDs. Permissions and resource limits are assigned per-user and per-group.
Create a user with a home directory:
useradd -m username
The interactive version (prompts for gecos, shell, etc.):
adduser username
Set password:
passwd username
Delete user but keep home directory:
deluser username
Delete user and home:
deluser --remove-home username
Create a group:
groupadd groupname
Add user to group:
usermod -aG groupname username
The -a appends; without it, existing groups are replaced.
List groups for user:
groups username
sudo: run commands with sudodocker: use Docker without sudoaudio: access audio devicesvideo: access video deviceswww-data: web server process owneradm: read log filescut -d: -f1 /etc/passwd
View full user info:
getent passwd username
/etc/passwd: user accounts (readable, no passwords)/etc/shadow: hashed passwords (root-only)/etc/group: group definitions/etc/gshadow: group passwords (rarely used)
Changes made with useradd, usermod, groupadd update these files automatically. Manual editing is possible but error-prone; use the commands instead.