41
Linux+ Guide to Linux Certification, Second Edition Chapter 5 Linux Filesystem Management

Linux+ Guide to Linux Certification, Second Edition

Embed Size (px)

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