【redhat5.5】目录和文件权限总结

【1】各种参数

        1】 u 代表用户(user) 表示文件或目录的所有者

                g 代表同组(group)用户 即和所有者有相同组id的所有用户

                o 代表其他(other)用户

                a 代表所有用户 使系统默认值

        2】 + 添加某项权限

                 - 取消某项权限

                 = 赋予某项权限并取消其他所有权限(如果有的话)

        3】 r    4    可读

                w   2    可写

                x    1    可执行

                -    0    空许可

        4】 文件类型

                - 一般文件

                l 连接文件

               d 目录文件

               b 块设备文件

               c 字符型设备文件 (/dev 目录下)

               s 网络类型文件 (/tmp目录下存在)

               p 管道文件

        5】 特殊权限位

               suid 设置在二进制可执行程序上,对目录和文本无效 4

               不管谁来执行程序,linux都以程序拥有者的身份进入权限获取流程中从而决定存取权限

              在user位的x显示为S和s,s代表包含x权限,S代表不包含x权限

              sgid 可作用于二进制文件又可作用于目录 2

              作用于二进制文件上和suid类似

              作用于目录上:默认情况下用户建立文件时,文件的所属组是用户的主组,若设置了sgid 在目录下建立文件,则文件的所属组是继承目录的属组,且建立的权限也继承g+s权限

              在group位的x显示为S或s,s代表包含了x权限,S代表未包含x权限 即未生效

              sticky 粘滞位 1

              只作用于目录

              任何人都可以在一个目录下建立文件,却只有root和建立者本人才可以删除文件

              在other位的x显示为T或t,t代表包含x权限,T代表未包含x权限

【2】权限设置

              对普通用户而言,其umask值为002,即其建立起来的普通文件默认权限为664,目录权限为775。

             超级用户的umask值为022,即建立普通文件默认权限为644,目录权限为755。

          1】chmod改变当前权限

                chmod u+x a.sh 为a.sh的拥有者加执行权限

                chmod 777 a.sh 为a.sh增加完全权限 (-rwxrwxrwx)

                chmod 4744 a.sh 改变a.sh的权限为 ( -rwsr--r--+ )

               chmod -R g+w /tmp/work 为/tmp/work目录及以下文件的组用户增加写权限

               chmod a=rw a.sh 清除原先权限,变为 所有用户可读写 (-rw-rw-rw)

         2】chown 改变文件所有者

               chown user1 file1 将file1修改为用户user1所有

               chown -R user1 dir1 将目录dir1及其子目录中所有文件都改为用户user1所有

        3】chgrp 改变文件的用户组

              chgrp vivi file1 将文件file1的工作组修改为vivi组所有

              chgrp -R baidu dir1 chown -R user1 dir1 将目录dir1及其子目录中所有文件都改为用户user1所有

【3】 访问控制列表(ACL,Access Control List的缩写)

         适应更复杂的文件系统权限控制要求,列如,目录data的权限为:drwxr-x---,所有者与所属组均为root,在不改变所有者和所属组的前提下,要求用户user1 对该目录有完全访问权限(rwx),但又不能让其他有完全权限(rwx)。linux开发了一套新的文件系统权限管理方法。 ACL必须要有文件系统的支持才行。主要包括ReiserFS,EXT2/EXT3/ext4,JFS,XFS等文件系统。

        1】查看是否支持ACL

            dumpe2fs /dev/sda1 | grep acl

             显示 : dumpe2fs 1.41.12(17-may-2010)+'-

             Default mount options: user_xattr acl

            若默认挂载项没有acl, 可以用

            mount -o remount,acl /dev/sda1

            来重新挂载。

         2】查看acl权限

              getfacl /root/dir1 获取/root/dir1的访问控制列表

         3】设置acl权限

             setfacl -m o:rwx install.log 为install.log的other用户设置完全权限 和通过chmod设置的效果是一样的。

             setfacl -m u:user1:rwx /install.log 为user1用户设置install.log 的完全权限

             setfacl -x u:user1 /install.log 清除user1用户的完全权限

             setfacl -x m:: /install.log 把mask权限复位

             setfacl -x u:user1:rwx /install 会报错 即 setfacl -x 不能单独删除某个权限。

             setfacl -b /install.log 一次性把所有ACL权限清空 ,还原成文件原来权限。 mask值不用复位

        4】 acl的mask值的设置

             mask只对特定用户和组的权限有影响,而对owner和other的权限没有任何影响。

             例: install.log文件 ( -rwxr-xr-x root root ....)

             setfacl -m u:user1:rwx /install.log

             getfacl /install.log

             显示 ...

             user::rwx

             user:user1:rwx

             group::r-x

             mask::rwx

            other::r--

            设置 mask值

            setfacl -m m::r /install.log

            getfacl /install.log

            显示 ...

            user::rwx

            user:user1:rwx #effective:r-- 说明:user1 只有读权限

            group::r-x #effective:r-- 说明:group 组只有读权限

            mask::r--

           other::r--

           setfacl -m d:u:user1:rwx /root/ceshi 预设acl 只对目录 在目录/root/ceshi下新建的目录或文件,user1拥有完全权限。

 

          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值