0% found this document useful (0 votes)
164 views50 pages

Comptia Linux+ Guide To Linux Certification Fourth Edition

Uploaded by

Quang Nguyen Hue
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
164 views50 pages

Comptia Linux+ Guide To Linux Certification Fourth Edition

Uploaded by

Quang Nguyen Hue
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 50

CompTIA Linux+ Guide to

Linux Certification
Fourth 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
• Modify file and directory ownership

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 2
Objectives

• Define and change Linux file and directory


permissions
• Identify the default permissions created on files and
directories
• Apply special file and directory permissions
• Modify the default access control list (ACL)
• View and set filesystem attributes

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 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

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 4
Table 4-1: Linux directories defined by the
Filesystem Hierarchy Standard
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 5
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
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 6
Managing Files and Directories

• cp command: copies files


– Same arguments as the mv command
– Also used to make copies of files
• To copy a directory full of files, you must tell the cp
command that the copy will be recursive
– 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
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 7
Managing Files and Directories

• If the target is a file that exists


– Both the mv and cp commands warn the user that
the target file will be overwritten and will ask whether
to continue
– A feature of the default configuration in Fedora Linux
because the BASH shell contains aliases to the cp
and mv commands
• To see the aliases present in your current shell,
type alias at the prompt

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 8
Managing Files and Directories

• Interactive mode: Prompts user before overwriting


files
– –i option (when you type the cp command, the cp
-i command is actually run)
– –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
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 9
Managing Files and Directories

• 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

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 10
Managing Files and Directories

Table 4-2: Common Linux file management commands

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 11
Finding Files

• locate command: Search for files on system


– Receives full or partial filename as argument
– Looks in a premade indexed database of all files on
system
• To update the database use the updatedb command
– Information returned may not fit on screen
• Use with more or less commands

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 12
Finding Files

• find command: recursively search for files


starting from a specified directory
– Slower than locate command, but more versatile
– Format: find <start directory> -criteria
<what to find>
• 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
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 13
Table 4-3: Common criteria used with the find command
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 14
Finding Files

• 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

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 15
Linking Files

• Files can be linked to one another in two ways:


– Symbolic link (symlink): one file is a pointer or
shortcut to another
– Hard link: two files share the same data
• To better understand how files are linked
– You must understand how files are stored on a
filesystem

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 16
Linking Files

• A filesystem has three main 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 and contains a
unique inode number for identification
• The inode stores file size, data block locations, last
date modified, permissions, and ownership
– Data blocks: Data making up contents of a file
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 17
Linking Files

• Hard linked files share the same inode and inode


number
– Must reside on the same filesystem
• To create a hard link, use the ln command and
specify two arguments
– The existing file to hard-link and the target file that
will be created as a hard link to the existing file
• To remove hard linked files, delete one of the
linked files
– Reduces the link count for the file
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 18
Linking Files

Figure 4-1: The structure of hard linked files

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 19
Linking Files

• Symbolic linked files do not share the same inode


and data blocks with their target file
• Symbolic linked file is a pointer to the target file
– Data blocks in the linked file contain only a
pathname to the target file
• Linked file and target file have different sizes
– Editing a symbolic linked file actually edits the target
file
• If the target file is deleted, symbolic link serves no
function
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 20
Linking Files

Figure 4-2: The structure of symbolically linked files

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 21
Linking Files

• To create a symbolic link, use the -s option with


the ln command
– Two arguments: existing file to link and target file to
create as a link to existing file
– Arguments can be relative or absolute pathnames,
as with hard links
• Use the ls -l command to view both hard link
and symbolic link files
• Symbolic links need not reside on the same
filesystem as their target
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 22
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

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 23
File and Directory Ownership

• Primary group: user’s default group


• During file creation, that user’s name and primary
group becomes the owner and group owner of the
file
– Same for directory creation
• whoami command: view current user name
• groups command: view group memberships and
primary group
• touch command: create an empty file

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 24
File and Directory Ownership

• chown (change owner) command: change


ownership of a file or directory
– Two arguments:
• New owner
• File or directory to change
– Can use –R option to change permissions
recursively throughout the directory tree
• chgrp (change group) command: change group
owner of a file or directory
– Same arguments and options as for chown
command
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 25
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
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 26
Interpreting the Mode

Figure 4-3: The structure of a mode


CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 27
Interpreting the Mode

• 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
– The system assigns the first set of permissions that
are matched in the mode order: user, group, other
• Linux permission should not be assigned to other
only

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 28
Interpreting Permissions

Table 4-4: Linux permissions

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 29
Changing Permissions

• chmod (change mode) command: change mode


(permissions) of files or directories
– Takes two arguments at minimum
• Criteria used to change permissions
• Filenames to change
– If the permissions to be changed are identical for the
user, group, and other categories, you can use the
“a” character to refer to all categories
• Permissions are stored in a file’s or a directory’s
inode as binary powers of two
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 30
Changing Permissions

Table 4-5: Criteria used within the chmod command

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 31
Changing Permissions

Figure 4-4: Numeric representation of the mode

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 32
Changing Permissions

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

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 33
Default Permissions

• New files are given rw-rw-rw- permissions by


default
• umask: a special variable that 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

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 34
Default Permissions

Figure 4-5: Performing a umask 022 calculation

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 35
Default Permissions

Figure 4-6: Performing a umask 007 calculation

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 36
Special Permissions

• Three more optional special permissions for files


and directories
– SUID (Set User ID)
– SGID (Set Group ID)
– Sticky bit

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 37
Defining Special Permissions

• SUID
– If set on a file, user who executes the file becomes
owner of the file during execution
• e.g., passwd command
– No functionality when set on a directory
– Only applicable to binary compiled programs
• Cannot be used on shell scripts

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 38
Defining Special Permissions

• 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

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 39
Defining Special Permissions

• 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

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 40
Setting Special Permissions

• Special permissions require execute


– They 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

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 41
Setting Special Permissions

Figure 4-7: Representing special permissions in the mode

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 42
Setting Special Permissions

Figure 4-8: Representing special permissions in the


absence of the execute permissions
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 43
Setting Special Permissions

Figure 4-9: Numeric representation of regular


and special permissions
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 44
Setting Custom Permissions in the
Access Control List (ACL)

• Access control list (ACL): a list of users or groups


that you can assign permissions to
• setfacl (set file ACL) command: used to modify
ACL entries for a particular Linux file or directory
– Use the -m option to modify the ACL
– e.g: setfacl -m u:bob:r-- doc1
– Use the -b option to remove all extra ACL
assignments on a particular file or directory
• getfacl (get file ACL) command: used to list all
ACL entries for a particular Linux file or directory
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 45
Managing Filesystem Attributes

• Linux has file attributes that can be set


– These attributes work outside Linux permissions and
are filesystem-specific
• lsattr (list attributes) command: used to list
filesystem attributes for a Linux file
• chattr (change attributes) command: used to
change filesystem attributes for a Linux file
• Immutable attribute (i): prevents the file from being
modified in any way
– Not even root user can modify
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 46
Summary

• The Linux directory tree obeys the Filesystem


Hierarchy Standard
– Allows system files to be located in standard
directories
• Many file management commands exist
• You can find files using different commands
– locate: search preindexed database
– which: search PATH variable
– find: search for file based on criteria

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 47
Summary

• Files can be linked two different ways


– Symbolic link: a file serves as a pointer to another
– Hard links: one file is a linked duplicate of another
• 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)

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 48
Summary

• 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
CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 49
Summary

• The default ACL on a file or directory can be


modified to include additional users or groups
• Filesystem attributes can be set on Linux files to
provide low-level functionality such as immutability

CompTIA Linux+ Guide to Linux Certification, Fourth Edition © Cengage Learning 2016 50

You might also like