<ins id='85eqm'></ins>

  • <tr id='85eqm'><strong id='85eqm'></strong><small id='85eqm'></small><button id='85eqm'></button><li id='85eqm'><noscript id='85eqm'><big id='85eqm'></big><dt id='85eqm'></dt></noscript></li></tr><ol id='85eqm'><table id='85eqm'><blockquote id='85eqm'><tbody id='85eqm'></tbody></blockquote></table></ol><u id='85eqm'></u><kbd id='85eqm'><kbd id='85eqm'></kbd></kbd>
      1. <dl id='85eqm'></dl>

        <code id='85eqm'><strong id='85eqm'></strong></code>

        <fieldset id='85eqm'></fieldset>
        <i id='85eqm'></i>
        <span id='85eqm'></span>

            <i id='85eqm'><div id='85eqm'><ins id='85eqm'></ins></div></i>

            <acronym id='85eqm'><em id='85eqm'></em><td id='85eqm'><div id='85eqm'></div></td></acronym><address id='85eqm'><big id='85eqm'><big id='85eqm'></big><legend id='85eqm'></legend></big></address>

            Linux上的ACL权限文件访问

            • 时间:
            • 浏览:9
            • 来源:124软件资讯网

              在 Unix/Linux 系统上沿用了多年的权限机制  ,由于欠缺天真性  ,在现今的信息系统上显得落伍和不够应用  。然而一个新的权限机制尺度已经降生出来  ,本
              文将会为各人先容这个新机制在 Linux 上的操作方式  。


              ---------------------------------------------------------
              典型的文件权限
              典型的文件权限是这样的:
              #>ls -l
              -rwxrw-r-- 1 adam mis 272401 May 10 2003 test.doc
              表现文件属于用户adam  ,权限可读可写可运行;属于群组mis权限可读可写;其他人权限只读
              传统的权限只能对所有者 ,群组  ,其他来设定3套权限
              更庞大的权限则需要依赖ACL
              这个 POSIX ACL 的功效在 Linux kernel 2.6 上被正式支持  ,之后又被 back-port到 2.4 kernel 上  。各人常用的档案系统  ,如:ext3  ,xfs  ,jfs  ,和
              ReiserFS  ,都能使用ACL 。固然  ,各人须要在编译 kernel 时启动 ACL  。
              ---------------------------------------------------------
              启动 ACL
              虽然在 kernel 中已加进了 POSIX ACL 的支持 ,可是并不会自动启用的 。我们必须在挂上档案系统时指明要使用 ACL  。例如:

              mount -t ext3 -o acl /dev/sda1 /home
              其中 “-o acl”参数表现在 /dev/sda1 上启用 ACL 的选项  。我们亦可以在 /etc/fstab 中加入选项:

              /dev/sda1 /home ext3 acl 1 2
              ---------------------------------------------------------
              检察文件的ACL信息
              #>getfacl test.doc
              # file: test.doc
              # owner: adam
              # group: mis
              user::rw-
              group::rw-
              other::r--
              ---------------------------------------------------------
              会见型ACL设置
              更改ACL

              setfacl” 指令能更改一个档案或目录的 ACL  。其用法如下:

              setfacl option rules files

              option:
              -m 用来新增或修改 ACL 中的规则
              -x 用来移除 ACL 中的规则

              rules:
              user:(uid/name):(perms) 指定某位使用者的权限
              group:(gid/name):(perms) 指定某一群组的权限
              other::(perms) 指定其它使用者的权限
              mask::(perms) 设定有用的权限屏障
              若是想让hr群组的使用者能读取 “test.doc”而其它的人不能读取的话 。 我们可以用以下的指令告竣:

              setfacl -m group:hr:r,other::- test.doc
              以 getfacl 检视新的 ACL:
              [adam@www adam]$ getfacl test.doc
              # file: test.doc
              # owner: adam
              # group: mis
              user::rw-
              group::rw-
              group:hr:r--
              mask::rw-
              other::---
              要让使用者 adam 和 eva 能 读取 和 写入  , 群组mis 和 hr 只能读取  , 其它人不能 读取 和 写入  。 我们只须多加两个规则便能告竣:

              setfacl -m group::r,user:eva:rw report.doc
              [adam@www adam]$ getfacl report.doc
              # file: report.doc
              # owner: adam
              # group: mis
              user::rw-
              user:eva:rw-
              group::r--
              group:hr:r--
              mask::rw-
              other::---
              ---------------------------------------------------------
              预设型ACL
              预设型ACL 只可用于目录 , 它决议了该目录下新建设的档案或目录的 ACL  。要设定 预设型ACL  , 同样使用 “setfacl” 。 所差别的是  , 在每个规则前加上“
              default:”  , 例如:
              setfacl -m default:user::rw /home/adam
              若是以为指令太长的话我们可以使用简略字符:
              长写 简写
              user: u:
              group: g:
              other: o:
              mask: m:
              default: d:
              setfacl -m d:u::rw,d:u:eva:rw,d:g::r,d:o::- /home/adam

              [adam@www adam]$ getfacl /home/adam
              getfacl: Removing leading '/' from absolute path names
              # file: home/adam
              # owner: adam
              # group: adam
              user::rwx
              group::---
              other::---
              default:user::rw-
              default:user:eva:rw-
              default:group::r--
              default:mask::rw-
              default:other::---

              建设新的档案并检视其 存取型ACL:

              [adam@www adam]$ touch newfile

              [adam@www adam]$ getfacl newfile
              # file: newfile
              # owner: adam
              # group: mis
              user::rw-
              user:eva:rw-
              group::r--
              mask::rw-
              other::---