10.2 Devices, Linux Filesystems, and the Filesystem Hierarchy Standard (Topic 2.4) 10.2.1 Objective 1: Create Partitions and Filesystems 10.2.1.1 Disk drives and partitions -
IDE disks are known as /dev/hda, /dev/hdb, /dev/hdc, and /dev/hdd. -
SCSI disks are known as /dev/sda, /dev/sdb, /dev/sdc, and so on. -
Three types of partitions: - Primary
-
Filesystem container. At least one must exist, and up to four can exist on a single physical disk. They are identified with numbers 1 to 4, such as /dev/hda1, /dev/hda2, and so on. - Extended
-
A variant of a primary partition but it cannot contain a filesystem. Instead, it contains one or more logical partitions. Only one extended partition may exist, and it takes one of the four possible spots for primary partitions. - Logical
-
Created within the extended partition. From 1 to 12 logical partitions may be created. They are numbered from 5 to 16, such as /dev/hda5, /dev/hda10, and so on. 10.2.1.2 The root filesystem and mount points -
The top of the filesystem tree is occupied by the root filesystem. Other filesystems are mounted under it, creating a unified filesystem. -
/etc, /lib, /bin, /sbin, and /dev must be part of the root filesystem. 10.2.1.3 Partition and filesystem management commands The following commands are commonly used to repair and manage filesystems: - fdisk [device]
-
Manipulate or display the partition table for device using a command-driven interactive text interface. device is a physical disk such as /dev/hda, not a partition such as /dev/hda1. - mkfs device
-
Make a filesystem on device. - mkswap device
-
Prepare a partition for use as swap space. 10.2.2 Objective 2: Maintain the Integrity of Filesystems These commands are commonly used in day-to-day filesystem maintenance: - df [directories]
-
Display overall disk utilization information for mounted filesystems on directories. - du [directories]
-
Display disk utilization information for directories. - fsck filesystems
-
Check filesystems for errors and optionally correct them. 10.2.3 Objective 3: Control Filesystem Mounting and Unmounting 10.2.3.1 Managing the filesystem table Table 10-5. Fields Found in the /etc/fstab File Device | The device file for the partition holding the filesystem. | Mount point | The directory upon which the filesystem is to be mounted. | Filesystem type | A filesystem type, such as ext2. | Mount options | A comma-separated list. | Dump frequency | For use with dump. | Pass number for fsck | Used at boot time. | 10.2.3.2 Mounting and unmounting The following commands are used to mount and unmount filesystems: - mount device
-
- mount directory
-
- mount device directory
-
Mount filesystems onto the hierarchy. The first and second forms consult /etc/fstab for additional information. - umount device
-
- umount directory
-
Unmount the filesystem on device or mount it on directory. 10.2.3.3 Filesystem types Common filesystem types compatible with Linux include: - ext2
-
The standard Linux filesystem. - iso9660
-
The standard CD-ROM format. - msdos
-
The MS-DOS FAT filesystem. - nfs
-
Remote servers. - proc
-
The proc filesystem, which is a system abstraction for access to kernel parameters. - swap
-
Swap partitions. - vfat
-
Virtual FAT, used instead of msdos. 10.2.4 Objective 4: Set and View Disk Quota -
Quotas are used to enforce a disk space or an inode maximum on individuals, groups, or both. -
These types of quota limits can be set: - Per-user hard
-
The maximum size for an individual. - Per-user soft
-
A warning threshold. - Per-group hard
-
The maximum size for a group. - Per-group soft
-
A warning threshold. - Grace period
-
A time restriction on the soft limit. - quota user
-
- quota -g group
-
Display quota limits on user or group. - quotaon [ filesystems]
-
Enable previously configured disk quotas on one or more filesystems. - quotaoff [ filesystems]
-
Disable disk quotas on one or more filesystems. - quotacheck [ filesystems]
-
Examine filesystems and compile quota databases. Usually run via cron. - edquota names
-
Modify user or group quotas by spawning a text editor. - repquota filesystems
-
Display a summary report of quota status for filesystems, or use -a for all filesystems: | Enabling quotas requires usrquota and/or grpquota options in /etc/fstab, creation of quota.user and quota.group files at the top of the filesystem, a quotacheck, and a quotaon. | | 10.2.5 Objective 5: Use File Permissions to Control Accessto Files 10.2.5.1 Access control -
Access control is implemented using a set of properties called the access mode, stored in the inode. Three classes of user are defined: - User
-
The user that owns the file. - Group
-
The group that owns the file. - Other
-
All other users on the system. -
Three permissions are either granted or not granted to each class of user: - Read (r)
-
Allows access to file contents and listing of directory contents. - Write (w)
-
Allows writing a file or creating files in a directory. - Execute (x)
-
Allows execution of a file and read/write files in a directory. -
These comprise nine bits in the mode User rwx, Group rwx, and Other rwx. -
Three additional mode bits are defined: - SUID
-
To grant processes the rights of an executable file's owner. - SGID
-
To grant processes the rights of an executable file's group. - Sticky bit
-
Prohibits file deletion by nonowners. 10.2.5.2 Setting access modes -
New files receive initial access mode as described by the umask. -
The umask strips specified bits from the initial mode settings. Typical umasks are 002 and 022. -
Existing file modes are changed using chmod with either symbolic or octal mode specifications: -
Symbolic: [ugoa][-+=][rwxXst] -
Octal bits: user r, w, x, group r, w, x, other r, w, x rwxrwxrwx = 111111111 = 777 rwxr-xr-- = 111101100 = 751 chmod uses the following syntax: - chmod mode files
-
Modify the access mode on files using a symbolic or octal mode. 10.2.6 Objective 6: Manage File Ownership 10.2.7 Objective 7: Create and Change Hardand Symbolic Links -
A link is a pseudonym for another file. -
Links take very little space in the filesystem. -
A symbolic link is a tiny file that contains a pointer to another file. Symbolic links can span filesystems. -
A hard link is a copy of a file's directory entry. Both directory entries point to the same inode and thus the same data, ownership, and permissions. ln has the following syntax: - ln file link
- ln files directory
Create link to file or in directory for all files. Symbolic links are created with the -s option. 10.2.8 Objective 8: Find System Files and Place Filesin the Correct Location -
The FHS is used by Linux distributions to standardize filesystem layout. It defines two categories of data use, each with opposing subtypes: -
Data sharing: sharable data can be used by multiple host systems on a network. Non-sharable data is unique to one particular host system. -
Data modification: variable data is changed continually by naturally occurring (i.e., frequent) processes. Static data is left alone, remaining unchanged over extended periods of time. -
The FHS seeks to define the filesystem contents in these terms and locate information accordingly. 10.2.8.1 The directory hierarchy -
The root filesystem: -
Must contain utilities and files sufficient to boot the operating system, including the ability to mount other filesystems. -
Should contain the utilities needed by the system administrator to repair or restore a damaged system. -
Should be relatively small. -
/usr contains system utilities and programs that do not appear in the /root partition. It includes directories such as /bin, /lib, /local, and /src. -
/var contains varying data such as printer spools and log files, including directories such as log, mail, and spool. 10.2.8.2 Locating files |