Question: Use the diagram of the sample Class File System directory tree to assist with this lab. Step 1. Open the terminal window Click Start->All Programs->PuTTY(64-bit)

Use the diagram of the sample Class File System directory tree to assist with this lab. Step 1. Open the terminal window Click Start->All Programs->PuTTY(64-bit) folder->PuTTY icon enter "ubuntu" onto both of Host Name and Saved Sessions text box to open a terminal window. Connect UBUNTU sever a. Use your login name and password to login the server. Notice: the password will not show up. Step 2. Display Permissions. Permissions control who can do what to files and directories in the file system. Directory and file permissions can be determined using the ls (list) command with the -l (long) option. The ls -l command will display a long listing of the contents of a directory. If the -a (all) option is included, all files, including hidden files and directories (those beginning with a dot) will be displayed. The following table provides a summary review of the information displayed with the ls -l command. Note: When working with permissions, File type, Permissions, Owner, Group and File/Directory name are the most important pieces of information in the listing. CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 2 File dash (-) in the first position indicates a regular file. A d indicates directory Permissions 3 Sets of permissions - User, Group, Others Links Links to other files and directories. Owner User (login) ID of user who created the file or directory unless ownership was assigned. Group Group name that owner belongs to as established by the system administrator Size File size in Bytes Modification Date / Time Month, Day, Year (if not current year) and Time the file was created or last modified. File Name File or Directory Name The first position in the ls -llisting for a file or directory indicates the file type. Use the ls -l commands to list the files in the user2 directory from 'your home' folder. a. What command do you use to verify the current working directory? __________________ b. What is the result? _________________________________ c. Type ls -l ~/user2 at the command prompt. d. What is the file type of dante (File or Directory)? ____________________________ e. The next 9 positions in the ls -llisting represent the permissions of the file. The possible ions for any file or directory are: (lower case) r, w, x or dash (-). f. What are the permissions of the dante file? __________________________________ Step 3. Determine Permissions for a File. a. Who is the owner of the 'dante' file? ________________________ b. What are the first two characters of the 'user' permissions? __________________ c. In the 'user' set of permissions, what is in the third position? _________________ d. The 'owner' of the dante file is a member of what primary group? ______________ e. What is first character of the group permissions? ___________ f. What will this allow other members to do with the file? __________ g. What permissions do people other than the owner and group have to the dante? _________ Step 4. Determine File Permissions for an Executable file Executable files such as UNIX/Linux utilities and script files require the x (Executable) permission in order for anyone to run the command or script. a. Change to 'your home' directory if you are not there. b. From 'your home' directory display the long directory listing for the pwdx command file in the /usr/bin directory. What command did you use? ________________________ c. What is the type for the file? ____________________ d. What are the permissions for the file? ____________________________ e. What are the User permissions? ____________________ f. What are the Group permissions? ___________________ g. What is the permission for Others? _________________ Step 5. New File and use ls -l command to find out the Default Permissions. New files are created with default permissions. Use the touch command to new file. a. From 'your home' directory new file called newfileperms in your practice directory. What command with the 'relative' pathname did you use? _________________________________________________________________ b. From 'your home' directory, what did you use at the command prompt to long list the contents of your practice directory to see the permissions of newfileperms file? ________________________________________________________________ CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 3 c. What are the default permissions that were assigned to the newfileperms file? __________________________ Step 6. New Directory and use stat command to find out the Default Permission New directories are also created with a different set of default permissions. Use the mkdir command to new directory. The stat command to display the file's status. Use -c option to define the file/directory's permission followed by %A for symbolic mode and %a for octal mode. For example, $ state -c %A user2 drwxrwxrwx a. Still from 'your home' directory new directory called newdirperms under your practice directory. What command with the 'absolute' pathname did you use? _________________________________________________________________ b. From 'your home' directory, see the permissions of newdirperms. What do you enter at the command prompt by using the stat command with a symbolic mode? ____________________________________________________________________ c. What are the default permissions that were assigned to this directory? ________________ Step 7. Review chmod Command Modes The chmod (change mode) command is used by a file's owner (or superuser) to change file permissions. The two modes of operation with the chmod command are symbolic (or relative) and octal (or absolute). The mode portion will change depending on whether you are using symbolic or octal mode. Command format: chmod mode filename Symbolic mode - uses combinations of letters and symbols to add or remove permissions from various categories of users. Symbolic mode is also referred to as relative mode. Octal mode - uses numbers to represent file permissions. Octal mode is also referred to as absolute or numeric mode. a. Which chmod mode uses numbers to represent file permissions? _________________ b. Which chmod mode uses letters (or symbols) to represent permissions? _____________ c. What is another term for Octal mode? _____________________________ d. What is another term for Symbolic mode? ___________________________ Step 8. Change File Permissions Using Symbolic Mode When using symbolic mode to set permission, you typically work with one category of users, although you can give all categories the same permissions simultaneously. The mode is referred to as relative since you are assigning or removing permissions relative to the ones that are already there. You can add one or more permissions to a specific category of users or take them away. The command format for symbolic mode uses letters and symbols. The mode portion of the command format is made up of three parts: Who - Category of users you are working with: u = user, g = group, o = other or a = all Op - Operator or what you are going to do: set (=), remove (-), give (+) Permissions - Permission(s) to be assigned - r = read, w = write or x = execute CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 4 The following example removes (-) the read permission (r) from the file dante for the other (o) category of users. Note: There should be NO spaces between the o, dash (-) and r. chmod o - r dante The next example adds (+) the write permission (w) to the file dante for the group (g) and other (o) categories of users. chmod g o + w dante a. Verify your current location, what command do you use? __________________ b. What is the result? (Hint: it will be your home directory.) _________________________ c. What command will change to the 'user2' directory? ____________________________ d. From the 'user2' directory, new directory called chmoddir under your practice directory by using a relative pathname. What command did you use to create the new directory? ___________________________________________________________ e. Change to the chmoddir directory under the practice directory. What single command did you use by using a relative pathname? __________________________________ f. What command will you use to new file called symfile? ______________________ g. Use the ls -l command to determine the permissions for the new symfile file. These are the default permission for a new file. What are the permissions for User, Group and Other? __________________________________________ h. You decide you do not want other users (other than yourself and members of your group) to be able to see the contents of or copy symfile. Use the chmod command, in symbolic mode, to remove the r (read) permission for other users for the file symfile. What command did you use? ________________________________________ i. List the permission of the file again. What is the permission for the others user category now? ____________________________________ j. What command would you use if you wanted to remove the read permission for both the group and others with one single command in symbolic mode? _______________________ Step 9. Change Directory Permissions Using 'Symbolic' Mode a. What did you use to change back to the practice directory by using a 'relative' pathname? _____________________________________________ b. From the practice directory, list the permissions for the new chmoddir directory you created earlier. These are the default permissions for a directory. What are the permissions for User, Group and Other? ____________________________________ c. You do not want other users to be able to copy files from your chmoddir directory. What did you use to remove the read permission and the execute permission for the others category of users in CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 5 symbolic mode from the directory chmoddir, which is under your practice directory? ___________________________________________________________________________ d. List the permissions of this chmoddir directory again. What is the permission for the others user category now? ___________________________________________________ e. Under the practice directory, use the chmod command in symbolic mode to add the write permission for the others for the directory chmoddir. What single command did you use? _____________________________________________ f. Change the permission back to the default permissions (which will be rwxrwxr-x) using symbolic mode. (Hint: groups and permissions can be combined with one command.) What single command did you use? _____________________________________________ Step 10. Determine Octal Mode Permissions Octal mode provides a quick numeric means of changing permissions for all categories of users simultaneously while still allowing each set of permissions to be different. There are three possible permissions for each set (r, w, and x) for each type of user category (user, group, other). Each set of permissions can be assigned a numeric value (from 0 to 7) depending on which permissions are allowed. The r (read) permission is assigned a value of 4, the w (write) permission a value of 2 and the x (execute) permission a value of 1. By adding up the numbers we can get a total of all three permissions for that category of user (User, Group or Other). For instance if the Owner (user) permission for a file is r w x, We add 4 (read) + 2 ( write) + 1 (execute) which equals 7. If the group had r w - permissions they would have 4 + 2 + 0 (no execute) for a total of 6. If other had only r they would have 4 + 0 + 0 (no write or execute) for a total of 4. The octal mode for this file or directory is 764. r w x r w - r - - 4+2+1 4+2+0 4+0+0 User Group Other a. Fill in the following table by converting the character permissions (r,w,x, -) to their octal equivalents. Convert each set of permissions first (User, Group or Other) and then enter the octal_mode (three-digit number) under Octal Mode permissions. User Permissions Octal Sum Group Permis sions Octal Sum Other Permissi ons Octal Sum Octal Mode Permissions r w x r w - r w - r w - r - - r - - r - - r - - r - - r w x r - x r - x Step 11. Change File Permissions Using Octal Mode With octal mode, it is not necessary to specify the category of users since the position of each number represents one of the three user categories. The octal_mode is made up of three numbers, each of which is the sum for one of the user categories (User, Group, and Other). Octal values are combined to identify the octal_mode that is used with the chmod command. CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 6 Command Format: chmod octal_mode filename a. Change to the chmoddir directory from the 'practice' directory, what command do you use by using the absolute pathname? _________________________________________________ b. What command did you use to new file called octfile? _________________________ c. Use the ls -l command to determine the permissions for the new octfile file. These are the default permission for a file. What are the symbolic permissions for User, Group and Other? __________________________________________ d. What is the octal mode equivalent of the user, group, and other permission for this file? _______ e. You decide you do not want other users to be able to see the contents of or copy octfile. Use the chmod command in octal mode to remove the r (read) permission for other users for the file octfile. What command did you use? ____________________________________ f. List the permission of the file again. What is the symbolic permission for the others user category now? _______________ What is the equivalent octal permission? _______________ g. What command would you use if you wanted to remove all permissions for both the group and others with a single command in octal mode? ________________________________ Step 12. Change Directory Permissions Using Octal Mode The format below is used to change the permissions on a directory. The -R (recursive) option changes the permissions on the specified directory and on all subdirectories and files within it. Command Format: chmod [-R] octal_mode directoryname a. Change back to the 'practice' directory using the absolute pathname. What command did you use? __________________________________________________________ b. From the practice directory, new directory called octaldir using a relative pathname. What command did you use to create this directory? _______________________________ c. What is the symbolic permission for User, Group and Other for the octaldir directory? __________________________ What is the octal mode equivalent of the user, group and other permission for this octaldir directory? ____________________ d. Use the chmod command in octal mode to remove the read and the execute permission for the others category of users from the directory octaldir. What command did you use? (Remember, you must always specify all 3 sets of permissions with octal mode even if they are not to be changed.) _________________________________ e. You decide you want members of your group to be able to copy files to your directory. Under the practice directory and use the chmod command in octal mode to change the permission for the directory octaldir. The user should have rwx, the group should have rw and other should have no permissions to the directory. What command did you use? _____________________________________________ CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 7 f. Change the permissions back to the default permissions (rwxrwxr-x) using octal mode. What single command do you use? ______________________________________________ Step 13. View and set special permissions on files and directories by using four digits You can also use the numeric method to set the setuid, setgid, and sticky bits by using four digits. setuid=4 setgid=2 sticky=1 For example, $chmod 2660 test will set read/write bits for user and group as well as enable the setgid bit. The special permission is -rw-rwS--- a. Still in the 'practice' directory, what will you type at the command prompt to create the new file named specialfile? _________________________________________ b. Next, type ls -l specialfile at the command prompt and press Enter to verify that 'specialfile' was created successfully. Who is the owner and who is the group owner of the 'specialfile' file? _______________________ c. What default permission is set on this file? ______________________________ d. At the command prompt, type chmod 4777 specialfile and press Enter. Next, type ls -l at the command prompt and press Enter. Which special permission is set on this file? ___________________________________ e. At the command prompt, type chmod 6777 specialfile and press Enter. Next, type ls -l at the command prompt and press Enter. Which special permissions are set on this file? ________________________________________ f. At the command prompt, type chmod 6444 specialfile and press Enter. Next, type ls -l at the command prompt and press Enter. Which special permissions are set on this file? ________________________________ g. At the command prompt, type ___________________________ command to create the new directory named public and press Enter. Next, type ls -l at the command prompt and press Enter. What default permission is set on this directory? ____________________________ h. Next, type chmod 1750 public at the command prompt and press Enter. Next, type ls -l at the command prompt and press Enter. Which special permission is set on this directory? ________________________________________ Step 14. View and manipulate the default file and directory permissions using the umask command. a. At the command prompt, type umask and press Enter. What is the default umask variable? ______________________ b. At the command prompt, type umask -S and press Enter. What did you see now? ______________________________________ c. What is the default 'octal' value for creating new file? ________________________ d. What is the default octal value for creating a new directory? ___________________ e. At the command prompt, type _________________________________ command to create the new file named utest1 and press Enter. f. Next, type ls -l at the command prompt and press Enter. What is the default permissions of the utest1 file? _________________________________ g. new directory named udir1 by typing the command ______________________ at the command prompt and pressing Enter. h. Next, type ls -l at the command prompt and press Enter. i. What is the default permissions for the udir1 directory? ___________________________ j. At the command prompt, type umask 007 and press Enter. k. Next, type umask at the command prompt and press Enter to verify that your umask variable has been changed. What value did you see now? _______________________ l. At the command prompt, type touch utest2 command and press Enter. CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 8 m. Next, type ls -l at the command prompt and press Enter. What is the default 'octal' permission for the 'utest2' file? ____________________________ n. new directory by typing the command mkdir udir2 at the command prompt and pressing Enter. o. Next, type ls -l at the command prompt and press Enter. What is the default 'octal' permission for the udir2 directory? __________________ Step 15. Finding files with their permission and inode number The 'find' command to search for files and directories based on their permission or inode number.. For example: Using -perm with either octal or numeric mode for finding files/directories with their permission. Also, use "-", "/" prefix or without any prefix. Using -inum to search files for the inode number For example, $ find . -type d -perm 755 -o -type f -perm 664 To match directories with permissions that are 775 and files with permissions that are 664. $ find .-perm /u=rw,g=r To match files that have all the specified permissions set for the owner has read and write permission and group has read permission a. What did you use to change the location from the 'practice' directory to 'your home' directory? ___________________________________ b. Still from 'your home' directory, what command will you use to find all files which are owned by yourself (hint: use $(whoami) instead) and their permission must match exactly 664? _____________________________________________________ c. What command will you use to find all files has a match will occur if either the owner, the group, or the other have their "write" bit set for their permission under the practice directory by using octal mode from 'your home' directory? ____________________________________________________________ d. You are in 'your home' directory. What command do you use to search for files in the 'user2' directory, grouped by user 'durandj', that have at least read and write permissions for the owner and read permissions for the group and others? List all matching files in long format using symbolic mode. _________________________________________________________________ e. What command will you change to the user2 directory? _____________________ f. What command do you use to find out the file with inode number '656800' under the 'user2' directory as well as long list this file? ___________________________________ g. What command will prompt you before removing the file under the current location with the inode number '123456'? ________________________________________________ Step 16. To user-defined variable, and assign it a value: To user-defined (shell) variable, no space before and after the assignment operator (=) For example, Name="Nancy" To see/verify the contents of the user-defined variable by using the echo command, you must precede the name of the variable with a $ operator. For example, echo $Name To use double quotation marks to set a variable to a string of characters containing space. To demonstrate how double quotation marks (" ") do not suppress the viewing of a variable's contents, but single quotation marks (' ') do suppress the viewing. You will also see the back quote ( `) operator for executing a command. CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 9 a. You type __________________________________ at the command prompt to assign Shepeherd to the user-defined variable named DOG and press Enter. b. Type echo DOG in the command line, and press Enter. What did you see? _____________________ c. If you want to see the contents (Shepeherd) of a variable DOG, type ___________________________ command. (Using echo command) d. To assign Meeting will be at noon today to the variable MEMO. What command will you type in? _____________________________________________ e. Type ________________________ command to see the contents of the MEMO variable. f. Type echo '$HOME' (with the single quote) and press Enter. (Hint: uppercase for HOME) What did you see? _____________________________ g. Type echo "$HOME" (with the double-quotations) and press Enter. What did you see? ______________________________ h. Type TODAY=`date` (with the back quote) Note: ` is a back quote and no space before and after the equal sign) and press Enter. i. Notice: No output appears on the screen. j. Type _________________________ to see the output of the contents of TODAY variable. k. What did you see from the screen? _________________________________________ l. Type ___________________________command to clear the screen. Step 19. Using the arithmetic operators: You employ the let command to practice using arithmetic operators to set the contents of a shell variable. a. To set the variable X=10+2*7, what command will you type in the command prompt? __________________________________and press Enter. b. Type _____________________________ command to view the content of variable X. c. What did you see on the screen? ________________________ d. If you want to set the variable Y=X+2*4, type ________________________________ command. e. Type echo $Y and press Enter. What number did you see on the screen? ____________ Step 20. To see a list of your environment variables: In Linux, 'set' and 'env' are two command-line utilities that manage environment variables and shell variables. The 'set' command is used to define or display the shell variables and options. You use the printenv command to print the values of environment variables. Also, it prints specify a particular variable to see its value. For example, $printenv SHELL prints the value of the 'SHELL' environment variable /bin/bash $echo $SHELL The 'env' command is used to display and set environment variables, as well as run commands in a modified environment. $env PATH=/usr/local/bin my_command runs my_command with a modified PATH The 'export' command is used to set environment variables that are available to child processes of the current shell. Format: export variable_NAME=value a. At the command prompt, enter ________________________________________ to assign "My sample variable" to variable called MYVAR. b. Verify its creation by typing _______________ at the command prompt, and press Enter. CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 10 c. At the command prompt, type set | grep MYVAR and press Enter. Is the MYVAR variable listed? _____________ d. At the command prompt, type env | grep MYVAR and press Enter. Is the MYVAR variable listed? ____________ e. At the command prompt, type export MYVAR and press Enter. Next, type env | grep MYVAR at the command prompt and press Enter. Is the MYVAR variable listed now? ___________ f. Type __________________________ command to list all environment variables and one page a time. (Hint: using printenv command, | (piping), and more command to view one page a time.) g. Next, use the printenv command to view both contents of two variables: SHELL and PATH. Type _________________________________________ at the command prompt and press Enter to view both variables. h. In addition, you can use echo command to view the values of two environment variables: SHELL and PATH. What did you enter at the command prompt? __________________________________ i. Type _______________________ command to clear the screen for the next step. Step 21 Use if statement as well as to implement decision logic: a. What command will change to the 'practice' directory from the current 'user2' directory? ________________________ b. Using vi editor to new file named veg_choice. What will you type at the command prompt? ________________________________ c. Type _____ key to switch to vi's insert mode. d. Type the following lines: (Be carefully for all spaces and different lines) e. Press ________ key to switch to vi's command mode, and type ___________________________ in the last-line mode to save and exit vi editor. f. Make the script executable by typing the command to change the permission. (Hint: using chmod command) __________________________________________ g. Run the script file, what command do you use? ________________________ h. When asked to enter the name of your favorite vegetable, answer corn. What does it respond? _________________________________________________ CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 11 Step 22. Use a if...elif..elif..else ..fi statement as well as to implement decision logic: a. Open the 'veg_choice' file with vi. What do you type? _________________________ b. Type _________ key to move to line 8. (Cannot use the arrow keys) c. Then, type ________ key to change to inset mode and open a new line above the current line for entering text. d. Enter the following lines starting line 8 to line 10. e. Code has been added to the else part of the original if statement. See the lines in blue bold: h. Press _______ key to switch to vi's command mode, and type _________________________ to save the modifications to the new file named 'new_veg_choice' and exit vi editor. i. Execute the script by using the sh command without changing the permissions, what will you type to execute the script? ____________________________________ j. Respond with carrots when asked for your favorite vegetable. What will it respond? ______________________________________________ Step 23 Use a while and case statements in a shell script: a. You are still in the 'practice' directory, what command do you use to create the file colors with vi editor? ______________________________ b. Type i key to switch to vi's insert mode. Then typing the following lines into the file: CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 12 c. Press _________ key to change to command mode. Then, save the exit the editor. What do you type in the last line mode? ______________________ d. Give the file executes permission, and run it. What series of commands did you use? _________________________________________________________________ e. Try to type "red" color; what will it respond? ________________________________ Step 24. Use a case statement in a shell script a. Using vi editor to create the 'familydatabase.sh' file, which is save under the 'practice' directory, what do you the command prompt? __________________________ b. Enter the following text: c. When finished, save and quit the vi editor. d. At the command prompt, type ___________________________ to change the permission by using octal mode. e. Next, type _____________________________ at the command prompt to run the script. f. when prompted and supply the appropriate values for a family member of your choice. Does the menu continue to appear when you have finished entering your record? _____________ g. Type s and supply a piece of information you previously entered for a family member to see the results. h. Next, type x. What is the result? ________________________________________ i. Type q to quit the shell script. CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 13 Step 25. Create Aliases and set the value for the alias An alias is a way to give a command a different name for use in the shell. Aliases provide an excellent way to improve efficiency and productivity when using shell commands. Command Format: alias aliasname=value There are no spaces between the alias command, the equal sign (=), and the command(s) being assigned to the alias. Use single quotes for commands with options, spaces or other special characters (examples below). The reasons to use aliases are summarized below, along with some examples of how to create them. Substitute a short command for a long one - You can reduce the number of keystrokes for commonly used long commands by creating an alias for the command. Example: $ alias c=clear $ alias ll="ls -l" single command for a series of commands - You can string several commands together and assign them one short alias name to reduce keystrokes. Example: $ alias home='cd;ls' Create alternate forms of existing commands - Some commands such as rm (remove files and directories) and cp (copy files) can be dangerous. An alias will allow you to change the meaning of these commands to include the -i option so the user is prompted before accidentally overwriting a file or directory. Example: $ alias copy='cp -i' a. At the command prompt, type alias and press Enter. Note the aliases that are present in your shell. b. At the command prompt, type alias asample="cd /etc ; cat hosts ; cd ~ ; ls -F" and press Enter. c. At the command prompt, type asample and press Enter. What happened? ____________________________________________________________ d. Create an alias called h (lower case letter h) to substitute for the shell history command. What did you type at the command prompt? __________________________________ e. At the command prompt, type h and press Enter. What happened? ___________________________________________________________________ f. Create an alias called p (lower case letter p) that will display every process running on the system with a full listing one screen at a time. What did you type at the command prompt? (Hint: using ps -e and more command) _______________________________ g. Create an alias called mv that will substitute the command mv -i command for the mv command to prevent accidentally overwriting files when moving. At the command prompt, what did you type? _____________________________________________________ h. At the command prompt, what did you type to create an alias called cpi that will substitute the command cp -if command for the cp command to enforce and prompt for copying the directory? _____________________________________________________ CSC 156 - Operating Systems Basic and Security Professor Sylvia Yeung Page 14 i. Try the new cpi alias. Copy the dante file from the user2 directory into the current 'practice' directory, what command do you use? ________________________________ j. Then attempt to move dante to the practice directory using the mv alias. What do you type at the command prompt? ____________________________________________ Step 26. Display Aliases To display aliases, use the alias command with no arguments/options. Using the alias command by itself will display all aliases set for the current session. Some aliases are pre-defined with the BASH shell. a. Display all aliases for your current session. What command do you use? ____________ b. Do you see the ones you created previously? ____________________ c. Use the alias command and pipe the output to the wc -l command. This will count the lines of output from the alias command. What do you type at the command prompt? _____________________________________ d. Subtract the ones you created from the total. How many other aliases were predefined as part of your BASH shell? ____________________________ Step 27. Close the Terminal Window and Logout. NEED THIS ALL DONE BY TOMORROW AT MIDNIGHT!

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Law Questions!