Title: Linux Guide to Linux Certification, Second Edition
1Linux Guide to Linux Certification, Second
Edition
- Chapter 5
- Linux Filesystem Management
2Objectives
- Explain the function of the Filesystem Hierarchy
Standard - Use standard Linux commands to manage files and
directories - Find files and directories on the filesystem
- Understand and create linked files
3Objectives (continued)
- Modify file and directory ownership
- Define and change Linux file and directory
permissions - Identify the default permissions created on files
and directories - Apply special file and directory permissions
4The Filesystem Hierarchy Standard
- Filesystem Hierarchy Standard (FHS) Standard set
of directories for Linux and UNIX systems - File and subdirectory contents
- Gives Linux software developers ability to locate
files on any Linux system - Create non-distributionspecific software
5The Filesystem Hierarchy Standard (continued)
Table 5-1 Linux directories defined by FHS
6The Filesystem Hierarchy Standard (continued)
Table 5-1 (continued) Linux directories defined
by FHS
7Managing Files and Directories
- mkdir command Creates new directories
- Arguments specify directorys absolute or
relative pathname - mv command Moves files
- Two arguments minimum
- Source file/directory (may specify multiple
sources) - Target file/directory
- Also used to rename files
8Managing Files and Directories (continued)
- cp command Copies files
- Same arguments as mv command
- Recursive Referring to itself and its own
contents - Recursive search includes all subdirectories in a
directory and their contents - r option
9Managing Files and Directories (continued)
- interactive mode Prompts user before overwriting
files - i option
- f option Overrides interactive mode
- rm command Removes files
- Arguments are a list of files
- rmdir command Removes directories
- r and f options are helpful
10Managing Files and Directories (continued)
Table 5-2 Common Linux file management commands
11Finding Files
- locate command Search for files on system
- Shortcut to the slocate command
- Information returned may not fit on screen
- Use with more or less commands
- Uses indexed database of all files on system
- Find command Recursively search for files
starting from a specified directory
12Finding Files (continued)
Table 5-3 Common criteria used with find command
13Finding Files (continued)
Table 5-3 (continued) Common criteria used with
find command
14Finding Files (continued)
- which command Search for an executable file
- Searches the PATH variable
- PATH variable Lists directories on system where
executable files are located - Allows executable files to be run without
specifying absolute or relative path
15Linking Files
- Symbolic link One file is a pointer or shortcut
to another - Hard link Two files share the same data
16Linking Files (continued)
- Filesystem has three main structural sections
- Superblock Contains general information about
the filesystem - e.g., number of inodes and data blocks
- Inode Describes a file or directory
- Unique inode number, file size, data block
locations, last date modified, permissions, and
ownership - Inode table Consists of several inodes
- Data blocks Data making up contents of a file
17Linking Files (continued)
Figure 5-1 The structure of hard linked files
18Linking Files (continued)
- ln (link) command Create hard and symbolic links
- Two arguments
- Existing file to link
- Target file to create as a link to existing file
- Use s option to create symbolic link
- Hard linked files share two inodes
- Data blocks in symbolically linked files contain
pathname to target file
19Linking Files (continued)
Figure 5-2 The structure of symbolically linked
files
20File and Directory Permissions
- All users must login with a username and password
- Users identified by username and group
memberships - Access to resources depends on username and group
membership - Must have required permissions
21File and Directory Ownership
- Primary group Users default group
- During file creation, files owner and group
owner set to users username and primary group - Same for directory creation
- touch command Create an empty file
22File and Directory Ownership (continued)
- chown (change owner) command Change ownership of
a file or directory - chgrp (change group) command Change group owner
of a file or directory
23Managing File and Directory Permissions
- Mode Inode Section that stores permissions
- Three sections, based on the user(s) that receive
the permission - User permissions Owner
- Group permissions Group owner
- Other permissions Everyone on system
- Three regular permissions may be assigned to each
user - Read
- Write
- Execute
24Interpreting the Mode
Figure 5-3 The structure of a mode
25Interpreting the Mode (continued)
- User Refers to owner of a file or directory
- Owner Refers to users with ability to change
permissions on a file or directory - Other Refers to all users on system
- Shell scripts Text files containing instructions
for the shell to execute
26Interpreting Permissions
Table 5-4 Linux permissions
27Changing Permissions
- chmod (change mode) command Change mode
(permissions) of files or directories - Permissions stored in a files or a directorys
inode as binary powers of two
28Changing Permissions (continued)
Table 5-5 Criteria used within the chmod command
29Changing Permissions (continued)
Figure 5-4 Numeric representation of the mode
30Changing Permissions (continued)
Table 5-6 Numeric representations of the
permissions in a mode
31Default Permissions
- New files given rw-rw-rw- permissions by default
- umask Takes away permissions on new files and
directories - umask command Displays the umask
- Changing the umask
- Use a new umask as an argument to the umask
command
32Default Permissions (continued)
Figure 5-5 Performing a umask 022 calculation
33Default Permissions (continued)
Figure 5-6 Performing a umask 007 calculation
34Special Permissions
- SUID (Set User ID)
- SGID (Set Group ID)
- Sticky bit
35Defining Special Permissions
- SUID
- If set on a file, user who executes the file
becomes owner of the file during execution - No functionality when set on a directory
- Only applicable to binary compiled programs
36Defining Special Permissions (continued)
- SGID
- Applicable to files and directories
- If set on a file, user who executes the file
becomes member of the files group during
execution - If a user creates a file in a directory with SGID
set, the directorys group owner is changed to
match the files group owner
37Defining Special Permissions (continued)
- Sticky bit
- Previously used to lock files in memory
- Currently only applicable to directories
- Ensures that a user can only delete files his/her
own files
38Setting Special Permissions
- Special permissions require execute
- Mask the execute permission when displayed by the
ls l command - May be set even if file or directory does not
have execute permission - Via chmod command
- Add an extra digit at front of permissions
argument
39Setting Special Permissions (continued)
Figure 5-7 Representing special permissions in
the mode
40Setting Special Permissions (continued)
Figure 5-8 Representing special permissions in
the absence of the execute permissions
41Setting Special Permissions (continued)
Figure 5-9 Numeric representation of regular and
special permissions
42Summary
- The Linux directory tree obeys the FHS
- Many file management commands exist
- Files can be created as pointers to another file
or as a linked duplicate of another file - Called symbolic and hard links, respectively
- Each file and directory has an owner and a group
owner - Owner can change permissions and grant ownership
43Summary (continued)
- Permissions can be set on the owner of a file,
members of the group of the file, and everyone on
the system (other) - Can find files using locate, which, and find
- Three regular file and directory permissions
(read, write, execute) and three special file and
directory permissions (SUID, SGID, sticky bit) - Permissions can be changed using chmod
44Summary (continued)
- New files and directories receive default
permissions from the system - The root user has all permissions to all files
and directories on the Linux filesystem - root user can change the ownership of any file or
directory on the Linux filesystem