Difference between revisions of "Introduction to Linux in HPC/Users and permissions"
Introduction to Linux in HPC/Users and permissions
Jump to navigation
Jump to search
m (Remove unwanted initial line breaks) |
m (Tweak page sorting) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category:Tutorials]]<nowiki /> | + | [[Category:Tutorials|User and Permissions (Linux)]]<nowiki /> |
− | {{DISPLAYTITLE: | + | {{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. | ||
+ | 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=" | + | <youtube width="600" height="340" right>V7laggm16mc</youtube> |
([[Media:HPC.NRW_Introduction_to_Linux_in_HPC_06_Users_and_Permissions.pdf | Slides as pdf]]) | ([[Media:HPC.NRW_Introduction_to_Linux_in_HPC_06_Users_and_Permissions.pdf | Slides as pdf]]) | ||
Line 12: | Line 15: | ||
=== 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 31: | 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 48: | Line 126: | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{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
Quiz
Who can change the permissions of a file?
How is the top-level admin (or superuser) called in Linux?
Which one of the following is not a file permission?
Who can change the owner or group of a file?
Which command can prevent other users not in your group from writing to 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.
Answer: |
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.
Answer: |
Create an empty file: touch file.txt. make it read-only: chmod a-w file.txt; chmod a-x file.txt; chmod a+r file.txt. make it executable: chmod a+x file.txt. Explanation: The touch command can be used to create an empty file. In this example it is file.txt. chmod a-w file.txt; chmod a-x file.txt; chmod a+r file.txt means to execute the three commands subsequently. chmod a-w file.txt removes the write permission for all users. chmod a-x file.txt removes the executable permission for all users. chmod a+r file.txt adds the read permission for all users. chmod a+x file.txt makes file.txt executable for all users. |