Exploring the UNIX File System and File Security Understanding Files and Directories
Understanding the UNIX File System A file is the basic component for data storage UNIX considers everything it interacts with a file A file system is UNIX’s way of organizing files on mass storage (disk) devices A physical file system is a section of the hard disk that has been formatted to hold files The file system is organized in a hierarchical structure similar to an inverted tree
Understanding the Standard Tree Structure The structure starts at the root level Root is the name of the file at this basic level and it is denoted by the slash character (/) A directory is a file that can contain other files and directories A subdirectory is a directory within a directory The subdirectory is considered the child of the parent directory
Using UNIX Partitions The section of the disk that holds a file system is called a partition When installing UNIX, one of the first tasks is deciding how to partition a storage device, or hard disk Hard disks may have many partitions UNIX partitions are given names Like hda1 and hda2
Using UNIX Partitions Storage devices are called peripheral devices Peripheral devices connect to the computer through electronic interfaces IDE - Integrated Drive Electronics SCSI - Small Computer System Interface
Exploring the Root File System UNIX must mount a file system before any programs can access files on it To mount a file system is to connect it to the directory tree structure The root file system is mounted by the kernel when the system starts
Exploring the Root File System The root directory contains sub-directories that contain files: /bin contains binaries, or executables needed to start the system and perform system tasks /boot contains files needed by the bootstrap loader as well as kernel images /dev contains system device reference files
Exploring the Root File System Root subdirectories continued: /etc contains configuration files that the system uses when the computer starts /lib contains kernel modules, security information, and the shared library images /mnt contains mount points for temporary mounts by the system administrator /proc is a virtual file system allocated in memory only
Exploring the Root File System Root subdirectories continued: /root is the home directory of the root user, or the system administrator /sbin contains essential network programs used only by the system administrator /tmp is a temporary place to store data during processing cycles /var contains subdirectories which have sizes that often change, such as error logs
Understanding Paths and Pathnames To specify a file or directory, use its pathname, which follows the branches of the file system to the desired file A forward slash (/) separates each directory name The UNIX command prompt may indicate your location within the file system Use the UNIX pwd command to display the current path name
Navigating the File System To navigate the UNIX directory structure, use the cd (change directory) command UNIX refers to a path as either: Absolute - begins at the root level and lists all subdirectories to the destination file Relative - begins at your current working directory and proceeds from there
Listing Directory Contents The ls (list) command displays a directory’s contents, including files and subdirectories
Listing Directory Contents The system normally uses hidden files to keep configuration information and for other purposes
Managing Directories and Files mkdir (make directory) command Create a new directory rmdir (make directory) command Delete an empty directory cp (copy) command Copy files from one director to another rm (remove) command Delete files
Setting File Permissions
Setting File Permissions Owner has read w Owner has write x Owner has execute Group has read - Group does not have write Group has execute Others have read Others do not have write Others have execute
Setting File Permissions for Security chmod command To set file permissions Settings are read (r), write (w), execute (x) The three types of users are owners, groups, and others Setting permissions to directories Use the execute (x) to grant access