Permission issues in linux

Source: Internet
Author: User

 

In linux, each file and directory has access permission to determine who can access and operate files and directories. File or directory access permissions are divided into read-only, write-only and executable.

 

When a file is created, the file owner automatically has the read, write, and executable permissions for the file to facilitate reading and modifying the file. You can also set the access permission to all combinations as needed.

 

There are three different types of users that can access files or directories: file owners, users in the same group, and other users. The owner is generally the creator of the file. The owner can allow users in the same group to access files and grant the file access permission to other users in the system. In this case, every user in the system can access the files or directories owned by this user.

 

Each file or directory has three groups of access permissions. Each group is represented by three digits, which are the read, write, and execution permissions of the file owner; the read, write, and execution permissions of users in the same group as the owner. The read, write, and execution permissions of other users in the system. When you use the ls-l command to display detailed information about a file or directory, the leftmost column is the file access permission.

 

Chmod command

 

The chmod command is very important for modifying the access permissions of files or directories. The user uses the user to control access to files or directories. This command has two usage methods: one is the text setting method that contains letters and operator expressions, and the other is the number setting method that contains numbers.

 

1. text setting method

Chmod [who] [+ |-| =] [mode] File Name?

 

The meaning of each option in the command is:

 

The operator who is one of the following letters or their combination:

 

U indicates "user", that is, the owner of a file or directory.

 

G indicates "group users", that is, all users with the same group ID as the file owner.

 

O indicates "Other (others) Users ".

 

A Indicates "all (all) Users ". It is the default value of the system.

 

   

 

The operation symbol can be:

 

+ Add a permission.

 

-Cancel a permission.

 

= Grant the given permission and cancel all other permissions (if any ).

 

Set the permissions indicated by mode to any combination of the following letters:

 

R readable.

 

W writable.

 

X executable.

 

X adds the x attribute only when the target file is executable to some users or the target file is a directory.

 

S sets the owner or group ID of the process to the file owner during file execution. In the format of "u + s" to set the user ID of the file, and "g + s" to set the group ID.

 

T save the program text to the switch device.

 

U and file owner have the same permissions.

 

Users in the same group of g and file owner have the same permissions.

 

O has the same permissions as other users.

 

File Name: list of files separated by spaces to change permissions. Wildcards are supported.

 

Multiple permission methods can be provided in a command line, separated by commas. Example: chmod g + r, o + r example

 

Grant the same group and other users the permission to read the file example.

 

2. Number setting method

First, we must understand the meaning of the property represented by numbers: 0 indicates no permission, 1 indicates executable permission, 2 indicates writable permission, 4 indicates readable permission, and then add it. Therefore, the format of the numeric attribute should be three Octal numbers from 0 to 7. The order is (u) (g) (o ).

 

For example, if you want the owner of a file to have the "read/write" permission, you need to set 4 (readable) + 2 (writable) to 6 (read/write ).

 

The number setting method is generally in the following format:

 

Chmod [mode] File Name?

 

 

 

 

 

(1) text setting method:

Example 1: $ chmod a + x sort

 

That is, set the property of the file sort:

 

File owner (u) adds execution permission

 

And file owner in the same group of users (g) to increase the execution permission

 

Other users (o) add execution Permissions

 

Example 2: $ chmod ug + w, o-x text

 

That is, set the text attribute of the file:

 

Add write permission to file owner (u)

 

Add write permission for users in the same group as the file owner (g)

 

Other users (o) delete execution Permissions

 

Example 3: $ chmod u + s a. out

 

Assume that after chmod is executed, the. out permission is (can use ls? L a. out command ):

 

? Rws-x 1 inin users 7192 Nov 4 a. out

 

In addition, this execution file uses a text file shiyan1.c, whose file access permission is "? Rw --- ", that is, only the owner of the file has read and write permissions.

 

When other users execute. when the program is out, his identity is changed to inin (because the s option is used in the chmod command) for the moment ), so he can read the shiyan1.c file (although this file is set to be not owned by others). This is the function of s.

 

Therefore, in the entire system, especially the root itself, it is best not to set too many files of this type (unless necessary) to ensure system security, avoid system intrusion due to bugs in some programs.

 

Example 4: $ chmod? X mm.txt

 

$ Chmod? X mm.txt

 

$ Chmod ugo? X mm.txt

 

The preceding three commands Delete the execution permission of the mm.txt file and set the object to all users.

 

(2) number setting method:

Example 1: $ chmod 644 mm.txt

 

$ Ls? L

 

Set the attributes of the file mm.txt:

 

-Rw-r-r-1 inin users 1155 Nov 5 mm.txt

 

File owner (u) inin has read and write permissions

 

Users in the same group as the file owner (g) have read permission

 

Others (o) have read permission

 

Example 2: $ chmod 750 wch.txt

 

$ Ls? L

 

-Rwxr-x-1 inin users 44137 Nov 12 wchtxt

 

That is, set the properties of the wchtxt file:

 

File owner (u) inin readable/writable/executable

 

Readable/executable permission of the same group (g) as the file owner

 

Others (o) do not have all Permissions

 

From suxiaxuhuanhuan's column

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.