460 likes | 661 Views
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
E N D
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 • Understand and create linked files Linux+ Guide to Linux Certification, 2e
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
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
The Filesystem Hierarchy Standard (continued) Table 5-1: Linux directories defined by FHS Linux+ Guide to Linux Certification, 2e
The Filesystem Hierarchy Standard (continued) Table 5-1 (continued): Linux directories defined by FHS Linux+ Guide to Linux Certification, 2e
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
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
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
Managing Files and Directories (continued) Table 5-2: Common Linux file management commands Linux+ Guide to Linux Certification, 2e
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
Finding Files (continued) Table 5-3: Common criteria used with find command Linux+ Guide to Linux Certification, 2e
Finding Files (continued) Table 5-3 (continued): Common criteria used with find command Linux+ Guide to Linux Certification, 2e
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
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
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
Linking Files (continued) Figure 5-1: The structure of hard linked files Linux+ Guide to Linux Certification, 2e
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
Linking Files (continued) Figure 5-2: The structure of symbolically linked files Linux+ Guide to Linux Certification, 2e
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
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
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
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
Interpreting the Mode Figure 5-3: The structure of a mode Linux+ Guide to Linux Certification, 2e
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
Interpreting Permissions Table 5-4: Linux permissions Linux+ Guide to Linux Certification, 2e
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
Changing Permissions (continued) Table 5-5: Criteria used within the chmod command Linux+ Guide to Linux Certification, 2e
Changing Permissions (continued) Figure 5-4: Numeric representation of the mode Linux+ Guide to Linux Certification, 2e
Changing Permissions (continued) Table 5-6: Numeric representations of the permissions in a mode Linux+ Guide to Linux Certification, 2e
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
Default Permissions (continued) Figure 5-5: Performing a umask 022 calculation Linux+ Guide to Linux Certification, 2e
Default Permissions (continued) Figure 5-6: Performing a umask 007 calculation Linux+ Guide to Linux Certification, 2e
Special Permissions • SUID (Set User ID) • SGID (Set Group ID) • Sticky bit Linux+ Guide to Linux Certification, 2e
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
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
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
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
Setting Special Permissions (continued) Figure 5-7: Representing special permissions in the mode Linux+ Guide to Linux Certification, 2e
Setting Special Permissions (continued) Figure 5-8: Representing special permissions in the absence of the execute permissions Linux+ Guide to Linux Certification, 2e
Setting Special Permissions (continued) Figure 5-9: Numeric representation of regular and special permissions Linux+ Guide to Linux Certification, 2e
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
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
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 Linux+ Guide to Linux Certification, 2e