410 likes | 559 Views
Chapter Two. Exploring the UNIX File System and File Security. Lesson A. Understanding Files and Directories. Objectives. Discuss and explain the UNIX file system Define a UNIX file system partition Use the mount command to mount a file system. Objectives (cont.).
E N D
Chapter Two Exploring the UNIX File System and File Security
Lesson A Understanding Files and Directories
Objectives • Discuss and explain the UNIX file system • Define a UNIX file system partition • Use the mount command to mount a file system
Objectives (cont.) • Discuss relative and absolute path addressing • Diagram the UNIX file system hierarchy • Navigate the file system
Understanding the UNIXFile 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 • LINUX uses 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 (2) • 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
Using the Mount Command • Users can access mounted file systems which they have permission to access. By default, ordinary users will NOT have this privilege. • Additional file systems can be mounted at any time using the mount command • To ensure system security, only the root user uses the mount command
Understanding Pathsand 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 • Ex. /usrs/jdoe/file1 (An absolute reference will ALWAYS begin with a /.) • Relative - begins at your current working directory and proceeds from there • Ex. 1 file1 (file1 is located within the current directory) • Ex. 2 sub1/file1 (file1 is located within the sub1 directory immediately beneath your current working directory) • A relative reference will NEVER begin with a /.
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
Lesson B Working with Files, Directories, and Security
Objectives • Create new directories to store files • Copy files from one directory to another • Set file permissions for other user access to directory and files
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
Files & Subdirectories (2) • pwd – displays your current location in the file system ie. Your working directory • mkdir sub1 – creates a subdirectory within your current working directory. For example, if you are currently in the directory /root/users/marty, you will now have a subdirectory named sub1 immediately beneath marty.
File and Subdirectory Practice • Your working directory is jsmith. • 1. Create a file named file1 in the current directory. • cat >file1 or touch file1 • 2. Change your directory to ‘dir1’. • cd dir1 • 3. Create a subdirectory ‘newdir’ immediately beneath ‘dir2’. • mkdir dir2/newdir • Since you are currently in dir1, you must specify the directory path from dir1 to dir2 so that you can create newdir beneath dir2 • 4. Create a file named file2 in the subdirectory ‘newdir’ without changing your current location. (You are in dir1) • cat >dir2/newdir/file2 or touch dir2/newdir/file2 • 5. Display the contents of the file ‘file1’ located in the ‘jsmith’ subdirectory without changing your working directory. (You are in dir1) • cat ../file1
File and Subdirectory Practice (2) • 6. Display the names of the files in the subdirectory ‘dir2’ without changing your current location. (You are in dir1). • ls dir2 • 7. Change your working directory to root (/). • cd / • 8. Change your working directory to your home directory. • cd • 9. Display the contents of the file ‘file2’ from your current directory. (file2 is found in ‘newdir’ – you created it in #4, you are in jsmith). • cat dir1/dir2/newdir/file2 • 10. You are in newdir (subordinate to dir2). Display the contents of ‘file4’ in jsmith without changing your current directory. Use a relative file name. • cat ../../../file4
Managing Files and Directories Practice Exercises • Click on the following link to review the practice exercises on managing files and directories. • File and Directory Practice Exercises • (If you have a Pop-Up Stopper enabled, you will have to disable it to view the exercise above.)
Setting File Permissions So we see that X11and cron.daily are subdirectories and adjtime is a normal file.
Setting File Permissions The ls –l command displays the file permissions. The first character specifies the file type, the next 3 chars specify the file owner’s permissions, the following 3 chars represent the permissions that the group associated with the file will have, and the final 3 chars specify the permissions that all other users on the system will have for this file.
File Permissions (2) • In UNIX, each file has an owner (typically the user that created the file), and a group. Note that a file may have any combination of the following rights (read, write, execute) for either owner, group, or other (everyone else). • If the file ‘junk’ has the following permissions: -rwxr-xr— • It is a normal file (1st char is a -) • Owner has read, write, and execute • Group has read and execute • All other users have only read
Setting File Permissionsfor 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
File Permissions Categories • In UNIX, each file has an owner and a primary group associated with it. Typically, the owner is the user who created the file and the primary group associated with that owner is the group associated with the file. The owner, group and the ‘rest of the world’ can each have r,w, or x to the file.
File Permissions Meanings • Read (r) • Having the r right to a file enables the user to cat the contents of the file. • Having the r right to a directory enables the user to ls the contents of the directory. • Write (w) • Having the w right to a file enables the user to change, delete or modify the file. • Having the w right to a directory enables the user to add, rename, or delete files and/or subdirectories to the directory. • Execute (x) • Having the x right to a file enables the user to execute the file (typically used for script files) • Having the x right to a directory enables the user to make the directory his or her current working directory.
The chmod command • The chmod command is used to set file permissions. Experienced UNIX users use a numeric command to exactly specify all rights at once. Each permission is assigned a numeric value (r=4,w=2,x=1) and the values are added together to represent each category’s (owner, group, world) cumulative rights. • For example, the permission set of –rwxrw-r– would be assigned a numeric value of 764 [owner rwx (4+2+1=7); group rw (4 + 2=6); and world r (4) • So by issuing the command ‘chmod 764 file1’, you would grant file1’s owner rwx, file1’s group rw and the world r to the file.
Chmod practice • To assign the owner rw, the group r and the world no rights, • chmod 640 file1 • To assign the owner rwx, the group rw, and the world no rights, • chmod 760 file1 • To assign the owner rwx, the group no rights, and the world no rights, • chmod 700 file1
Chapter Summary • In UNIX, a file is the basic component for data storage and UNIX considers everything a file • A file system is the UNIX system’s way of organizing files on mass storage devices and each file is referenced using a correct and unique pathname • The standard tree structure starts with the root (/) directory • The section of the mass storage device (or disk) that holds a file system is a partition
Chapter Summary (2) • A path serves as as a map to access any file on the system • You may customize your command prompt to display the current working directory name, the current date and time, and several other items • The ls command displays the names of files and directories contained in a directory • Wildcard characters (i.e. *, ?) can be used in a command such as ls and take the place of other characters in a file name
Chapter Summary (3) • Use the mkdir command to create a new directory, as long as you own the parent • Use the chmod command to set permissions such as read (r), write (w), execute (x) for files that you own • Use the cp command to copy a source file to a destination file and directory