Difference between revisions of "Introduction to Linux in HPC/Users and permissions"

From HPC Wiki
Introduction to Linux in HPC/Users and permissions
Jump to navigation Jump to search
m (Tweak page sorting)
 
(25 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Tutorials]]
+
[[Category:Tutorials|User and Permissions (Linux)]]<nowiki />
 
+
{{DISPLAYTITLE:Users and Permissions}}<nowiki />
 +
{{Syllabus Introduction to Linux}}<nowiki />
 
__TOC__
 
__TOC__
  
{{Infobox_linux_introduction}}
+
This tutorial covers the concept of users (and groups) in the multi-user operating system Linux.
 
+
It will also explain the various permissions that a file or directory can have, how to determine and change them. As an example, it will show how to make a Python script executable by the user.
  
 
=== Video === <!--T:5-->
 
=== Video === <!--T:5-->
  
<youtube width="600" height="400" right>IfD9IPixgpo</youtube>
+
<youtube width="600" height="340" right>V7laggm16mc</youtube>
  
 +
([[Media:HPC.NRW_Introduction_to_Linux_in_HPC_06_Users_and_Permissions.pdf | Slides as pdf]])
  
 
=== Quiz === <!--T:5-->   
 
=== Quiz === <!--T:5-->   
  
 +
 +
{{hidden begin
 +
|title = Who can change the permissions of a file?
 +
}}
 +
<quiz display=simple>
 +
{
 +
|type="()"}
 +
+ the owner of this file
 +
|| Explanation: Correct, the owner of a file can change the permissions of this file.
 +
- every user
 +
|| Explanation: Wrong: users other than the owner of a file cannot change the permissions of a file, because it does not belong to them.
 +
- users in the same group
 +
|| Explanation: Wrong: although they belong to the same group, the cannot change the permissions of a file.
 +
</quiz>
 +
{{hidden end}}
 +
 +
{{hidden begin
 +
|title = How is the top-level admin (or superuser) called in Linux?
 +
}}
 +
<quiz display=simple>
 +
{
 +
|type="()"}
 +
- god
 +
|| Explanation: Wrong.
 +
- guru
 +
|| Explanation: Wrong.
 +
+ root
 +
|| Explanation: Exactly!
 +
</quiz>
 +
{{hidden end}}
 +
 +
{{hidden begin
 +
|title = Which one of the following is not a file permission?
 +
}}
 +
<quiz display=simple>
 +
{
 +
|type="()"}
 +
- Write
 +
|| Explanation: Wrong.
 +
- Read
 +
|| Explanation: Wrong.
 +
- Execute
 +
|| Explanation: Wrong.
 +
+ Size
 +
|| Explanation: Correct - only read, write and execute are file permissions in Linux.
 +
</quiz>
 +
{{hidden end}}
 +
 +
{{hidden begin
 +
|title = Who can change the owner or group of a file?
 +
}}
 +
<quiz display=simple>
 +
{
 +
|type="()"}
 +
- the owner of that file
 +
|| Explanation: Wrong, only root can do that.
 +
- everyone in this group
 +
|| Explanation: Wrong, only root can do that.
 +
+ admin (root)
 +
|| Explanation: Correct, only root can change the owner or group of a file with chown.
 +
</quiz>
 +
{{hidden end}}
  
 
{{hidden begin  
 
{{hidden begin  
Line 32: Line 96:
 
=== Exercises in Terminal (slide 89) === <!--T:5-->   
 
=== Exercises in Terminal (slide 89) === <!--T:5-->   
  
  1. Create an empty file, make it read-only, make it executable.
+
  1. List your home-directory, so that you can see users and permissions. Pick a file of your choice and explain 1) whom it belongs, 2) to which group it belongs and 3) what permissions all other users have for this file.
 +
  {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 +
    | <strong>Answer:</strong>
 +
    |-
 +
    |
 +
      List your home-directory: ls -l $HOME or ll ~
 +
      The owner of a file can be found in the middle, right to the first small number.
 +
      The group follows to the right of the owner.
 +
      The permissions for other users are in the third rwx-grouping, i.e., left to the first small number.
 +
      If these permission state e.g., "r--", then the file is readable from everyone else, but neither writeable nor executable.
 +
    |}
 +
 
 +
 
 +
2. Create an empty file, make it read-only, make it executable.
 
   {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
   {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
     | <strong>Answer:</strong>
 
     | <strong>Answer:</strong>
Line 49: Line 126:
 
     |}
 
     |}
  
2. Start a process (e.g. sleep 10m)
 
  {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
    | <strong>Answer:</strong>
 
    |-
 
    |
 
      Use a second console to look at it in top.
 
      Kill it.
 
      Hint:
 
        To kill the started process (e.g. sleep 10m):
 
        1. Go to the terminal that started the process.
 
        2. Press Ctrl-C to kill it.
 
    |}
 
  
3. Start a process, bring it into background/foreground.
+
{{Tutorial Navigation
  {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
+
| previous = [[Introduction_to_Linux_in_HPC/Text_display_search | Text Display and Search ]]
    | <strong>Hint:</strong>
+
| main = [[Introduction_to_Linux_in_HPC | Overview ]]
    |-
+
| next = [[Introduction_to_Linux_in_HPC/Processes | Processes ]]
    |
+
}}
      To bring a process to background:
 
        Press Ctrl-Z (pause the process).
 
        Type bg (bring it to background).
 
      To bring a process to foreground:
 
        Type fg (bring it to foreground).
 
    |}
 
 
 
 
 
<div style='text-align: left;float:left;width:33%;'>{{Clickable button|[https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Text_display_search Previous Page]|color=white}}</div>
 
<div style='text-align: center;float:left;width:33%;'>{{Clickable button|[https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC Main Menu Page]|color=white}}</div>
 
<div style='text-align: right;float:left;width:33%;'>{{Clickable button|[https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/The_vim_text_editor Next Page]|color=white}}</div>
 

Latest revision as of 16:23, 4 December 2020

Tutorial
Title: Introduction to Linux in HPC
Provider: HPC.NRW

Contact: tutorials@hpc.nrw
Type: Multi-part video
Topic Area: HPC Platforms
License: CC-BY-SA
Syllabus

1. Background and History
2. The Command Line
3. Linux Directory Structure
4. Files
5. Text display and search
6. Users and permissions
7. Processes
8. The vim text editor
9. Shell scripting
10. Environment variables
11. System configuration
12. SSH Connections
13. SSH: Graphics and File Transfer
14. Various tips

This tutorial covers the concept of users (and groups) in the multi-user operating system Linux. It will also explain the various permissions that a file or directory can have, how to determine and change them. As an example, it will show how to make a Python script executable by the user.

Video

( Slides as pdf)

Quiz

Who can change the permissions of a file?

the owner of this file
every user
users in the same group

How is the top-level admin (or superuser) called in Linux?

god
guru
root

Which one of the following is not a file permission?

Write
Read
Execute
Size

Who can change the owner or group of a file?

the owner of that file
everyone in this group
admin (root)

Which command can prevent other users not in your group from writing to input.dat?

chmod u-w input.dat
chmod o-w input.dat
chmod g-w input.dat


Exercises in Terminal (slide 89)

1. List your home-directory, so that you can see users and permissions. Pick a file of your choice and explain 1) whom it belongs, 2) to which group it belongs and 3) what permissions all other users have for this file.


2. Create an empty file, make it read-only, make it executable.



<< Text Display and Search

Overview

Processes >>