Linux (Radhat) Basic Learning-file permissions

Source: Internet
Author: User
Tags file permissions

文件权限的意义:系统最底层安全设定方法之一,保证文件可以被可用的用户作相应操作1. View of file properties
ls -l filename  等同于 ll    filename  (文件属性)ls -ld dir  等同于 ll -d dir   (目录属性)-|rw-r--r--.|1| root| root|   46 |Oct  1 05:03 |filename1      2       3    4       5      6             7                 8

1. "-" section: File type

-   ##空文件,普通文本文件d   ##目录wc   ##字符设备:显示字符设备,接收字符属出。s   ##套接字 socket:“接口/门”,程序提供对外交互的一个"门"文件,后缀sockp   ##管道b   ##快设备 block:l   ##软连接:”快捷方式“ (ln file11 file2 把文件file1链接到file2)

2. " rw-r--r--"section: File read and Write permissions

rw-|r--|r--(1) (2) (3)    (1)【user】文件所有者的权限,对文件所能做的那些操作    (2)【group】文件所有组的权限    (3)【other】其他人的权限

3."1" section:

文件硬连接个数    对文件:文件内容被系统记录的次数()                    同一个文件通过链接产生另一个文件,虽然文件名字不同,但这两个文件其实是同一个文件,可以看到其文件id一样。这样文件的硬链接个数变成了2。    对目录:目录中文件属性的字节数(目录中子文件的元数据【文件属性】大小):7+文件名字字符数

4."Root" section:

文件所有人

5."Root" section:

文件所有组

6."46" section:

文件内容的大小

7."OCT 1 05:03" section:

文件的内容最后一次被修改的时间,不包括其文件权限的修改

8."FileName" section:

文件名字
2. Management of all group of file owners
chown:更改文件/目录所有者        chown    username       file|dir    ##更改文件的所有人        chown    username.groupname file|dir    ##更改所有人所有组(把.换成:也可以)        chown -R username       dir     ##更改目录本身及里面所有内容的所有人chgrp:更改文件/目录所有组        chgrp    groupname      dir     ##更改目录/文件的所有组        chgrp -R groupname      dir     ##更改目录本身及里面所有内容的所有组

Monitoring commands

watch -n 刷新时间 命令    watch -n 1 ls -lR /mnt   在监控页面每间隔1s重新执行 ls -lR /mnt
3. File General Permissions
    rw-|r--|r--     u    g   o     r :有读取权限           w:有写入权限          x:有执行权限u部分(user):文件所有人对文件可以读写g部分(group):文件组成员对文件可读o部分(other):其他人对文件可读
Permission Details

1.R (Read)

对文件:可以查看文件中的字符对目录:可以查看目录中文件的信息

2.W (write)

对文件:可以更改文件内记录的字符。对目录:可以在目录中子目录或子文件的元数据(子目录、子文件)进行更改,对子目录、子文件的写即是对目录、文件的重命名,删除等操作

3.x (Execute permission)

对文件:可以运行文件内记录的程序动作。执行、运行文件对目录:可以进入目录中
4. Modify the file permissions

1. Modify permissions by character mode

格式:chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir    chmod u-x file1            文件file1拥有者去掉x权限chmod g+w file1         文件 file1拥有组添加w权限chmod u-x,g+w file1      文件 file1拥有者去掉x权,file1拥有组添加w权限chmod u+rwx               文件 file1拥有着加读写执行权限chmod ugo-r file2          文件 file2的用户组其他人去掉r权限chmod ug+x,o-r file3      文件 file3用户和组添加x权限,其他人去掉r权限chmod +r  file1              文件file1对所有的用户增加读权限chmod g=rx file1             不管之前文件所有组的权限如何,使file1所有组权限变成读、执行

2. Digitally Modify the file permissions

文件权限数字表示方式小科普:在linux文件权限表示中        r=4 (2的2次方)        w=2 (2的1次方)        x=1 (2的0次方)        -=0(-表示没有对应权限,故为0)

Give me a chestnut:

rw-|r--|r-- u    g   ou=rw-=4+2+0=6g=r--=4+0+0=4o=r--=4+0+0=4所以文件权限表示为644

Command: chmod modified permission value file

chmod   777 file  --------> 该文件权限全部开放7=rwx6=rw-5=r-x4=r--3=-wx2=-w-1=--x0=---
5. Setting the system default permissions (Umask)
从系统存在角度来说,开放权力越大,系统存在意义越高从系统安全角度来说,开放权力越少,系统安全性越高所以系统设定新建文件或目录会去掉一些权限

Setting mode:

umask              查看系统保留权限默认为022umask 077      修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

Permanent setting Mode:

编辑文件:vim /etc/bashrc 70     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then 71        umask 002    -----------> 普通用户umask 72     else 73        umask 077    -----------> 超级用户umask                                                                       74     fi编辑文件:vim /etc/profile 59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then 60     umask 002     ------------> 普通用户umask 61 else 62     umask 077       ------------> 超级用户umask                                                                                          63 fi

The above two files Umask set values must be consistent!
Make the setting effective immediately:

source /etc/bashrcsource /etc/profile
6. Special Permissions

1.Sticky sticky bits

    只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被其所有者删除。设定方式:    chmod o+t 目录    t = 1,故又可以:    chmod 1xxx 目录

2.sgid Mandatory bit (for binary executables only)

To the directory:

对文件:只针对二进制可执行文件,    当文件有sgid权限时,任何人执行此文件产生的进程都属于该文件的文件所有组,和程序发起人组的身份无关对目录:    当目录有sgid权限后,目录中新建的所有文件的所有组,都自动归属到目录的所有组之中,和文件建立者所在的组无关设定方式:    chmod g+s file/dir    s = 2,故还可以:    chmod 2xxx file/dir(xxx代表文件的普通权限数值)进程查看:ps ax -o comm,user,group | grep watch

3.Suid Adventure Location

    只针对与二进制的可执行文件,当文件上有suid时,任何人执行这个文件,程序产生的进程都属于该文件所有人,即以文件所有者的身份运行该文件。用于程序执行中权力的提升或者下降。设定方式:    chmod u+s file     s = 4,故还可以    chmod 4xxx file (xxx代表文件的普通权限数值)
7.acl List

1.ACL Definitions

acl = access control (访问控制)    指定特殊用户对特殊文件有特殊权限drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/      ^这个‘x‘表示/westos目录时设置有访问控制列表查看文件是否有acl列表:    getfacl  /westos/

# file: westos/     ##文件名称# owner: root       ##文件所有人# group: root       ##文件所有组user::rwx       ##拥有者权限user:student:rwx    ##特殊用户权限group::r-x      ##文件所有组权限mask::rwx       ##权限掩码(能赋予用户的最大权力伐值)other::r-x      ##其他人权限

Note: When you have a list of permissions on a file, the permissions that ls-l can see are untrue

2. set ACL list

setfacl -m <u|g>:<username|groupname>:权限    文件|目录            -m   #设定             u      #用户             g     #组举2个栗子:  setfacl -m u:student:rwx ./westos(拥有全部权限)                    setfacl -m u:student:0 /bin/watch   (0表示没有任何权限)

3. Remove a user or group from the ACL list

setfacl -x <u|g>:<username|groupname>   文件|目录            -x   #删除(从acl列表中删除某个用户/用户组)

4. Close ACL list

setfacl -b 文件|目录                -b  #关闭文件上的acl列表

5.ACL Mask

mask:权限掩码(表示能生效的权力值)mask用来标实能够赋予用户最大权限阀值当存在acl列表时,用chmod减小acl的文件权限时mask值可能会发生改变

Fix file Mask value:

setfacl -m m:rwx 文件名称

6.ACL default permission settings

当我们需求某个目录对于student可写,并且目录中新建的子目录对student也可写,此时就要设定默认默认权限

Note: ACL permissions are only for directory settings and cannot be set for files. The default permissions are only valid for newly created files or directories in the directory, not for the files already created, and for the directory itself.
Setting mode:

setfacl -m d:u:student:rwx  /westos
8. Restricting Superuser privileges
chattr +i filename  限制超级用户对文件进行操作查看完整详细权限:lsattr filename  ( ls -l无法查看到的部分权限)解除限制:chattr -i filename

Linux (Radhat) Basic Learning-file permissions

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.