Update/linux exercise users and groups (#198)
* updated answers of linux users and groups section
This commit is contained in:
parent
9790bb7fac
commit
89d53e4a02
100
README.md
100
README.md
@ -1904,28 +1904,80 @@ Nginx, Apache httpd.
|
|||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>How do you create users? Where user information is stored?</summary><br><b>
|
<summary>How do you create users? Where user information is stored?</summary><br>
|
||||||
</b></details>
|
|
||||||
|
Command to create users is `useradd`
|
||||||
|
|
||||||
|
Syntax:
|
||||||
|
`useradd [options] Username`
|
||||||
|
|
||||||
|
There are 2 configuration files, which stores users information
|
||||||
|
|
||||||
|
1. `/etc/passwd` - Users information like, username, shell etc is stored in this file
|
||||||
|
|
||||||
|
2. `/etc/shadow` - Users password is stored in encrypted format
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Which file stores information about groups?</summary><br><b>
|
<summary>Which file stores information about groups?</summary><br>
|
||||||
</b></details>
|
|
||||||
|
`/etc/groups` file stores the group name, group ID, usernames which are in secondary group.
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>How do you change/set the password of a user?</summary><br><b>
|
<summary>How do you change/set the password of a user?</summary><br>
|
||||||
</b></details>
|
|
||||||
|
`passwd <username>` is the command to set/change password of a user.
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Which file stores users passwords? Is it visible for everyone?</summary><br><b>
|
<summary>Which file stores users passwords? Is it visible for everyone?</summary><br>
|
||||||
</b></details>
|
|
||||||
|
`/etc/shadow` file holds the passwords of the users in encryted format. NO, it is only visble to the `root` user
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Do you know how to create a new user without using adduser/useradd command?</summary><br><b>
|
<summary>Do you know how to create a new user without using adduser/useradd command?</summary><br>
|
||||||
</b></details>
|
|
||||||
|
YES, we can create new user by manually adding an entry in the `/etc/passwd` file.
|
||||||
|
|
||||||
|
For example, if we need to create a user called `john`.
|
||||||
|
|
||||||
|
Step 1: Add an entry to `/etc/passwd` file, so user gets created.
|
||||||
|
|
||||||
|
`echo "john:x:2001:2001::/home/john:/bin/bash" >> /etc/passwd`
|
||||||
|
|
||||||
|
Step 2: Add an entry to `/etc/group` file, because every user belong to the primary group that has same name as the username.
|
||||||
|
|
||||||
|
`echo "john:x:2001:" >> /etc/group`
|
||||||
|
|
||||||
|
Step 3: Verify if the user got created
|
||||||
|
|
||||||
|
`id john`
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What information is stored in /etc/passwd? explain each field</summary><br><b>
|
<summary>What information is stored in /etc/passwd? explain each field</summary><br>
|
||||||
</b></details>
|
|
||||||
|
`/etc/passwd` is a configuration file, which contains users information. Each entry in this file has, 7 fields,
|
||||||
|
|
||||||
|
`username:password:UID:GID:Comment:home directory:shell`
|
||||||
|
|
||||||
|
`username` - The name of the user.
|
||||||
|
|
||||||
|
`password` - This field is actually a placeholder of the password field. Due to security concerns, this field does not contain the password, just a placeholder (x) to the encrypted password stored in `/etc/shadow` file.
|
||||||
|
|
||||||
|
`UID` - User ID of the user.
|
||||||
|
|
||||||
|
`GID` - Group ID
|
||||||
|
|
||||||
|
`Comment` - This field is to provide description about the user.
|
||||||
|
|
||||||
|
`home directory` - Abousulte path of the user's home directory. This directory gets created once the user is added.
|
||||||
|
|
||||||
|
`shell` - This field contains the absolute path of the shell that will be used by the respective user.
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>How to add a new user to the system without providing him the ability to log-in into the system?</summary><br><b>
|
<summary>How to add a new user to the system without providing him the ability to log-in into the system?</summary><br><b>
|
||||||
@ -1942,8 +1994,17 @@ Use su - to switch to root
|
|||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What is the UID the root user? What about a regular user?</summary><br><b>
|
<summary>What is the UID the root user? What about a regular user?</summary><br>
|
||||||
</b></details>
|
|
||||||
|
UID of root user is 0
|
||||||
|
|
||||||
|
Default values of UID_MIN and UID_MAX in `/etc/login.defs`
|
||||||
|
`UID_MIN` is `1000`
|
||||||
|
`UID_MAX` is `60000`
|
||||||
|
|
||||||
|
Actually, we can change this value. But UID < 1000 are reserved for system accounts.
|
||||||
|
Therefore, as per the default configuration, for regular user UID starts from `1000`.
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What can you do if you lost/forogt the root password?</summary><br><b>
|
<summary>What can you do if you lost/forogt the root password?</summary><br><b>
|
||||||
@ -1952,8 +2013,10 @@ Re-install the OS IS NOT the right answer :)
|
|||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What is /etc/skel?</summary><br><b>
|
<summary>What is /etc/skel?</summary><br>
|
||||||
</b></details>
|
|
||||||
|
`/etc/skel` is a directory, that contains files or directories, so when a new user is created, these files/directories created under `/etc/skel` will be copied to user's home directory.
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>How to see a list of who logged-in to the system?</summary><br><b>
|
<summary>How to see a list of who logged-in to the system?</summary><br><b>
|
||||||
@ -1968,6 +2031,11 @@ Using the `last` command.
|
|||||||
* usermod
|
* usermod
|
||||||
* whoami
|
* whoami
|
||||||
* id</summary><br><b>
|
* id</summary><br><b>
|
||||||
|
|
||||||
|
`useradd` - Command for creating new users
|
||||||
|
`usermod` - Modify the users setting
|
||||||
|
`whoami` - Outputs, the username that we are currently logged in
|
||||||
|
`id` - Prints the
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
Loading…
Reference in New Issue
Block a user