Linux System Administration

0 of 84 lessons complete (0%)

Managing User Accounts

Advance User Management and Security

You don’t have access to this lesson

Please register or sign in to access the course content.

User Profiles

User profiles are environment settings loaded at login, defined in dotfiles within a user’s home directory. They control shell behavior, aliases, and environment variables.

Key Profile Files:

  • ~/.profile: For login shells (e.g., SSH). Sets environment variables like PATH.
  • ~/.bashrc: For interactive non-login shells (new terminals). Sets aliases and functions.
  • ~/.bash_profile: If this exists, it’s read by login shells instead of .profile.
  • /etc/profile & /etc/bash.bashrc: System-wide versions of these files for all users.

Example .bashrc content:

# Set custom prompt
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

# User specific aliases
alias ll='ls -alF'
alias grep='grep --color=auto'

Locking Accounts

Locking an account prevents a user from logging in without deleting their data. This is useful for temporary suspensions or security investigations.

To lock the account for user ÿjohnÖ:

sudo usermod -L john

To unlock the account:

sudo usermod -U john

Setting Passwords

The passwd command is used to set or change user passwords.

To set a password for a new user ÿstudentÖ (as root/sudo):

sudo passwd student
New password: Retype new password: passwd: password updated successfully

To force a user to change their password on next login:

sudo chage -d 0 student

Switching Users (su)

The su (substitute user) command allows you to switch to another user account. Using the - or -l flag is recommended as it simulates a full login, loading the target user’s complete environment.

To switch to the root user (and load rootÖs environment):

su -

To switch to user ÿjaneÖ (loading her environment):

su - jane

Switching Groups (newgrp)

The newgrp command allows a user to temporarily change their primary group to another group they are a member of. This is useful when you need to create files with a specific group ownership.

Switch primary group to ÿdevelopersÖ:

newgrp developers

Any new files created in this new shell will have ÿdevelopersÖ as their group owner. Type exit to return to your previous shell.

Removing Users (userdel)

The userdel command is used to remove a user account. Using the -r flag is highly recommended to also remove the user’s home directory and mail spool.

To remove a user ÿtempuserÖ and their home directory:

sudo userdel -r tempuser

To remove a user but keep their home directory (for data preservation):

sudo userdel olduser