文件的权限及修改

####linux里面一切皆文件####

1.查看目录和文件的属性:

                 文件权限的查看:ls -l file                                         ## 查看文件的权限

                 目录里面文件权限的查看:ls -l dir                           ## 查看目录里面文件的权限

                 目录本身权限的查看:ls -ld dir                                ## 查看目录本身的权限,注意不是目录里面文件的权限

2.文件权限的说明:

  - rw-r--r-- 1  root root 0 Apr 4 09:44 file

       [1]   [2]   [3] [4]  [5] [6]     [7]    [8]

        [1] 文件类型:

                          -                                             ##文本或者空文本

                          d                                            ##目录

                          l                                             ##软连接

                          s                                            ##套接字

                          b                                            ##块设备

                          c                                            ##字符设备

       [2] 文件权限:(r--读权限 w--写权限 x--执行权限)

                   rw-  r--  r--

                   [a]  [b]  [c]

                   [a] 建文件所有人对文件能做什么操作  

                   [b] 文件所有组对文件能做什么操作

                   [c] 其他人对文件能做什么操作

      [3]   对文件:文件内容被记录的次数

             对目录:目录中子目录的个数

      [4] 文件所有人

      [5] 文件所属组

      [6]   对文件:文件的大小

            对目录:目录中子文件元数据的大小

      [7] 文件的内容被修改的时间

      [8] 文件的名称

 

2.修改目录和文件的权限:

         1)对权限的说明:

                        r--读权限

                                      对文件来说:是否可以查看文件内容

                                     对目录来说:是否可以查看目录里面的子目录或者子文件

                       w--写权限

                                     对文件来说:是否可以修改文件内容

                                     对目录来说:是否可以对目录里面的子目录或者子文件的元数据(matedate可理解为文件的属性)

                                                          进行修改(改名/删除)

                      x--执行权限

                                    对文件来说:是否可以通过文件名称调用文件内记录的程序

                                    对目录来说:是否可以进入目录

                                    注意:对目录来说,只有用户同时拥有w和x权限,才可以对目录下的子文件或者子目录进行删除

         2)权限修改(两种更改方式):

                      a)chmod <u/g/o> <+/-> <r/w/x> file/dir

                      示例:

                      b)chmod 542 file/dir

                      说明:r=4,w=2,x=1 如542代表 r-x r-- -w-            

        3)umask:系统对于创建的文件或者目录分配给他的默认的权限,默认的umask参数时0022

                            更改umask的值: umask 012     ##012为要减去的权值

                            更改过后我们计算一下权值:文件默认权限(rw- rw- rw-) - (--- --x -w-) = (rw- rw- r--)

                            注意: a)此处不是简单的减法操作,务必整明白

                                        b)在更改umask值之前建立的文件的权限不会被修改

                            示例:

         4)永久改变umask:上面改变umask值是临时改变的,要想永久改变,要修改配置文件:

                          vim /etc/profile

                          注意:002对应普通用户,022对应超级用户

                          vim /etc/bashrc

                          source /etc/profile   ##更改立即生效

                          source /etc/bashrc

3.更改目录和文件的归属:

                         chown user file/dir

                         chown user.group file/dir

                         chown -R user.group dir

 

                        chgrp group file/dir

                        chgrp -R group dir

4.acl权限列表:让特定用户对特定文件拥有特定的权限

                acl权限列表查看:

                        1)getfacl file/dir                                                   ##查看文件或者目录的权限

                        2)setfacl -m u:user1:rwx file/dir                          ##设定user1对file/dir的权限为rwx

                        3)setfacl -m g:group:rwx file/dir                          ##设定group组成员对file/dir的权限为rwx

                        4) setfacl -x u:student file/dir                                 ##从acl列表在删除student用户

                        5)setfacl -b file/dir                                               ##关闭file/dir上的acl列表

       说明:mask::rwx     ##能赋予用户的最大权力值

                     1)当用chmod减小开启acl的文件权限时,mask值会发生改变

                     2)如果需要恢复mask值: setfacl -m m:rw file

                 3)acl的默认权限只针对目录完成,而且只会对设定完成之后新建的文目录起作用,对已经存在的目录不会继承默认权限

5.特殊权限:

               1)sticky  ##粘制位

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

                    设定方式:  chmod o+t dir

                                  chmod 1xxx dir

                2)  sgid   ##强制位

                      对文件: 只针对二进制可执行文件,当文件上有sgid时任何人执行此文件产生的进程都属于文件的组

                      对目录: 当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组

                      设定方式: chmod g+s file/dir

                                         chmod 2xxx file/dir

              3)suid                  ## 冒险位

                     注意:只针对二进制可执行文件,当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人

                     设定方式: chmod u+s file

                                        chmod 4xxx file

        

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值