Linux/User Management
Terminal commands to manage user accounts in linux.
User Management
Viewing Users
cat /etc/passwd
Accessing Users
It's possible to take control of other user accounts from terminal, without having to log out and back in.
Access sudo account:
sudo su
Access another standard user account:
su <user_name>
Creating a New User
The most basic implementation is:
useradd <user_name>
From there, you can add argument options such as:
-m>
or
--create-home
- Creates a home directory for user.-M
or--no-create-home
- Skips creating a home directory for user.-U>/code> or
--user-group
- Creates a new group with the same name as user.-N
or--no-user-group
- Skips creating a group with the same name as user.-G
or--groups
- Set additional user groups user is part of, during user creation.-r
or--system
- Create a "system" account. Aka, a user with no password, no home directory, and is unable to log in.
Example:
useradd -G admins,webadmin,developers my_user
This creates a user called "my_user" that is associated with groups "admins", "webadmin", and "developers".
Updating User Password
Update password for current account:
passwd
Update password for another user account:
passwd <user_name>
Removing User Account Properties
Remove user home folder:
userdel -r <user_name>
Remove user account entirely:
userdel <user_name>
Group Management
Viewing Groups and Group Membership
View check all existing groups:
cat /etc/group
View all members of a group:
getent group <group_name>
View all groups for given user:
groups <user_name>
Adding and Removing User Groups
Add current user to group:
groupadd <group_name>
Add given user to group:
usermod -a -G <group_name> <user_name>
Remove user from group:
gpasswd -d <user_name> <group_name>