From 623b1be9039109e0a4388490f3995ca5d20441cc Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent@modolo.fr> Date: Mon, 5 Oct 2020 14:49:21 +0200 Subject: [PATCH] add session 5. --- 5_users_and_rights.md | 184 ++++++++++++++++++++++++++++++++++++++++++ Makefile | 4 +- img/user_right.png | Bin 0 -> 27183 bytes index.md | 2 + 4 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 5_users_and_rights.md create mode 100644 img/user_right.png diff --git a/5_users_and_rights.md b/5_users_and_rights.md new file mode 100644 index 0000000..aebedea --- /dev/null +++ b/5_users_and_rights.md @@ -0,0 +1,184 @@ +--- +title: Users and rights + +--- + +# Users and rights + +[](http://creativecommons.org/licenses/by-sa/4.0/) + +Objective: Understand how rights works in GNU/Linux + +GNU/Linux and other Unix-like OS are multiuser, this means that they are designed to work with multiple users connected simultaneously to the same computer. + +There is always at least one user: the **root** user + +- It’s the super user +- he has every right (we can say that he ignores the right system) +- this account should only be used to administer the system. + +There can also be other users who + +- have rights +- belong to groups +- the groups also have rights + +## File rights + +Each file is associated with a set of rights: + +- `-` nothing +- `r` **r**eading right +- `w` **w**riting right +- `x` e**x**ecution right + +Check your set of rights on your `.bashrc` file + +```sh +ls -l ~/.bashrc +``` + +The first column of the `ls -l` output show the status of the rights on the file + + + +``` + rwxr-xr-- + \ /\ /\ / + v v v + | | others (o) + | | + | group (g) + | + user (u) +``` + +- the 1st character is the type of the file (we already know this one) +- he 3 following characters (2 to 4) are the **user** rights on the file +- the characters 5 to 7 are the **group** rights on the file +- the characters 8 to 10 are the **others’** rights on the file (anyone not the **user** nor in the **group**) + +To change the file rights you can use the command `chmod` + +Use the command `ls -l` to check the effect of the following options for `chmod` + +```sh +chmod u+x .bashrc +``` + +```sh +chmod g=rw .bashrc +``` + +```sh +chmod o+r .bashrc +``` + +```sh +chmod u-x,g-w,o= .bashrc +``` + +What can you conclude on the symbols `+` , `=`, `-` and `,` with the `chmod` command ? + +The default group of your user is the first in the list of the groups you belong to. You can use the command `groups` to display this list. What is your default group ? + +When you create an empty file, system default rights and your default groups are used. You can use the command `touch` to create a file. + +```sh +touch my_first_file.txt +``` + +What are the default rights when you crate a file ? + +You can create folders with the command `mkdir` (**m**a**k**e **dir**ectories). + +```sh +mkdir my_first_dir +``` + +What are the default rights when you create a directory ? Try to remove the execution rights, what appends then ? + +You can see the **/root** home directory. Can you see it’s content ? Why ? + +Create a symbolic link (`ln -s`) to your **.bashrc** file, what are the default rights to symbolic links ? + +Can you remove the writing right of this link ? What happened ? + +## Users and Groups + +We have seen how to change the right associated with the group, but what about changing the group itself ? The command `chgrp` allows you to do just that: + +```sh +chgrp audio .bashrc +``` + +The command `id` show the same information, but with some differences what are they ? + +Can you cross this additional information with the content of the file `/etc/passwd` and `/etc/group` ? + +What is the user *id* of **root** ? + +Now the next step is to change the owner of a file, you can use the command `chown` for that. + +```sh +chown ubuntu my_first_file.txt +``` + +You can change the user and the group with this command: + +```sh +chown ubuntu:audio my_first_file.txt +``` + +What are the rights on the program `mkdir` (the command `which` can help you find where program file are) ? + +Can you remove the execution rights for the others ? + +The command `cp` allows you to **c**o**p**y file from one destination to another. + +```sh +man cp +``` + +Copy the `mkdir` tool to your home directory. Can you remove execution rights for the others on your copy of `mkdir` ? + +You cannot change the owner of a file, but you can always allow another user to copy it and change the rights on its copy. + +## Getting admin access + +Currently you don’t have administrative access to your VM, this means that you don’t have the password to the *root* account. Another way to get administrative access in Linux is to use the `sudo` command. + +You can read the documentation (manual) of the `sudo` command with the command `man` + +```sh +man sudo +``` + +Like for the command, `less` you can close `man` by pressing **Q**. + + + +On Ubuntu, only members of the group **sudo** can use the `sudo` command. Are you in this group ? + +**The root user can do everything in your VM, for example it can delete everything from the `/` directory but it’s not a good idea (see the [Peter Parker principle](https://en.wikipedia.org/wiki/With_great_power_comes_great_responsibility))** + +One advantage of using a command line interface is that you can easily reuse command written by others. Copy and paste the following command in your terminal to add yourself in the **sudo** group. + +```sh +docker run -it --volume /:/root/chroot alpine sh -c "chroot /root/chroot /bin/bash -c 'usermod -a -G sudo etudiant'" +``` + +We will come back to this command later in this course when we talk about virtualisation. + +You have to logout and login to update your list of groups. To logout from a terminal, you can type `exit` or press **ctrl** + **d**. + +Check your user information with the `sudo` command + +```sh +sudo id +``` + +You can try again the `chown` command with the `sudo` command. + +Check the content of the file `/etc/shadow` , what is the utility of this file (you can get help from the `man` command). + diff --git a/Makefile b/Makefile index cc5caa9..30dc75d 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -all: index.html 1_understanding_a_computer.html 2_using_the_ifb_cloud.html 3_first_steps_in_a_terminal.html 4_unix_file_system.html +all: index.html 1_understanding_a_computer.html 2_using_the_ifb_cloud.html 3_first_steps_in_a_terminal.html 4_unix_file_system.html 5_users_and_rights.html index.html: index.md github-pandoc.css pandoc -s -c github-pandoc.css index.md -o index.html @@ -15,3 +15,5 @@ index.html: index.md github-pandoc.css 4_unix_file_system.html: 4_unix_file_system.md github-pandoc.css pandoc -s --toc -c github-pandoc.css 4_unix_file_system.md -o 4_unix_file_system.html +5_users_and_rights.html: 5_users_and_rights.md github-pandoc.css + pandoc -s --toc -c github-pandoc.css 5_users_and_rights.md -o 5_users_and_rights.html diff --git a/img/user_right.png b/img/user_right.png new file mode 100644 index 0000000000000000000000000000000000000000..38447517b8c16d642f6ab26269e7286b5db8641b GIT binary patch literal 27183 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 literal 0 HcmV?d00001 diff --git a/index.md b/index.md index 3f687f3..fe25d37 100644 --- a/index.md +++ b/index.md @@ -8,4 +8,6 @@ title: # Unix / command line training course 2. [Using the IFB cloud](http://perso.ens-lyon.fr/laurent.modolo/unix/2_using_the_ifb_cloud.html) 3. [First step in a terminal](http://perso.ens-lyon.fr/laurent.modolo/unix/3_first_steps_in_a_terminal.html) 4. [The Unix file system.](http://perso.ens-lyon.fr/laurent.modolo/unix/4_unix_file_system.html) +5. [Users and rights](http://perso.ens-lyon.fr/laurent.modolo/unix/5_users_and_rights.html) + -- GitLab