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
(adding another quiz)
m (Tweak page sorting)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Tutorials]]<nowiki />
+
[[Category:Tutorials|User and Permissions (Linux)]]<nowiki />
{{DISPLAYTITLE:<span style="position:absolute; top:-9999px;">Introduction to Linux in HPC/</span>Users and permissions}}<nowiki />
+
{{DISPLAYTITLE:Users and Permissions}}<nowiki />
 
{{Syllabus Introduction to Linux}}<nowiki />
 
{{Syllabus Introduction to Linux}}<nowiki />
 
__TOC__
 
__TOC__
  
 
This tutorial covers the concept of users (and groups) in the multi-user operating system Linux.
 
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.
+
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-->
Line 23: Line 23:
 
|type="()"}
 
|type="()"}
 
+ the owner of this file
 
+ the owner of this file
|| Explanation: Correct, the owner of a file can change the permissions of this file. However, the super user (root) can also do this.
+
|| Explanation: Correct, the owner of a file can change the permissions of this file.
 
- every user
 
- 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.
 
|| Explanation: Wrong: users other than the owner of a file cannot change the permissions of a file, because it does not belong to them.
+ the super user (root)
+
- users in the same group
|| Explanation: Correct, the super user (root) can change the permissions of all files. However, the owner of a file can also do this.
+
|| 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>
 
</quiz>
 
{{hidden end}}
 
{{hidden end}}
Line 49: 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 66: 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.
 
  {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
    | <strong>Hint:</strong>
 
    |-
 
    |
 
      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).
 
    |}
 
  
 
{{Tutorial Navigation
 
{{Tutorial Navigation

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 >>