User & Group Management
Adding Users
Adding Users
To add a user, the useradd command can be used.
useradd username
If you want to create a user with it's own home directory, this can be done using the -m flag:
useradd -m username
The default contents of a users home directory are defined within the /etc/skel directory, please see HERE for more info on this.
Adding a system user
useradd -r username
Once created, you'll want to restrict the account by disabling the ability for login, as mentioned here
Default options
There are lots of different options that can be set when creating users and groups, the default options can be viewed using the below command:
useradd -D
Additional options:
-e -expires
-e 2023/12/31
-c - comment
-c "full name"
-s -shell
-s /bin/sh
Groups
When creating a user, you can also specify groups to add the user to, this is done using the -G flag:
useradd -G groupname username
Comments
When creating a user, you can also opt to add a comment using the -c flag, for example this could be a name:
useradd -c "comment" username
====================================================================================
Passwords
====================================================================================
Set Password
Once a user has been created, you can add a password using the passwd command:
passwd username
Once run, you'll be prompted to enter a new password
Changing password
Changing a users password can be done using the passwd command when signed in as that user.
You can either SSH to the server directly using the required user, or access as root and use su- username to access the user. Once accessed, the passwd command can be run alone to change the password:
passwd
You can also change a users password using root:
passwd username
Additional Options:
Checking user password metrics (password expiration, last time password changed)
chage -l username
Forcing password change at logon
chage -d 0 username
Temporary Password
When setting a password, you're able to set a temporary placeholder password that can be used to log in by the user, upon logging in the user will be prompted to change to a password of their choice. This can be achieved by using the -e flag after setting a password
passwd username #set as temp password
passwd -e #sets password as expired
Deleting Users
Deleting Users
Users can be deleted using the userdel command:
userdel username
The above command only removes the user from the system, without removing their home directory.
Remove user and home directory
userdel -r username
Modifying Users
Post Creation, users can be modified using the usermod command.
Add User To Group
usermod -a -G groupname username
Lock/Unlock Users
Lock User Login
usermod -L username
Unlock User Login
usermod -U username
Disable login access
usermod -s /sbin/nologin username
or we can use the change shell (chsh) command:
chsh -s /bin/nologin username
Change User Home Directory
usermod -d /pathtonewhome username
chown username:usergroup /pathtonewhome
Groups
Viewing Groups
groups username
Creating Groups
New groups can be created using the groupadd command:
groupadd groupname
Managing group users
Users can be added/removed from a group with 2 main methods,
- They can be added when initially created, as mentioned above
- They can be added after creation using the usermod command, as mentioned above
- They can be added using the gpasswd command.
Add a user to a group
gpasswd -a username groupnameRemoving a user from a group
gpasswd -d username groupnameAdd user to a group as an admin
gpasswd -A username groupname
Deleting groups
Groups can be removed using the groupdel command, note that this doesn't delete the users that are part of this group.
groupdel groupname
Modifying Groups
There are various group properties that can be modified using the groupmod command.
Change Group Name
groupmod -n newname oldname
Change Group ID
groupmod -g NEWID groupname
No Comments