Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please type following answer. Select one of the following OS choices: real-time

ID: 3752367 • Letter: P

Question

Please type following answer. Select one of the following OS choices: real-time system, the Linux operating system, Windows, or Mac OS X. Draft the File System section, a file system includes the methods and data
structures that an operating system uses to keep track of files on a disk or partition. You may need to research the partition or disk that is used to store the files
or the type of the file system in that operating system. Remember to properly cite all references. To complete this assignment, you must address the following critical elements related to the file system of your chosen OS:
Describe the file structure of the operating system.
Describe the file type used in the operating system.
Describe the file access mechanisms used in the operating system including program threats, system threats, user authentication, user permissions, and
virus protection.

Explanation / Answer

Answer:

OS choice: Linux Operating System

A. File Structure of Linux OS:

The Linux File Structure defines the directory structure and directory contents in Unix-like operating systems.Here, all files and directories appear under the root directory /, even if they are stored on different physical or virtual devices.The following are the different file structures in linux:

1. / (Root) : It is the primary hierarchy root and root directory of the entire file system hierarchy. Every single file and directory starts from the root directory.Only root user has the right to write under this directory. /root is root user’s home directory, which is not same as /.

2. /bin – User Binaries : Contains binary executables.Common linux commands we need to use in single-user modes are located under this directory.Commands used by all the users of the system are located here.For example: ps, ls, ping, grep, cp.

3. /sbin – System Binaries: Just like /bin, /sbin also contains binary executables.But, the linux commands located under this directory are used typically by system aministrator, for system maintenance purpose.For example: iptables, reboot, fdisk, ifconfig, swapon

4. /etc – Configuration Files: Contains configuration files required by all programs.This also contains startup and shutdown shell scripts used to start/stop individual programs.For example: /etc/resolv.conf, /etc/logrotate.conf

5. /dev – Device Files: Contains device files.These include terminal devices, usb, or any device attached to the system.For example: /dev/tty1, /dev/usbmon0

6. /proc – Process Information: Contains information about system process.This is a pseudo filesystem contains information about running process. For example: /proc/{pid} directory contains information about the process with that particular pid.This is a virtual filesystem with text information about system resources. For example: /proc/uptime

7. /var – Variable Files: var stands for variable files.Content of the files that are expected to grow can be found under this directory.This includes — system log files (/var/log); packages and database files (/var/lib); emails (/var/mail); print queues (/var/spool); lock files (/var/lock); temp files needed across reboots (/var/tmp);

8. /tmp – Temporary Files: Directory that contains temporary files created by system and users.Files under this directory are deleted when system is rebooted.

9. /usr – User Programs: Contains binaries, libraries, documentation, and source-code for second level programs. /usr/bin contains binary files for user programs. If we can’t find a user binary under /bin, look under /usr/bin. For example: at, awk, cc, less, scp. /usr/sbin contains binary files for system administrators. If we can’t find a system binary under /sbin, look under /usr/sbin. For example: atd, cron, sshd, useradd, userdel. /usr/lib contains libraries for /usr/bin and /usr/sbin. /usr/local contains users programs that we install from source. For example, when we install apache from source, it goes under /usr/local/apache2

10. /home – Home Directories: Home directories for all users to store their personal files.For example: /home/john, /home/nikita

11. /boot – Boot Loader Files: Contains boot loader related files. Kernel initrd, vmlinux, grub files are located under /boot.For example: initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic

12. /lib – System Libraries: Contains library files that supports the binaries located under /bin and /sbin. Library filenames are either ld* or lib*.so.*. For example: ld-2.11.1.so, libncurses.so.5.7

13. /opt – Optional add-on Applications: opt stands for optional. Contains add-on applications from individual vendors. add-on applications should be installed under either /opt/ or /opt/ sub-directory.

14. /mnt – Mount Directory: Temporary mount directory where sysadmins can mount filesystems.

15. /media – Removable Media Devices: Temporary mount directory for removable devices. For examples, /media/cdrom for CD-ROM; /media/floppy for floppy drives; /media/cdrecorder for CD writer

16. /srv – Service Data: srv stands for service. Contains server specific services related data. For example, /srv/cvs contains CVS related data.

B. File Types used in Linux OS:

There are 7 different types of files in Linux OS. All of them can be accessed using a single command called "ls".Example is: $ls -ld <file name>

ls command will show the file type as an encoded symbol found as the first character of the file permission part.The different file types are:

Regular file: The regular file is a most common file type found on the Linux system. It governs all different files such us text files, images, binary files, shared libraries, etc. We can create a regular file with the touch command: i.e., $touch abc.txt

Directory: Directory is second most common file type found in Linux. Directory can be created with the mkdir command:i.e., $ mkdir directoryname. Directory can be identified by "d" symbol from the ls command output. To remove empty directory use the rmdir command.

Character device: Character device files allow users and programs to communicate with hardware peripheral devices.

Block Device: Block devices are similar to character devices. They mostly govern hardware as hard drives, memory, etc.

Local domain sockets: Local domain sockets are used for communication between processes. Generally, they are used by services such as X windows, syslog and etc. Sockets can be created by socket system call and removed by the unlink or rm commands.

Named Pipes: Similarly as Local sockets, named pipes allow communication between two local processes. They can be created by the mknod command and removed with the rm command.

Symbolic Links: With symbolic links an administrator can assign a file or directory multiple identities. Symbolic link can be though of as a pointer to an original file. There are two types of symbolic links:hard links & soft links.

        The difference between hard and soft links is that soft links use file name as reference and hard links use direct reference to the original file. Furthermore, hard links cannot cross file systems and partitions. To create symbolic soft link we can use ln -s command: $ln -s file1 file2. To remove symbolic link we can use unlink or rm command.

C. File Access Mechanisms used in Linux OS:

Although there are already a lot of good security features built into Linux-based systems, one very important potential vulnerability can exist when local access is granted - - that is file permission based issues resulting from a user not assigning the correct permissions to files and directories.

Basic File Permissions

Permission Groups

Each file and directory has three user based permission groups:

Permission Types

Each file or directory has three basic permission types:

Viewing the Permissions

We can view the permissions by checking the file or directory permissions or by reviewing the output of the "ls -l" command while in the terminal and while working in the directory which contains the file or folder.

Explicitly Defining Permissions

To explicity define permissions you will need to reference the Permission Group and Permission Types. The Permission Groups used are:

u - Owner

g - Group

o - Others

a - All users

The potential Assignment Operators are + (plus) and - (minus); these are used to tell the system whether to add or remove the specific permissions. The Permission Types that are used are:

r - Read

w - Write

x - Execute