Linux+ Guide to Linux Certification, Third Edition. Chapter 4 Linux Filesystem Management

Linux+ Guide to Linux Certification, Third Edition Chapter 4 Linux Filesystem Management Objectives • Find files and directories on the filesystem •...
Author: Steven Burke
1 downloads 0 Views 590KB Size
Linux+ Guide to Linux Certification, Third Edition Chapter 4 Linux Filesystem Management

Objectives • Find files and directories on the filesystem • Understand and create linked files • Explain the function of the Filesystem Hierarchy Standard • Use standard Linux commands to manage files and directories

Linux+ Guide to Linux Certification, 3e

2

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, 3e

3

The Filesystem Hierarchy Standard • Filesystem Hierarchy Standard (FHS): standard set of directories for Linux and UNIX systems – Standard file and subdirectory contents – Simplifies the task of finding specific files – Gives Linux software developers ability to locate files on any Linux system • Create non-distribution–specific software

Linux+ Guide to Linux Certification, 3e

4

The Filesystem Hierarchy Standard (continued)

Table 4-1: Linux directories defined by the Filesystem Hierarchy Standard Linux+ Guide to Linux Certification, 3e

5

The Filesystem Hierarchy Standard (continued)

Table 4-1 (continued): Linux directories defined by the Filesystem Hierarchy Standard

Linux+ Guide to Linux Certification, 3e

6

Managing Files and Directories • mkdir command: creates new directories – Arguments specify directory’s absolute or relative pathname

• mv command: moves files – Minimum of two arguments: • Source file/directory (may specify multiple sources) • Target file/directory

– Pathnames can be absolute or relative • For multiple files, can use wildcards in pathname

– Also used to rename files or directories Linux+ Guide to Linux Certification, 3e

7

Managing Files and Directories (continued) • cp command: copies files – Same arguments as the mv command – Also used to make copies of files

• Recursive: referring to itself and its own contents – Recursive copy command copies the directory and all subdirectories and contents – Recursive search includes all subdirectories in a directory and their contents – Use –r option Linux+ Guide to Linux Certification, 3e

8

Managing Files and Directories (continued) • Interactive mode: Prompts user before overwriting files – –i option – –f option (force): Overrides interactive mode

• rm command: Removes files – Arguments are a list of files – Can use wildcards – Interactive mode by default • Use -f option to override Linux+ Guide to Linux Certification, 3e

9

Managing Files and Directories (continued) • rmdir command: removes directories – Arguments are a list of files – Can use wildcards – Interactive mode by default • Use -f option to override

– Cannot be used to remove directory full of files • To delete directory and all its contents (subdirectories and files), use rm –r command

Linux+ Guide to Linux Certification, 3e

10

Managing Files and Directories (continued)

Table 4-2: Common Linux file management commands

Linux+ Guide to Linux Certification, 3e

11

Finding Files • locate command: Search for files on system – Receives full or partial filename as argument – Uses premade indexed database of all files on system • To update the database use updatedb command

– Information returned may not fit on screen • Use with more or less commands

Linux+ Guide to Linux Certification, 3e

12

Finding Files (continued) • find command: recursively search for files starting from a specified directory – Slower than locate command, but more versatile – Format: find -criteria • e.g., find /root –name project

– If using wildcard metacharacters, ensure that they are interpreted by the find command • Place wildcards in quotation marks

– To reduce search time, specify subdirectory to be searched Linux+ Guide to Linux Certification, 3e

13

Finding Files (continued)

Table 4-3: Common criteria used with the find command Linux+ Guide to Linux Certification, 3e

14

Finding Files (continued)

Table 4-3 (continued): Common criteria used with the find command Linux+ Guide to Linux Certification, 3e

15

Finding Files (continued) • PATH variable: lists directories on system where executable files are located – Allows executable files to be run without specifying absolute or relative path

• which command: search for an executable file – Searches the PATH variable – If the file is not found, lists the directories that were searched

Linux+ Guide to Linux Certification, 3e

16

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, 3e

17

Linking Files (continued) • Filesystem has three main structural sections: – Superblock: Contains general information about the filesystem • e.g., number of inodes and data blocks, size of each data block

– The inode table: consists of several inodes, each of which describes a file or directory • Unique inode number, file size, data block locations, last date modified, permissions, and ownership

– Data blocks: Data making up contents of a file Linux+ Guide to Linux Certification, 3e

18

Linking Files (continued) • Hard linked files share the same inode and inode number – Must reside on the same filesystem

• To remove hard linked files, delete one of the linked files – Reduces the link count for the file

Linux+ Guide to Linux Certification, 3e

19

Linking Files (continued)

Figure 4-1: The structure of hard linked files Linux+ Guide to Linux Certification, 3e

20

Linking Files (continued) • Symbolic linked files do not share the same inode and inode number with their target file • Symbolic linked file is a pointer to the target file – Data blocks in the linked file contain only a pathname for the target file • Linked file and target file have different sizes

– Editing symbolic linked file actually edits the target file

• If the target file is deleted, symbolic link serves no function Linux+ Guide to Linux Certification, 3e

21

Linking Files (continued)

Figure 4-2: The structure of symbolically linked files Linux+ Guide to Linux Certification, 3e

22

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 – Arguments can be relative or absolute pathnames

Linux+ Guide to Linux Certification, 3e

23

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, 3e

24

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

• whoami command: view current user name • groups command: view group memberships and primary group • touch command: create an empty file

Linux+ Guide to Linux Certification, 3e

25

File and Directory Ownership (continued) • chown (change owner) command: change ownership of a file or directory – Two arguments: • New owner • File to change

– Can use –R option for contents of directory

• chgrp (change group) command: change group owner of a file or directory – Same arguments and options as for chown command Linux+ Guide to Linux Certification, 3e

26

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, 3e

27

Interpreting the Mode

Figure 4-3: The structure of a mode Linux+ Guide to Linux Certification, 3e

28

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 • Permissions are not additive

Linux+ Guide to Linux Certification, 3e

29

Interpreting Permissions

Table 4-4: Linux permissions

Linux+ Guide to Linux Certification, 3e

30

Changing Permissions • chmod (change mode) command: change mode (permissions) of files or directories – Two arguments at minimum • Criteria used to change permissions • Filenames to change

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

Linux+ Guide to Linux Certification, 3e

31

Changing Permissions (continued)

Table 4-5: Criteria used within the chmod command

Linux+ Guide to Linux Certification, 3e

32

Changing Permissions (continued)

Figure 4-4: Numeric representation of the mode

Linux+ Guide to Linux Certification, 3e

33

Changing Permissions (continued)

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

Linux+ Guide to Linux Certification, 3e

34

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, 3e

35

Default Permissions (continued)

Figure 4-5: Performing a umask 022 calculation

Linux+ Guide to Linux Certification, 3e

36

Default Permissions (continued)

Figure 4-6: Performing a umask 007 calculation

Linux+ Guide to Linux Certification, 3e

37

Special Permissions • Three more optional special permissions for files and directories – SUID (Set User ID) – SGID (Set Group ID) – Sticky bit

Linux+ Guide to Linux Certification, 3e

38

Defining Special Permissions • SUID – If set on a file, user who executes the file becomes owner of the file during execution • e.g., ping command

– No functionality when set on a directory – Only applicable to binary compiled programs • Cannot be used on shell scripts

Linux+ Guide to Linux Certification, 3e

39

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 file’s group owner is set to be the directory’s group owner and not the user’s primary group

Linux+ Guide to Linux Certification, 3e

40

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 his/her own files when given write permissions in a directory

Linux+ Guide to Linux Certification, 3e

41

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 – Indicating letter in the mode will be capitalized

• Add special permissions via chmod command – Add an extra digit at front of permissions argument

Linux+ Guide to Linux Certification, 3e

42

Setting Special Permissions (continued)

Figure 4-7: Representing special permissions in the mode Linux+ Guide to Linux Certification, 3e

43

Setting Special Permissions (continued)

Figure 4-8: Representing special permissions in the absence of the execute permissions Linux+ Guide to Linux Certification, 3e

44

Setting Special Permissions (continued)

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

Linux+ Guide to Linux Certification, 3e

45

Summary • The Linux directory tree obeys the FHS – Allows system files to be located in standard directories

• Many file management commands exist • Can find files using different commands – locate: search preindexed database – which: search PATH variable – find: search for file based on criteria

Linux+ Guide to Linux Certification, 3e

46

Summary (continued) • 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

• Permissions can be set on the owner of a file, members of the group of the file, and everyone on the system (other) Linux+ Guide to Linux Certification, 3e

47

Summary (continued) • 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 • 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, 3e

48