例子

例子

AIX ACL 中允许与指定的区别是什么:

文档是这样说的:

"The permit, deny, and specify keywords are defined as follows:
permit
    Grants the user or group the specified access to the file
deny
    Restricts the user or group from using the specified access to the file
specify
    Precisely defines the file access for the user or group 

If a user is denied a particular access by either a deny or a specify keyword, no other entry can override that access denial."

来源:https://www.ibm.com/docs/el/aix/7.1?topic=system-aixc-access-control-list

不知道这是否是一个非常微妙的英语问题,而且我不是母语人士。想了解其中的区别。

这里有一个例子:

attributes: SUID
base permissions:
    owner  (frank): rw-
    group (system): r-x
    others        : ---
extended permissions:
    enabled
        permit    rw-    u:dhs
        deny      r--    u:chas,    g:system
        specify   r--    u:john,    g:gateway, g:mail
        permit    rw-    g:account, g:finance

“指定”和“允许”似乎作用相同。

编辑:感谢用户 sllabres 的详细回答。

答案1

有趣的问题。

快速检查一下,重叠权限的组合是有区别的。

如果某个用户通过组拥有文件的读取权限和写入权限,并且两者都是“允许”ACL,则该用户能够读取和写入该文件。 (权限按逻辑“或”组合在一起)

如果存在例如仅具有读取权限的“指定”ACL,则仅读取权限有效并且来自例如组的写入权限被忽略。

如果有多个“指定”ACL,它们似乎在逻辑上是 AND 组合的。

例子

testuser@testserver: /home/testuser >
# aclget test
*
* ACL_type   AIXC
*
attributes:
base permissions
    owner(root):  rw-
    group(system):  ---
    others:  -w-
extended permissions
    disabled
    permit   r--     u:testuser

使用此权限(禁用 ACL),用户“testusr”可以写入文件 test(来自其他人的权限),但不能读取。

testuser@testserver: /home/testuser >
# echo "data" > test
testuser@testserver: /home/testuser >
# cat test
cat: 0652-050 Cannot open test.
testuser@testserver: /home/testuser >

启用 ACL 可以读取该文件,但“testusr”无法再读取该文件,因为 ACL 现在仅具有特定的读取权限。

# aclget test
*
* ACL_type   AIXC
*
attributes:
base permissions
    owner(root):  rw-
    group(system):  ---
    others:  -w-
extended permissions
    enabled
    permit   r--     u:testuser
testuser@testserver: /home/testuser >
# echo "data" > test
The file access permissions do not allow the specified action.
ksh: test: 0403-005 Cannot create the specified file.
testuser@testserver: /home/testuser >
# cat test
data

使用用户组(员工)扩展 ACL 并对该组写入权限会导致读取权限,因为 testuser 被允许通过 testuser 所属的员工组读取 ACL 和写入权限。 (逻辑或)

# aclget test
*
* ACL_type   AIXC
*
attributes: 
base permissions
    owner(root):  rw-
    group(system):  ---
    others:  -w-
extended permissions
    enabled
    permit   r--     u:testuser
    permit   -w-     g:staff
testuser@testserver: /home/testuser >
# echo "data" > test
testuser@testserver: /home/testuser >
# cat test
data

如果用户的读取权限从“允许”更改为“指定”,则仅读取权限有效,并且通过员工组的写入权限不再有效。

# aclget test
*
* ACL_type   AIXC
*
attributes: 
base permissions
    owner(root):  rw-
    group(system):  ---
    others:  -w-
extended permissions
    enabled
    specify  r--     u:testuser
    permit   -w-     g:staff
testuser@testserver: /home/testuser >
# echo "hi" > test
The file access permissions do not allow the specified action.
ksh: test: 0403-005 Cannot create the specified file.
testuser@testserver: /home/testuser >
# cat test
data

如果本示例中的 ACL u:testuser 和 g:staff 均更改为“指定”,则不允许读取或写入访问(逻辑 AND)

# aclget test
*
* ACL_type   AIXC
*
attributes: 
base permissions
    owner(root):  rw-
    group(system):  ---
    others:  -w-
extended permissions
    enabled
    specify  r--     u:testuser
    specify  -w-     g:staff
testuser@testserver: /home/testuser >
# echo "data" > test
The file access permissions do not allow the specified action.
ksh: test: 0403-005 Cannot create the specified file.
testuser@testserver: /home/testuser >
# cat test
cat: 0652-050 Cannot open test.

将指定 ACL g:staff 权限更改为读取和写入,仅授予读取权限,而不是像使用允许 ACL 那样授予读取和写入权限。

# aclget test
*
* ACL_type   AIXC
*
attributes: 
base permissions
    owner(root):  rw-
    group(system):  ---
    others:  -w-
extended permissions
    enabled
    specify  r--     u:testuser
    specify  rw-     g:staff
testuser@testserver: /home/testuser >
# echo "hi" > test
The file access permissions do not allow the specified action.
ksh: test: 0403-005 Cannot create the specified file.
testuser@testserver: /home/testuser >
# cat test
data
testuser@testserver: /home/testuser >

相关内容