控制对文件的访问

控制对文件的访问

作者:LAMP小白  点击:1638  发布日期:2014-06-03 00:57:48  返回列表

管理组

与用户一样,组也有名称和编号(GID)。本地组在/eztc/group中定义。LSAP也可用于提供组信息。


主要组

每个用户只有一个主要组。
对于本地用户,主要组通过/etc/passwd第三个字段中列出的组的GID编号定义。
通常,用户创建的新文件归主要组所有。
通常,新创建用户主要组为具有与该用户相同的名称的新创建组。该用户是这一用户专用组(UPG)的唯一成员。


补充组

用户可以是零或多个补充组的成员。
属于本地组补充成员的用户列在/etc/group中组条目的最后一个字段。对于本地组,用户成员身份由/etc/group中组条目的最后一个字段中找到的都好分隔的用户列表来确定。
补充组成员身份用来帮助确保用户具有访问系统中文件和其他资源的权限。
由于用户专用组(GID500以上)是自动创建的,因此通常建议预备一系列GID编号待用于补充组。此处我们使用200到400这一范围,尽管这可能与系统组(0-499)冲突。


管理补充组
[root@MIO-02 ~]# groupadd -g 400 mygname
[root@MIO-02 ~]# usermod -aG mygname haha
[root@MIO-02 ~]# id haha
uid=500(haha) gid=500(haha) groups=500(haha),400(mygname)


管理文件系统访问控制列表


访问控制列表支持
标准linux文件系统支持使用POSIX ACL设置多个复杂文件权限,前提是文件系统使用acl选项挂载。
在RHEL中,如果通过ls -l显示的权限字符串的最后一个字符是+,则文件或目录设置了ACL。
getfacl 用于显示文件的ACL
[root@MIO-02 testmount]# getfacl a.dat
# file: a.dat
# owner: root
# group: root
user::rw-
user:haha:rwx
group::r--
mask::rwx
other::r--

setfacl用于设置或修改文件的ACL
[root@MIO-02 testmount]# setfacl -m u:haha:rwx a.dat


权限优先级

在确定某个进程是否能访问某一个文件时,可按照以下方式应用文件权限和ACL。

1 如果是以拥有该文件的用户身份运行该进程,那么可以应用该文件的用户权限。
2 另外,如果是作为列于用户ACL条目中的用户运行进程,那么应用用户ACL(只要mask允许)
3 另外,如果是以拥有该文件的组向匹配的组身份或以具有明确组ACL条目的组身份运行该程序,如果权限是由任意匹配组授予的,则应用该权限(只要mask允许)
4 否则应用文件的其他权限


ACL掩码
具有ACL的文件拥有一个mask,这个掩码既能够限制拥有该文件的组的最大权限,又能限制ACL中补充用户和组所拥有的最大权限。

默认ACL继承
[root@MIO-02 testmount]# setfacl -m u:haha:rwx test/
[root@MIO-02 testmount]# setfacl -m d:u:haha:rw test/
[root@MIO-02 testmount]# su haha
[haha@MIO-02 testmount]$ cd test/
[haha@MIO-02 test]$ touch 1

注意
当在某一目录中设置默认ACL时,如果你要确保用户能够访问其中创建的新子目录内容,请确保包含对其ACL的可执行权限。


ACL挂载选项
挂载文件系统之后,必须启用对POSIX ACL条目的支持。
安装程序会配置他创建的所有ext4文件系统,以自动启用ACL支持。




上一篇:管理用户账户 下一篇:快递查询API
0