はい

はい

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の場合、ユーザーはファイルを読み書きできます。 (権限は論理的にORで接続されています)

たとえば、読み取り権限のみを持つ「指定された」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が有効な状態でファイルを読み取ることができますが、ACLには特定の読み取り権限しかないため、「testusr」はファイルを読み取ることができません。

# 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を読み取り、書き込み権限を持つことができるため、読み取り権限が発生します。 (論理的OR)

# 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権限を読み取りおよび書き込みに変更して、Allow 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 >

おすすめ記事