当提到文件和目次的权限时,你的第一反竽暌功可能是“属主/群组/其它”权限。 这些权限可以经由过程 chmod
、 chown
等敕令来修改。
文件和目次都有属主 (文件所有者 )、群组 (所属组) 以及其它权限,这些权限构成一个集合。 然而这些权限集合有它的局限性,无法做到为不合的用户设置不合的权限。
Linux 对文件和目次有以下默认权限。
- 文件 ->
644
->-rw-r-r-
(所有者有读写权限,构成员有只读权限, 其他人也只有读权限) - 目次 ->
755
->drwxr-xr-x
(所有者有读、写和履行权限,构成员有读和履行的权限,其他人也有读和履行的权限)
比如: 默认情况下,所有者可以拜访和编辑他们本身主目次中的文件, 也可以拜访相干同组人的文件,但他们不克不及修改┞封些文件,因为构成员没有写权限,并且让构成员有写权限也是不明智的。 基于同样的原因,他/她也不克不及修改其他人的文件。 然而在某些情况下,多个用户想要修改同一个文件, 那该怎么办呢?
假设有个名叫 magi
的用户,他想要修改 httpd.conf
文件怎么办呢? 这个文件是归 root 用户所有的,如许若何授权呢? 为懂得决这种情况,拜访控制列表(ACL)出生了。
ACL 表示拜访控制列表(ACL),它为文件体系供给了附加的、更具有弹性的权限机制。 它被设计来为弥补 UNIX 文件权限机制。 ACL 许可你付与任何某用户/组拜访某项资本的权限。 setfacl
与 getfacl
敕令会赞助你治理 ACL 而不会有任何麻烦。
若何确认是否启用了 ACL?
什么是 setfacl?
setfacl
用于设置文件和目次的 ACL。
什么 getfacl?
# setfacl -m u:magi:rwx /etc/apache2/apache2.conf
getfacl
- 获取文件的 ACL 。对于每个文件, getfacl
都邑显示文件名、文件所有者、所属组以及ACL。 如不雅目次有默认 ACL, getfacl
也挥菰示这个默认的 ACL。
【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞?
运行 tune2fs
敕令来检查是否启用了 ACL。
# tune2fs -l /dev/sdb1 | grep options
Default mount options: (none)
膳绫擎的输出很明显第解释 /dev/sdb1
分区没有启用 ACL。
如不雅结不雅中没有列出 acl
,则你须要在挂载选项中加上 acl
。 为了让它永远生效, 修改 /etc/fstab
中 /app
这一行成如许: