Now in this video we are going to learn about user groups and permissions. So let's start. Users are accounts that are created on a system or an operating system. users could be root user or non root users with different permission levels. multiple users could be combined in a group and multiple groups could be created. every user has an assigned unique user ID that is called UID.
In short, when you write UID, zero it denotes the user as root. And other users are with denoted with UID different numbers. The user names and u IDs are stored within location, etc. Slash password. Pa ss w Te users are assigned a home directory and a program as we have learned in the previous video. There are different home directory for different users.
Users cannot read, write or execute each other's files without permission. Suppose I am a user on the system and there are three users in the system. One is root one is me, and another is Andrew. If I have created a file, right say C program, and I locked the permission, I could lock the permission that this program could not be executed by Andrew or other users. But it could be read however, I provided permission, but rude have access to all the files. Theoretically no user can read, write or execute others file if permission is not granted.
We are going to learn it later how we can grant the permissions. Let's learn about a group. Group users could be assigned to groups. Each group is assigned a unique group ID similar to user ID. That is denoted with gd. gd R is stored in EDC group.
Each user has given their own private group that is a sole user. And you can create a multiple users group, which is a public room that they can add be added to other groups for additional access. All Users in our group can share files that belong to a group. The requirement of groups and users comes in our mind when we have a server environment normally in a PC or person computer or desktop environment, we have almost two or maximum three users. And the right does not very overlap. But in handling servers we have in corporate world, we have assigned roles.
And for various roles, they have right to access different sections of the document or resources. So we need to create groups and users. That is very vital. Every file is owned by a group and user. It has a UID and energy ID. Every process runs as a user process and one or more group process or D IDs.
Permission precedents followed as user is preferred more than group, then any other permissions. file permissions could be viewed by using LS minus l command where you can see for missions along with name of the files. The file permissions are read write and execute a small r for read a small w for write, and x for execute. So what are these three permissions? Suppose I have a java file that when I want to just simply read that file as it in PDF, I want to read the test code for the Java file. I need read permission is smaller when I want to modify this file, or change the code or line of words, I need w permission or write permission.
But if you I want to execute that code, I need double x permission or execute permission. So this is the difference between read, write and execute when there is some minus symbol represented then no permission is granted for that user or for that file. So, we can create a multiple permissions for different users. In the last argument, we have seen three different things. Firstly, for the same user, permission for same user, then for group and then for other users, which we are going to learn and next videos, sorry in next pages, you can change ownership to file. Only root can change files owner, route or the owner can change the files group.
Ownership is changed with ch, O w, command. Ch o w and command is written with a username of files and directory with any argument, say or minus or or less Group ownership could we change with ch GRP Come on, change group. Suppose we have a file for a user name and we can change the ownership to a new user. And the new user name is written here with ch o w n. We can change file permissions with two methods, numeric method and symbolic method. First we are going to learn about symbolic method. We can change access mode with ch mode command ch mode Command C h m od, this is a command to change permissions or file mode.
There are three symbols for user group and others. You with is denoted for user, a small g for group and a small o for Others, you can grant deny or set permissions by symbols plus minus n equals two respectively. You can change access mode with this command and exit your death and for a numeric method, you need to write the permissions one for execute two for right and four for read. It is very friendly mode actually is a numeric method is preferred over symbolic method, I prefer this thing. Suppose I want to provide permission to myself and the owner of the file. I want to own the read, write and execute all the permissions here.
So, with numerous method, I have to write for four read, add to four, right four plus two, six, and then add one for execute, total seven. If I write ch mod seven, then the file is owned by me, and all the permission is granted. In the last line, you can see here the CH mod 640. My file is written. What does this command means? There are three digits 640.
These are representing user group and others permission. My file is a file which have the permissions and I want to set permission for this file. The first digit will show the permissions for the user of the file. That is me right here. The second digit will show the permissions or group and the last digit we show the permission for other users, when it is written zero for other users I hear then they have no access to file, they could not see the code, they could not write or modify that file, they could not execute that file that file is completely invisible to them. The four is written for groups.
So they can read file and six is written for me. So I could not execute the file however, I can read and write which is a safe note. Similarly, I can change the mode whenever I like in the future, if I own the file, so writing file permissions is very interesting thing. So we have learned in this part, what are the users groups and other concept and native we have learned to create a file permissions, change permissions, and users thing so keep learning keep moving add we will learning more concept in the coming with us