Changes

Jump to: navigation, search
Method 2: Decimal to Binary
# Write down the '''decimal number''' to be converted.
# On the ''right-side'', write the number '''1''' and moving '''leftwards''', keep <u>doubling</u> the numbers until that number is '''greater than''' the decimal number to be converted (refer to the diagram on the right).<br>
# Starting on the rightleft-side of those doubled numbers, compare that number with the decimal number. If that number if less than or equal to the decimal number, then write a '''1''' below and subtract that number from the decimal number to get a remainder. If the number is greater than decimal number (or remainder), then write a '''0''' below.<br><br># Repeat '''step #3''' (moving leftwards rightwards and comparing the number with the decimal's remainder)<br><br>'''NOTE:''' If you are converting to '''8-bit''', '''32-bit''', etc., add '''leading zeros''' if necessary.<br><br>
==== Method 3: Octal to Binary / Binary to Octal ====
Users that <u>own</u> those ''directories'' and ''regular files'' are referred to as '''users''', users that belong within the <u>same group</u> are referred to as '''same group members''', and those users are do <u>NOT</u> belong to a particular group are referred to as '''other group members'''.
'''NOTE:''' In this course, we cannot create groups or assign users to groups in the '''Matrix''' server.<br>Instead, you will learn how to those tasks when or if you take a Unix/Linux administration account.<br>On the other hand, you can change which '''user''',<br>existing '''same group members''' or existing '''other group members''' <br>can access or cannot NOT access a directory or regular file.<br><br><table align="right"><tr><td>[[Image:directory-permissions.png|thumb|right|350px|Permissions of a '''directory''' that contain subdirectories and regular files.]]</td><td>[[Image:file-permissions.png|thumb|right|350px|Permissions of a '''regular file''' contained within a directory.]]</td></tr></table>File Permissions consist of '''two-layers''':<br><br>'''First''', the permissions of a '''directory''' that contains regular files, and '''second''', permissions of the '''regular files''' themselveswithin a directory.
''Permissions for Directory files have a different meaning than permissions for regular files:''. Refer to the diagrams to the right to see the explanation of permissions and how they differ between a directory and a regular file.
A symbol ''dash'' "'''-'''" indicates that the permission has '''NOT''' been granted.
[[Image:file-permissions.png|thumb|right|350px|Permissions of a '''regular file''' contained within a directory.]]
The permissions of '''newly-created''' directories and regular files are automatically assigned<br>via a '''user mask''' (we will discuss this shortly). In order to change permissions for directories and regular files, >you would use the '''chmod''' command.
:*Referring to the <u>left-most</u> diagram above, '''read''' ('''r''') permissions permit viewing directory contents, '''write''' ('''w''') permissions allow subdirectories and regular files to be created in that directory, and '''execute''' ('''x''') permissions permit access to that directory. These permissions relate to the 3 categories: '''user''' (owner), '''same group members''', '''other group members'''.
:*Referring to the <u>rightmost</u> diagram above, '''read''' ('''r''') permissions permit viewing regular file contents, '''write''' ('''w''') permissions allow file contents to be modified/edited, and '''execute''' ('''x''') permissions permit the file to be run (e.g. running a '''program''' or '''shell script'''). Again, these permissions relate to the 3 categoriesChanging File Permissions with "chmod" command: '''user''' (owner), '''same group members''', '''other group members'''.
'''<span style="font-style:italic">Symbolic Method:</span>'''
The chmod can use '''symbols''NOTE:'to '' The symbol add''dash, '' "remove'', and '-'set''<span style="font-family:courier;font-weight:bold;" indicates that >rwx</span> permissions for the permission is '''NOTuser''',<br>'''same group members''', and/or o'''ther group members''' grantedfor a directory or reqular file.
The permissions of '''newly-created''' directories and regular files are automatically assigned via a '''user mask''' (we will discuss this shortly). In order to change permissions for directories and regular files, you would use the '''chmod''' command.
 
 
'''Changing File Permissions with 'chmod' command:'''
 
'''<span style="font-style:italic">Symbolic Method:</span>'''
 
The chmod can use '''symbols''' to '''add''', '''remove''', and '''set''' rwx permissions for user,<br>same group members, other group members or ALL categories:
<table cellpadding="5" width="70%"><tr><th style="border-bottom: 1px solid black;text-align:left;">Command</th><th style="border-bottom: 1px solid black;text-align:left;">Description</th></tr><tr valign="top"><td width="40%"><span style="font-family:courier;font-weight:bold;">chmod ugo+x script.bash</span></td><td>Add execute permissions to the file '''script.bash''' so it can be run.</tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold">chmod u=rwx,go=x ~</span></td><td>Set "'''pass-thru'''" permissions of your '''home''' directory for same group members and other group members to navigate to other subdirectories (that may have access / view permissions).</tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold;">chmod go-w ~/shared</span></td><td>Remove write permissions for same group members and other group members for the directory '''~/shared'''</td></tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold;">chmod a=rx my</span></td><td>Set read and execute permissions for the directory '''myfile.txt'''</td></tr></table>
'''<span style="font-style:italic">Octal (Absolute) Method:</span>'''
[[Image:octal-permissions.png|thumb|right|150px|using octal numbers to represent setting file permissions.]]
You can also use '''octal numbers''' to represent permissions. This method is a short-cut and may require less typing than using the ''symbolic'' method. You can only use this method to '''set''' file permissions (as opposed to ''add'' or ''remove'' permissions. Since 1 octal digit represents 3 binary digits, one octal digit can represent the <span style="font-family:courier;font-weight:bold;">rwx</span> permission granted or NOT granted. The permissions '''rwx''' are be in the form of 3 binary digits (1 represents the permission granted and 0 represents the permission NOT granted).
Since 1 octal digit represents 3 binary digits, one octal digit can represent the rwx permission granted or NOT granted. The permissions rwz would be in the form of 3 binary digits (1 represents the permission granted and 0 represents the permission NOT granted.
'''NOTE:''' You can only use this method to '''set''' file permissions (as opposed to ''add'' or ''remove'' permissions).
<table cellpadding="5" width="70%"><tr><th style="border-bottom: 1px solid black;text-align:left;">Command</th><th style="border-bottom: 1px solid black;text-align:left;">Description</th></tr><tr valign="top"><td width="40%"><span style="font-family:courier;font-weight:bold;">chmod 500 script.bash</span></td><td>Set read and execute permissions for only the '''user''' for the file '''script.bash''' so it can be run.</tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold">chmod 711 ~</span></td><td>Set "'''pass-thru'''" permissions of your '''home''' directory for same group members and other group members to navigate to other subdirectories (that may have access / view permissions).</tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold;">chmod 750 ~/shared</span></td><td>Set full permissions for user, read and access permissions for some group members and no permissions for other group members for the directory '''~/shared'''</td></tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold;">chmod 555 myfile.txt</span></td><td>Set read and execute permissions for the directory '''myfile.txt'''</td></tr></table>
 
'''NOTE:''' You can use the '''-R''' option to set permissions for directory, subdirectory and directory contents '''recursively'''.
The '''umask''' command is used to set the permissions of newly-created directories and regular files.
 
Issuing the '''umask''' command without arguments will display the current umask value.
# '''Login''' your matrix account and issue a command to '''confirm''' you are located in your '''home''' directory.<br><br>
# Issue a single Linux command to create the following directory structure displayed in the diagram to the right.<br><br>
# Make certain that your current directory is '''your home directory'''.<br><br>'''NOTE:''' You will now run a shell script to confirm that you properly created that directory structure <br>in your ''Matrix '' account.<br><br>
# Issue the following Linux command to run a checking script:<br><span style="color:blue;font-weight:bold;font-family:courier;">bash /home/murray.saul/scripts/week4-check-1</span><br><br>
# If you encounter errors and '''re-run ''' the checking script until you receive a congratulations message, then you can proceed.<br><br>[[Image:file-permission-practice-2.png|right|450px|thumb|]]
# Issue Linux commands to create empty files for each of those newly created directories as show in diagram to the right:<br><br>'''NOTE:''' You will now run another shell script to confirm that you properly created those empty files within those specified directories.<br><br>
# Issue the following Linux command to run a checking script:<br><span style="color:blue;font-weight:bold;font-family:courier;">bash /home/murray.saul/scripts/week4-check-2</span><br><br>
# If you encounter errors and '''re-run ''' the checking script until you receive a congratulations message, then continue the remaining steps.<br><br>Let's get practice understanding permissions, changing permissions, and setting your Linux account to automatically set permissions for newly created directories and regular files.<br><br>
# Issue the following Linux commands:<br><span style="color:blue;font-weight:bold;font-family:courier;">ls -ld ~/documents ~/clients ~/vendors<br>ls -lR ~/documents ~/clients ~/vendors</span><br><br>'''NOTE:''' You should see permissions already set for those newly created directories and regular files. What do these permissions mean for '''same group member''' and '''other group member''' access to those directory and regular files?<br><br>
# Let's limit access to the '''clients''' and '''vendors''' directories to only yourself and same group members. Issue the following Linux command:<br><span style="color:blue;font-weight:bold;font-family:courier;">chmod 750 ~/clients ~/vendors</span><br><br>
# Issue the '''ls''' command to confirm that the permissions for those directories have been changed.<br><br>'''NOTE:''' The '''-R''' option for the '''chmod''' command can change the file permissions <u>recursively</u> within a directory structure.<br><br>
# Issue the following Linux command: <span style="color:blue;font-weight:bold;font-family:courier;">chmod 750 -R ~/documents</span><br><br>
# Again, use the '''ls ''' command to confirm the permissions for the '''~/documents''', '''~/document/memos''' , '''~/documents/reports''', and '''~/documents/contracts''' directories.<br><br>
# Issue the following Linux command: <span style="color:blue;font-weight:bold;font-family:courier;">ls -lR ~/documents</span><br>What do you noticed happened to the permissions for the regular files contained in those directories. Did those regular file permissions change?<br><br>We want to now change those regular file permissions to the following settings: <span style="font-weight:bold;font-family:courier;">r w - r - - - - -</span><br><br>
# Issue the following Linux commands: <br><span style="color:blue;font-weight:bold;font-family:courier;">chmod 740 640 ~/documents/memos/memo*.txt<br>chmod 740 640 ~/documents/reports/report*.txt<br>chmod 740 640 ~/dcouments/contracts/contract*.txt</span><br><br>
# Issue the '''ls -lR''' command for the '''~/documents''' directory to confirm that those regular file permission have changed.<br><br>Let's get some practice setting permissions to allow users to make editing changes to regular files.<br><br>
# Issue the following Linux command: <span style="color:blue;font-weight:bold;font-family:courier;">chmod ugo-w ~/documents/memos/memo*.txt</span><br><br>
13,420
edits

Navigation menu