分享

文件属性及权限管理

 印度阿三17 2018-10-08

一、权限查看

1.文件权限查看

      ls   -l     filename
      ll           filename

2.目录权限查看
         ls     -ld      dir
         ll      -d       dir

3.属性读取

              -  |rw-rw-r--| 1 |kiosk | kiosk | 0 | Jul 21 09:18 | file
             [1]    [2]        [3]   [4]        [5]   [6]        [7]               [8]


[1]文件的类型
-    ##空文件,或者文本
d    ##目录
l    ##软链接
s    ##socket 套接字
b    ##block    块设备
c    ##字符设备

[2]文件的权限
rw-|rw-|r--
 1   2   3
1.[u] 文件拥有者对文件能做什么操作
2.[g] 文件所有组对文件能做什么操作
3.[o] 其他人对文件能做什么操作

[3]对文件:文件硬链接个数(文件内容被记录的次数)
    对目录:目录中子目录的个数

[4]文件的所有人

[5]文件所有组

[6]对文件:文件大小
    对目录:目录中子文件元数据(matedate可以理解为文件的属性)大小
[7]文件的内容被修改的时间

[8]文件的名称

二、改变文件所有人与所有组

chown     用户名称     文件 |目录   ##更改文件|目录所有人

chgrp      组名称        文件|目录    ##更改文件|目录所有组

chown     用户名.组名    文件|目录   ##一条命令更改所以人和所有组

chown  -R  用户        目录    ##更改目录本身以及目录中的子文件的所有人

chgrp  -R   组名        目录    ##更改目录本身以及目录中的子文件的所有组

三、更改文件权限

1.文件权限理解

   r :二进制计算结果为4
                      对文件:是否可以查看文件中的内容   --->cat file
                      对目录:是否可以查看目录中有什么子文件或者子目录 ---> ls dir
  w :二进制计算结果为2
                      对文件:是否可以改变文件里面记录的字符
                      对目录:是否可以对目录中子目录或子文件的元数据进行更改
  x :  二进制计算结果为1
                       对文件:是否可以通过文件名称调用文件内记录的程序
                       对目录:是否可以进入目录

2.更改方式

1) chmod   <u|g|o> < |-|=><r|w|x>   file|dir  

           ###ugo表示人对文件的读写权限,rwx是可以读写执行的命令,把它用加减等与赋给ugo

         

     注意:在执行第二个命令的时候chmod  u rwx g rw /mnt/file2 由于修改了两个位置的权限但是中间没有用逗号隔开,会出现报    错。修改两个位置中间要用“,”隔开。

2)用二进制计算结果更改

     7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---

      

四、文件的默认权限

文件的默认权限是没有x的,即文件的最大默认权限为666(-rw-rw-rw-)

由于进入目录和目录的x权限有关,故目录的最大默认权限为777(drwx-rwx-rwx)

1)临时修改umask

umask                ##显示系统默认预留权限值

umask 077        ##临时修改umask值

    

2)永久更改umask
step1: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

step2:vim /etc/bashrc                                  ##shell配置文件
              70     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
               71        umask 002
               72     else
               73        umask 077
               74     fi

step3:source      /etc/profile        #刷新配置文件,让更改立即生效
              source     /etc/bashrc

五、特殊权限

1.sticky             ##粘制位t=1
作用:
          只针对目录生效,当一个目录上有sticky权限时
          在这个目录中的文件只能被文件的所有者删除

设定方式:
          chmod     o t      dir
          chmod    1xxx     dir

2.sgid                    ##强制位s=2
作用
         对文件:    只针对与二进制可执行文件
                             当文件上有sgid时任何人执行此文件产成的进程都属于文件的的组
         对目录:
                           当目录上有sgid权限时任何人在此目录中建立的新文件都属于目录的所有组

设定方式
               chmod    g s    file|dir
               chmod   2xxx    file|dir

3.suid                 ##冒险位=4

作用
        只针对与2进制可执行文件
        当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人
    
设定方式
               chmod     u s     file
               chmod    4xxx     file

举例:把粘制位和冒险位一起做个实验

        

六、acl权限列表

1.作用:指定特定的用户对特定的文件拥有特殊权力                                                                                                

2.acl列表查看

         -rw-rwx--- 1 root root 0 Mar 28 02:39 file

                          ^
                acl权限列表开启

那么这个文件的普通权限也在权限列表中识别,ls -l 看到的权限是不准确的

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

内容如下:
      file: file                       ##文件名称
      owner: root               ##文件拥有者
      group: root               ##文件拥有组
      user::rw-                   ##文件拥有人的权限
      user:kiosk:rwx         ##指定用户的权限
      group::r--                  ##文件拥有组的权力
      mask::rwx                 ##能赋予用户的最大权力伐值
      other::r--                   ##其他人的权限

 

3.acl列表管理

setfacl  -m u:username:rwx file    ##设定username对file拥有rwx权限
setfacl  -m g:group:rwx    file        ##设定group组成员对file拥有rwx权限

setfacl  -x u:username    file           ##从acl列表中删除username
setfacl -x g:student    /mnt/file         ##在权限列表中删除student组的信息

setfacl  -b   file        ##关闭file上的acl列表," "消失

   

4.mask值
在权限列表中mask标示能生效的最大权力值
当设定acl列表后,如果用chmod减小文件权限时,mask值会发生改变

chmod g-w westos

如果要恢复mask值
setfacl -m m:rw westos

举例:1) 更改前

          

          2)更改后

         

     #effective:---   此位置表示有效的权力

       3)恢复

      

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

"acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限"

设定默认权限:

setfacl -m d:u:student:rwx /mnt/westos
取消:
setfacl -k /mnt/westos

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多