Understanding The Linux /etc/passwd File

The file’s name originates from one of its initial functions as it contained the data used to verify passwords of user accounts. However, on modern Unix systems the security-sensitive password information is instead often stored in a different file using shadow passwords, or other database implementations.

To view an example of a user in the passwd file, run the following command specifying what user you’d like to view. In my example, I’ve grepped the mysql user.

# cat /etc/passwd | grep mysql

To see all users, run it without the grep as I’ve done here:

# cat /etc/passwd


The fields, in order from left to right, are:

  1. Username: It is used when user logs in. It should be between 1 and 32 characters in length.
  2. Password: An x character indicates that encrypted password is stored in /etc/shadow file.
  3. User ID (UID): Each user must be assigned a user ID (UID). UID 0 (zero) is reserved for root and UIDs 1-99 are reserved for other predefined accounts. Further UID 100-999 are reserved by system for administrative and system accounts/groups.
  4. Group ID (GID): The primary group ID (stored in /etc/group file)
  5. User ID Info: The comment field. It allow you to add extra information about the users such as user’s full name, phone number etc. This field use by finger command.
  6. Home directory: The absolute path to the directory the user will be in when they log in. If this directory does not exists then users directory becomes /
  7. Command/shell: The absolute path of a command or shell (/bin/bash). Typically, this is a shell.

How To Change Email Sender Name on WordPress Site

If your WordPress on Linux site is setup to send emails when users register, forget their passwords, or to send notifications when a new post is published, you may notice the senders email looks a little something like this:
Wordpress <>

This can easily be customized to reflect a different sender name.

From the Linux shell, navigate to /var/www/html/wp-includes and open pluggable.php in your favorite editor. I use vim so my command looks like this:

vim /var/www/html/wp-includes/pluggable.php

Search for the string ‘from_name’. This is done by entering


It should take you to a section that looks like this:

$from_name = 'WordPress';

Change ‘WordPress’ to MyBlog, admin, your name or whatever sender name you’d like to use.

Next, search for the string ‘wordpress@’. This is done entering


There are two areas this needs to be changed.¬†The line of code displays ‘’ Change ‘wordpress’ to admin, your name or whatever username you’d like to use. Possibly one of your domain email accounts. Keep in mind, this only changes the username@, not the domain name itself.

When finished, emails will be coming from:

YourNameofChoice <>


How To Make Writing to .bash_history Immediate

In Red Hat Linux, this is accomplished by adding a small script to the system’s profile.d directory. It is possible to edit existing files like bashrc but you may lose those changes when upgrading. I usually create a custom profile script that contains this as well as other global variables and place it at /etc/profile.d. For this post, we’ll create and get this setup.

It’s best if you login or su as root before you begin.

Create the file for the script

vim /etc/profile.d/

Add this to the script


# Location of this script: /etc/profile.d/

# Purpose of script is to makes writing to .bash_history immediate
shopt -s histappend

# End of script

Save the script and exit by typing


and press Enter. This writes and quits out of the vim editor.

Set permissions and ownership of file

chown root:root /etc/profile.d/
chmod 644 /etc/profile.d/

Make the script executable

chmod +x /etc/profile.d/

Log completely out, log back in, run a couple of commands (any commands like history, ls, etc.), and then check the history by running:

cat .bash_history

You should see the last couple of commands you just ran.


A quick break-down of the script itself

The first command changes the .bash_history file mode to append. And the second configures the ‘history -a’ command to be run at the shell. The ‘-a’ immediately writes the current/new lines to the .bash_history file.