Linux基础 文件权限

                                                                                                     文件权限

1.文件属性的查看

ls - l file   

   - ll file

  -|rw-r--r--| 1 |root| root| 0 |Apr 2 1617 |file  

 

 

 2.文件的类型

 -   空文件

 d   目录

 l   软连接

 s   socket套接字

 b   block 块设备

 c   字符设备

 

2.目录属性的查看

ls -ld test/

ll -d  test/

drwxr-xr-x 2 root root 6 Apr 2 1618 file

 

/mnt/下新建3个文件和1个目录westos,在westos目录下在建3个文件,实施每秒监控    watch -n -1 ls - lR /mnt/  ,在新建一个lee用户和linux用户

 

 

3 chown命令   :更改文件/目录所有者

 chown    username       file|dir        ##更改文件的所有人

 chown    usernamegroupname file|dir   ##更改文件的所有人所有组

 chown -R username       dir             ##更改目录本身及里面所有内容的所有人

 

chgrp:更改文件/目录所有组

        chgrp    username      dir     ##更改文件的所有组

        chgrp -R groupname      dir     ##更改目录本身及里面所有内容的所有组

4.文件普通权限

    rw-|r--|r--

    u   g   o

     r :有读取权限           w:有写入权限          x:有执行权限

u部分(user) :文件所有人对文件可以读写

g部分(group):文件组成员对文件可读

o部分(other):其他人对文件可读

权限详解

 1.r(读)

 对文件:可以查看文件中的字符

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

 2.w(写)

 对文件:可以更改文件内记录的字符。

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

 3.x(执行权限)

 对文件:可以运行文件内记录的程序动作。执行、运行文件

对目录:可以进入目录中

4.修改该文件权限

 

1.字符方式修改权限

 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 g=rx file1         不管之前文件所有组的权限如何,使file1所有组权限变成读、执行

chmod +r  +x file1    注意:文件file1对所有的用户增加读和执行权限,惟独写权限不能全部添加,优先给用户添加,为了安全,不给用户组和其他人添加。

 

 

2.数字方式修改该文件权限

 文件权限数字表示方式

小科普:在linux文件权限表示中

        r=4 (22次方)

        w=2 (21次方)

        x=1 (20次方)

        -=0(-表示没有对应权限,故为0)

举个栗子:

rw-|r--|r--

 u    g   o

u=rw-=4+2+0=6

g=r--=4+0+0=4

o=r--=4+0+0=4

所以文件权限表示为644

命令:chmod 修改后权限值 file

chmod   777 file  --------> 该文件权限全部开放

7=rwx

6=rw-

5=r-x

4=r--

3=-wx

2=-w-

1=--x

0=---

5.系统默认权限的设定(umask

从系统存在角度来说,开放权力越大,系统存在意义越高

从系统安全角度来说,开放权力越少,系统安全性越高

所以系统设定新建文件或目录会去掉一些权限

设定方式:

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

永久设定方式:

编辑文件: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

以上两个文件umask设定值必须保持一致!

让设定立即生效:

source /etc/bashrc

source /etc/profile

  

6.特殊权限

 

1.sticky 粘制位

 

    只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被其所有者删除。

设定方式:

    chmod o+t 目录

    t = 1,故又可以:

    chmod 1xxx 目录

 

2.sgid 强制位(只针对二进制可执行文件)

 

对文件:只针对二进制可执行文件,

    当文件有sgid权限时,任何人执行此文件产生的进程都属于该文件的文件所有组,和程序发起人组的身份无关

对目录:

    当目录有sgid权限后,目录中新建的所有文件的所有组,都自动归属到目录的所有组之中,和文件建立者所在的组无关

设定方式:

    chmod g+s file/dir

    s = 2,故还可以:

    chmod 2xxx file/dirxxx代表文件的普通权限数值)

进程查看:ps ax -o comm,user,group | grep watch

 

3.suid 冒险位置

 

    只针对与二进制的可执行文件,当文件上有suid时,任何人执行这个文件,程序产生的进程都属于该文件所有人,即以文件所有者的身份运行该文件。用于程序执行中权力的提升或者下降。

设定方式:

    chmod u+s file

     s = 4,故还可以

    chmod 4xxx file xxx代表文件的普通权限数值)

 

7.acl列表

 

1.acl定义

 

acl = 访问控制

    指定特殊用户对特殊文件有特殊权限

drwxrwx---+ 2 root root 17 Jul 18 01:39 file

           ^

这个'+'表示acl开启,如果对应位置上是'.'则表示没有acl或者acl是关闭的

查看文件是否有acl列表:

getfacl   file     查看acl开启的文件权限

 

file: file                  文件名称

owner: root            文件所有人

group: root            文件所有组

user::rwx                 拥有者权限

user:student:rwx    特殊用户权限

group::r-x              文件所有组权限

mask::rwx             能赋予用户的最大权力伐值

other::r-x               其他人权限

注意:当文件上有权限列表时,ls -l 能看到的权限是不真实的

 

2.acl列表管理

 

a.           setfacl -m u:student:rwx  file    设定用户对file文件有rwx权限

b.           setfacl -m g:group:rwx  file      设定组成员对file文件有rwx权限

 

3.删除acl列表中的用户或者组

 setfacl -x u:student  file     从acl列表中删除student用户

 4.关闭acl列表

 setfacl -b  file        关闭文件上的acl列表

 

5.acl mask

 

mask:权限掩码(表示能生效的权力值)

mask用来标实能够赋予用户最大权限阀值

当存在acl列表时,用chmod减小acl的文件权限时mask值可能会发生改变

修复文件mask值:

setfacl -m m:rwx 文件名称

 

6.acl 默认权限设定

      acl默认权限只针对目录设定

注意: 默认权限只对设定完成之后新建立的文件或者目录生效,而已经存在的文件不会继承默认权限。

 

     setfacl -m d:u:student:rwx /mnt /westos

      setfacl  -k /mnt/westos

 

 

 

 

 

 

 

 

 

 

                                                                                           

猜你喜欢

转载自www.cnblogs.com/minligang539/p/10648088.html