Linux+ Guide to Linux Certification, Second Edition

Preview:

DESCRIPTION

Linux+ Guide to Linux Certification, Second Edition. Chapter 5 Linux Filesystem Management. Objectives. Explain the function of the Filesystem Hierarchy Standard Use standard Linux commands to manage files and directories Find files and directories on the filesystem - PowerPoint PPT Presentation

Citation preview

Linux+ Guide to Linux Certification, Second Edition

Chapter 5Linux Filesystem

Management

Linux+ Guide to Linux Certification, 2e 2

Objectives

• 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

Linux+ Guide to Linux Certification, 2e 3

Objectives (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

Linux+ Guide to Linux Certification, 2e 4

The 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-distribution–specific software

Linux+ Guide to Linux Certification, 2e 5

The Filesystem Hierarchy Standard (continued)

Table 5-1: Linux directories defined by FHS

Linux+ Guide to Linux Certification, 2e 6

The Filesystem Hierarchy Standard (continued)

Table 5-1 (continued): Linux directories defined by FHS

Linux+ Guide to Linux Certification, 2e 7

Managing Files and Directories

• mkdir command: Creates new directories– Arguments specify directory’s 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

Linux+ Guide to Linux Certification, 2e 8

Managing 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

Linux+ Guide to Linux Certification, 2e 9

Managing 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

Linux+ Guide to Linux Certification, 2e 10

Managing Files and Directories (continued)

Table 5-2: Common Linux file management commands

Linux+ Guide to Linux Certification, 2e 11

Finding 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

Linux+ Guide to Linux Certification, 2e 12

Finding Files (continued)

Table 5-3: Common criteria used with find command

Linux+ Guide to Linux Certification, 2e 13

Finding Files (continued)

Table 5-3 (continued): Common criteria used with find command

Linux+ Guide to Linux Certification, 2e 14

Finding 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

Linux+ Guide to Linux Certification, 2e 15

Linking Files

• Symbolic link: One file is a pointer or shortcut to another

• Hard link: Two files share the same data

Linux+ Guide to Linux Certification, 2e 16

Linking 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

Linux+ Guide to Linux Certification, 2e 17

Linking Files (continued)

Figure 5-1: The structure of hard linked files

Linux+ Guide to Linux Certification, 2e 18

Linking 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

Linux+ Guide to Linux Certification, 2e 19

Linking Files (continued)

Figure 5-2: The structure of symbolically linked files

Linux+ Guide to Linux Certification, 2e 20

File 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

Linux+ Guide to Linux Certification, 2e 21

File and Directory Ownership

• Primary group: User’s default group

• During file creation, file’s owner and group owner set to user’s username and primary group– Same for directory creation

• touch command: Create an empty file

Linux+ Guide to Linux Certification, 2e 22

File 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

Linux+ Guide to Linux Certification, 2e 23

Managing 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

Linux+ Guide to Linux Certification, 2e 24

Interpreting the Mode

Figure 5-3: The structure of a mode

Linux+ Guide to Linux Certification, 2e 25

Interpreting 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

Linux+ Guide to Linux Certification, 2e 26

Interpreting Permissions

Table 5-4: Linux permissions

Linux+ Guide to Linux Certification, 2e 27

Changing Permissions

• chmod (change mode) command: Change mode (permissions) of files or directories

• Permissions stored in a file’s or a directory’s inode as binary powers of two

Linux+ Guide to Linux Certification, 2e 28

Changing Permissions (continued)

Table 5-5: Criteria used within the chmod command

Linux+ Guide to Linux Certification, 2e 29

Changing Permissions (continued)

Figure 5-4: Numeric representation of the mode

Linux+ Guide to Linux Certification, 2e 30

Changing Permissions (continued)

Table 5-6: Numeric representations of the permissions in a mode

Linux+ Guide to Linux Certification, 2e 31

Default 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

Linux+ Guide to Linux Certification, 2e 32

Default Permissions (continued)

Figure 5-5: Performing a umask 022 calculation

Linux+ Guide to Linux Certification, 2e 33

Default Permissions (continued)

Figure 5-6: Performing a umask 007 calculation

Linux+ Guide to Linux Certification, 2e 34

Special Permissions

• SUID (Set User ID)

• SGID (Set Group ID)

• Sticky bit

Linux+ Guide to Linux Certification, 2e 35

Defining 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

Linux+ Guide to Linux Certification, 2e 36

Defining Special Permissions (continued)

• SGID– Applicable to files and directories– If set on a file, user who executes the file becomes

member of the file’s group during execution– If a user creates a file in a directory with SGID set,

the directory’s group owner is changed to match the file’s group owner

Linux+ Guide to Linux Certification, 2e 37

Defining 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

Linux+ Guide to Linux Certification, 2e 38

Setting 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

Linux+ Guide to Linux Certification, 2e 39

Setting Special Permissions (continued)

Figure 5-7: Representing special permissions in the mode

Linux+ Guide to Linux Certification, 2e 40

Setting Special Permissions (continued)

Figure 5-8: Representing special permissions in the absence of the execute permissions

Linux+ Guide to Linux Certification, 2e 41

Setting Special Permissions (continued)

Figure 5-9: Numeric representation of regular and special permissions

Linux+ Guide to Linux Certification, 2e 42

Summary

• 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

Linux+ Guide to Linux Certification, 2e 43

Summary (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

Linux+ Guide to Linux Certification, 2e 44

Summary (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

Recommended