Linux/User Management

From Dev Wiki
Jump to navigation Jump to search

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:

Note: This will only work if you have sudo/root permissions from the current 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 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>