File Storage NAS は、NFS ファイルシステム向けに、POSIX ACL と NFSv4 ACL を含む NFS アクセスコントロールリスト (ACL) を提供します。NFS ACL により、特定のユーザーやグループに対して、ディレクトリやファイルにきめ細かなアクセス許可を付与できます。
背景情報
複数のユーザーとグループがファイルシステムを共有する場合、管理者は、特定のファイルとディレクトリにアクセスできるユーザーをきめ細かく制御する必要があります。File Storage NAS は、この目的のために、NFSv4 ACL および POSIX ACL を含む NFS ACL を提供します。ACL とは、ファイルまたはディレクトリに対するアクセス許可を定義するアクセス制御エントリ (ACE) のリストです。
NFSv4 ACL ファイルシステムを NFSv3 でマウントすると、ACL は POSIX ACL に変換され、その逆も同様です。しかし、この 2 種類の ACL タイプには完全な互換性はなく、mode と ACL 間の相互運用性は限られています。また、NFSv3 マウントはロックをサポートしていません。NFSv4 ACL を使用する場合は、NFSv4 プロトコルのみでマウントし、mode と POSIX ACL の使用は避けてください。機能。
コンソールまたは API から NFS ACL を有効化します。 NFS ACL 機能を設定する。
POSIX ACL
POSIX ACL は、標準の mode パーミッションモデルを拡張し、所有者、グループ、その他のクラスを超えて、特定のユーザーやグループに対してパーミッションを設定できます。また、パーミッションの継承もサポートしています。
各 ACE は、ユーザーまたはグループに対する読み取り、書き込み、実行のパーミッションを指定します。
ACE は、タグタイプ、オプションの修飾子、パーミッションのセットで構成され、default:type:permissions のフォーマットで表されます。
-
default:ディレクトリ継承 ACE
ディレクトリの継承 ACE を表します。このタイプの ACE をサポートしているのはディレクトリのみです。
-
type:ACE タグタイプ
POSIX ACE は、6 つのうち、必ずいずれか 1 つに該当します。各タイプは、特定の識別子で表されます。
タイプ
識別子
説明
ACL_USER_OBJ
user:ファイルの所有者。
ACL_USER
user:uid特定のユーザー。例:
user:admin。ACL_GROUP_OBJ
group:ファイルの所有グループ。
ACL_GROUP
group:gid特定のユーザーグループ。例:
group:players。ACL_MASK
mask:特定のユーザー、所有グループ、および特定のユーザーグループに適用される ACE の最大パーミッション。
ACL_OTHER
other:その他のユーザー。
-
パーミッション
パーミッション
説明
r
読み取りパーミッション。
w
書き込みパーミッション。
x
ファイルを実行するか、ディレクトリに入るためのパーミッション。
-
パーミッションなし。
POSIX ACL の詳細については、acl - Linux man ページをご参照ください。
NFSv4 ACL
NFSv4 ACL は、POSIX ACL よりもきめ細かい権限制御を提供します。
NFSv4 ACL のアクセス制御エントリ (ACE) フォーマットは type:flags:principal:permissions です。
-
ACE タイプ
各 NFSv4 ACE は、1 文字で表される 4 種類のタイプのうち、必ずいずれか 1 つを持ちます。
タイプ
識別子
説明
許可
A
許可。
指定された権限を付与します。
拒否
D
拒否。
指定された権限を拒否します。
監査
U
監査。
指定された権限を必要とするすべてのアクセスをログに記録します。successful-access と failed-access フラグの一方または両方が必要です。このタイプは、一部のシステムでのみサポートされています。
アラーム
L
アラーム。
指定された権限を必要とするすべてのアクセスに対してシステムアラームを生成します。successful-access と failed-access フラグの一方または両方が必要です。このタイプは、一部のシステムでのみサポートされています。
-
フラグ
ACE には、グループ、継承、管理の 3 つのカテゴリのフラグがあります。
フラグ
識別子
説明
group
g
ユーザーグループを指定します。
directory-inherit
d
ディレクトリ継承 ACE。
新しく作成されたサブディレクトリは ACE を継承します。
file-inherit
f
ファイル継承 ACE。
-
新しく作成されたファイルは親ディレクトリから ACE を継承しますが、その継承フラグは削除されます。
-
新しく作成されたサブディレクトリは親ディレクトリから ACE を継承します。親 ACE に
directory-inheritも指定されていない場合、継承された ACE にinherit-onlyが追加されます。
inherit-only
i
ACE は権限チェックの際には考慮されませんが、継承は可能です。ただし、継承された ACE からは
inherit-onlyフラグが削除されます。no-propagate-inherit
n
新しく作成されたサブディレクトリは ACE を継承しますが、その継承フラグは削除されます。
successful-access
S
監査またはアラーム ACE の場合、このフラグは、権限に一致するアクセスが成功した場合に、指定されたアクションをトリガーします。
failed-access
F
監査またはアラーム ACE の場合、このフラグは、権限に一致するアクセスが拒否された場合に、指定されたアクションをトリガーします。
-
-
プリンシパル
OWNER@、GROUP@、EVERYONE@、または特定のプリンシパルなど、ファイルに対する操作を実行できるプリンシパルを指します。
-
権限
説明-
OWNER@ プリンシパルのデフォルトの最小権限は tTnNcCy です。これらより少ない権限は許可されません。
-
GROUP@ および EVERYONE@ プリンシパルのデフォルトの最小権限は tncy です。これらより少ない権限は許可されません。
NFSv4 ACL の詳細については、nfs4_acl - Linux man ページをご参照ください。
-
POSIX ACL のガイドライン
-
ACL の設定
-
継承 (
default) を使用してサブディレクトリツリーに同じ ACL を適用し、ファイルやディレクトリごとの設定を避けます。 -
setfacl -Rの使用には注意してください。大規模なディレクトリツリーに対して実行すると、メタデータへの負荷が発生し、パフォーマンスが低下します。 -
ACL を設定する前に、ユーザーグループと権限を計画します。グループメンバーシップを通じてアクセスを管理すると、ACL を変更する代わりにグループを変更するだけで権限を調整できます。ACL は、常に個別のユーザーではなく、グループに対して設定します。
-
複数のクライアントで POSIX ACL を使用する場合は、同じユーザーとグループに対して UID と GID が一致していることを確認してください。NAS はプリンシパルを名前ではなく、UID または GID で識別します。
-
-
ACL の使用
-
システムは権限チェックのたびにすべての ACE をスキャンします。パフォーマンスの低下を避けるため、ACE の数を最小限に抑えます。
-
-
他者の権限設定
-
他者の権限は最小限に抑えます。これらの権限はすべてのユーザーに適用されます。特定の ACE よりも他者に多くのアクセス権を付与すると、セキュリティリスクが生じます。
-
コードの実行前に
umask 777を実行して、作成時のモードを000に設定し、デフォルトの権限を最小限に抑えます。umask とデフォルトのモードをご参照ください。 -
POSIX ACL を有効にすると、ファイルモードのグループクラスの権限は ACL マスクとして機能し、名前付きユーザーとグループの実効権限を制限します。
-
NFSv4 ACL のガイドライン
-
ACL (アクセス制御リスト) の設定
-
ACL は、
UID 1001のように、UID または GID を使用して設定します。 -
継承を使用して、サブディレクトリツリーに同じ ACL を適用することで、ファイルやディレクトリごとの ACL 設定を避けます。
-
nfs4_setfacl -Rの使用には注意してください。大規模なディレクトリツリーに対して実行すると、メタデータの圧迫が発生し、パフォーマンスが低下します。
-
-
ACL の使用
-
システムは権限チェックのたびにすべての ACE (アクセス制御エントリ) をスキャンします。パフォーマンスの低下を避けるため、ACE の数を最小限に抑えてください。
-
-
ACL 権限の設定
-
NFSv4 ACL を採用した後は、
モードの使用を避けてください。 -
nfs4_setfaclコマンドは -a、-x、-m オプションをサポートしていますが、nfs4_setfacl -e <file>を使用すると、より直感的でインタラクティブな編集が可能になります。 -
きめ細かい書き込み権限は予期しない失敗を引き起こす可能性があります。たとえば、
wをaなしで付与すると、書き込みがブロックされる場合があります。ディレクトリの変更にも同様の問題が当てはまります。書き込み権限を設定するには、nfs4_setfaclで大文字のWを使用してください。nfs4_setfaclはWを完全な書き込みセットに展開します。ファイルの場合はwadT、ディレクトリの場合はwadTDです。 -
ACL を設定する前に、ユーザーグループと権限を計画してください。グループのメンバーシップを通じてアクセスを管理することで、ACL を変更する代わりにグループを変更して権限を調整できます。常に個別のユーザーではなく、グループに対して ACL を設定してください。
-
NAS は NFSv4 ACL に対して許可 ACE のみをサポートしており、拒否 ACE はサポートしていません。everyone の権限は最小限に抑えてください。過度な everyone アクセスはセキュリティの脆弱性を引き起こします。
-
NFS ACL の設定
NFS ACL を有効化した後は、POSIX ACL または NFSv4 ACL を使用して、ファイルとディレクトリの権限を管理します。
-
NFSv3 ファイルシステム:POSIX ACL を使用して権限を管理する。
-
NFSv4 ファイルシステム:NFSv4 ACL を使用して権限を管理する。