From Fedora Project Wiki

User Accounts

Introduction

Creation and management of users and user groups is one of the fundamental pieces of system administration on multi-user systems such as Linux. The user accounts system provides a secure storage area for users' files and gives users the ability to customize their working environment according to their needs.

Fedora includes two types of accounts - system and non-system accounts. System accounts includes the root user and other system accounts, such as the apache user, that are created during the installation process and used by various system daemons and utilities to perform system-wide tasks. Fedora reserves the first 499 uids for system accounts. This is why they are sometimes reffered to as low ID accounts.

Non-system accounts start from uid 500 and are used for regular users to perform their day-to-day, non-privileged tasks. Usually, the first user account is created during the first boot following the system's installation. After that, user and group accounts can be created with standard procedures.

Ways to Create and Modify User and Group Accounts

As with most other tasks, system administrator can chose between two ways of creating and subsequently modifying user accounts:

  • Command line interface
  • Graphical interface

To start explaining the process that happens in the background during account creation, following tables show listing of the programs used by system administrator and files manipulated in the course of this process:

Command Line Programs
Program Executable Location in the File System Purpose
useradd /usr/sbin/useradd Creates user account
usermod /usr/sbin/usermod Modifies user account
groupadd /usr/sbin/groupadd Creates group account
groupmod /usr/sbin/groupmod Modifies group account
passwd /usr/bin/passwd Sets or changes user's password
chage /usr/bin/chage Changes password expiry information

Table 1.1 - Command Line Programs

Graphical Interface Program
Program Executable Location in the File System Purpose
system-config-users /usr/bin/system-config-users Creates and modifies user and group accounts
System > Administration > Users and groups /usr/bin/system-config-users Creates and modifies user and group accounts

Table 1.2 - Graphical Interface Program

Note.png
The Table 1.2 shows two ways of running the same program
Top raw indicates how to invoke the program from the command line interface. The result is the same as if running program using its icon in the System menu.
Files Containg User and Group Data and Accounts Settings
Absolute Path / File Name Purpose
/etc/passwd Contains essential information about users such as username, password (if shadow passwords are not used), uid, gid of the user's primary group, location of the user's home directory, user's default shell, etc.
/etc/shadow Contains user's encrypted password and information related to password policies, such as password age and expiration time
/etc/group Contains group's name, group's password (if shadow passwords are not used), group's numerical ID (gid) and list of group members
/etc/gshadow Contains group's name, group's encrypted password (if set), group administrators and group members
/home/<username> This is default location for the user's home directory
/etc/skel/* Hidden files for user's shell environment configuration

Table 1.3 - Files and Directories Containing User and Group information

Previous Page - Table of Contents User Accounts Next Page - Creating Accounts Using Graphical Interface