Every process (running program) on the system runs as a particular user. Every file is owned by a particular user. Access to files and directories are restricted by user. The user associated with a running process determines the files and directories accessible to that process.
The id command is used to show information about the current logged-in user. Basic information about another user can also be requested by passing in the username of that user as the first argument to the id command.
To view the user associated with a file or directory, use the ls -l command. The third column shows the username:[student@desktopX ~]$
id
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
To view process information, use the ps command. The default is to show only processes in the current shell. Add the a option to view all processes with a terminal. To view the user associated with a process, include the u option. The first column shows the username:[student@serverX ~]$
ls -l /tmp
drwx------. 2gdm
gdm 4096 Jan 24 13:05 orbit-gdm drwx------. 2student
student 4096 Jan 25 20:40 orbit-student -rw-r--r--. 1root
root 23574 Jan 24 13:05 postconf
The output of the previous commands displays users by name, but internally the operating system tracks users by a UID number. The mapping of names to numbers is defined in databases of account information. By default, systems use a simple "flat file," the[student@serverX ~]$
ps au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot
428 0.0 0.7 152768 14400 tty1 Ss+ Feb03 0:04 /usr/bin/Xorgroot
511 0.0 0.0 110012 812 ttyS0 Ss+ Feb03 0:00 /sbin/agettyroot
1805 0.0 0.1 116040 2580 pts/0 Ss Feb03 0:00 -bashroot
2109 0.0 0.1 178468 2200 pts/0 S Feb03 0:00 su - studentstudent
2110 0.0 0.1 116168 2864 pts/0 S Feb03 0:00 -bashstudent
3690 0.0 0.0 123368 1300 pts/0 R+ 11:42 0:00 ps au
/etc/passwd
file, to store information about local users. The format of
/etc/passwd
(seven colon-separated
fields):
username:password:UID:GID:GECOS:/home/dir:shell
Item | Description |
---|---|
username is a mapping of a UID to a name for the benefit of human users. | |
password is where, historically, passwords were
kept in an encrypted format. Today, they are stored in a separate
file called /etc/shadow .
|
|
UID is a user ID, a number that identifies the user at the most fundamental level. | |
GID is the user's primary group ID number. Groups will be discussed in a moment. | |
GECOS field is arbitrary text, which usually includes the user's real name. | |
/home/dir is the location of the user's personal data and configuration files. | |
shell is a program that runs as the user logs in. For a regular user, this is normally the program that provides the user's command line prompt. |
What is a Group?
Like users, groups have a name and a number (GID). Local groups are defined in/etc/group
.
Primary Groups
-
Every user has exactly one primary group.
-
For local users, the primary group is defined by the GID
number of the group listed in the fourth field of
/etc/passwd
.
-
Normally, the primary group owns new files created by the
user.
-
Normally, the primary group of a newly created user is a newly
created group with the same name as the user. The user is the
only member of this User Private Group
(UPG).
Supplementary Groups
-
Users may be a member of zero or more supplementary groups.
-
The users that are supplementary members of local groups are listed
in the last field of the group's entry in
/etc/group
. For local groups, user membership is determined by a comma-separated list of users found in the last field of the group's entry in/etc/group
:
groupname:password:GID:
list,of,users,in,this,group
-
Supplementary group membership is used to help ensure that users have
access permissions to files and other resources on the system.
Comments
Post a Comment
thank you for visiting :)