目的
ディレクトリーに ACL を設定します。
構文
fs setacl -dir <directory>+ -acl <access list entries>+ [-clear] [-negative] [-id] [-if] [-help] fs sa -d <directory>+ -a <access list entries>+ [-c] [-n] [-id] [-if] [-h] fs seta -d <directory>+ -a <access list entries>+ [-c] [-n] [-id] [-if] [-h]
構文
fs setacl コマンドは、-acl 引き数が指定したアクセス制御リストの項目を、-dir 引き数が指定した各ディレクトリーの ACL に追加します。
-dir 引き数が (AFS/DFS Migration Toolkit Protocol Translator 経由でアクセスした) DFS ファイル・スペースのパス名を指定した場合、それはディレクトリーの他に、ファイルとすることもできます。ただし、ACL にはすでに mask_obj への項目が含まれていなくてはなりません。詳細については、AFS/DFS Migration Toolkit Administration Guide and Reference を参照してください。
-acl 引き数には、ユーザーおよびグループ記入項目のみを指定できます。マシン項目 (IP アドレス) を直接 ACL に配置しないでください。その代わりに、マシン項目をグループ・メンバーに作成し、ACL のグループに配置します。
新規項目を追加する前に既存の ACL を完全に消去するには、-clear フラグを指定します。指定の項目を ACL の Negative rights セクション (これは指定されたユーザーまたはグループの権利を禁止します) に追加するには、-negative フラグを指定します。
ACL を表示するには、fs listacl コマンドを使用します。ACL を別のディレクトリーにコピーするには、fs copyacl コマンドを使用します。
注意
ACL がすでにユーザーまたはグループにいくつかのアクセス権を許可している場合は、fs setacl コマンドで指定されたアクセス権は、追加されるのではなく、既存のアクセス権を置き換えます。
一般に、負のアクセス権の設定は必要なく、また、推奨されていません。通常、単にユーザーまたはグループを ACL の Normal rights セクションから省略するだけで十分です。これでアクセスできなくなります。特に、同じ ACL の system:anyuser メンバーに許可されたアクセス権を禁止しても意味がないことに注意してください。ユーザーは unlog コマンドを発行するだけで禁止されたアクセス権を受け取ることができます。
-clear オプションが組み込まれている場合には、各ディレクトリーの所有者ごとに、少なくとも l (検索) アクセス権を含む項目が復元されているかどうかを確認してください。そのアクセス権がなければ、「ドット」(.) および 「ドット・ドット」(..) 省略表現をディレクトリー内から解決することはできません。 (ディレクトリーの所有者は、消去された ACL についても暗黙的に a [管理] アクセス権を持っていますが、これは他のアクセス権を追加するために使用するものだと理解してください)。
オプション
各ディレクトリー (または DFS ファイル) への読み取り / 書き込みパスを指定し、読み取り専用ボリュームを変更しようとして発生する障害を回避します。規則では、読み取り / 書き込みパスは、パス名の 2 番目のレベルのセル名の前にピリオドを入れて示します (たとえば、/afs/.abc.com)。ファイル・スペースを通る読み取り / 書き込みパスおよび読み取り専用パスの概念に関する詳細については、 fs mkmount 参照ページを参照してください。
この順序で、スペースで区切ります (したがって、この引き数のすべてのインスタンスは 2 つの部分に分かれています)。受け入れ済みの AFS 省略形および省略語とそれぞれの意味は、次のとおりです。
個々の文字を組み合わせた項目と省略語を使用した項目を混合しても受け入れられますが、両方のタイプの表記をユーザーまたはグループおよびアクセス権のそれぞれの対には使用しないでください。
DFS ACL 項目の正しい形式および許容値を確認するには、AFS/DFS Migration Toolkit Administration Guide and Reference を参照してください。
この引き数は、DFS ファイルまたはディレクトリーではサポートされていません。 DFS は拒否の ACL アクセス権をインプリメントしていないからです。
例
以下の例では、現行作業ディレクトリーの ACL のNormal rights セクションに 2 つの項目を追加します。最初の項目は r (読み取り) および l (検索) アクセス権をグループ pat:friends に付与します。もう一方の項目は (write 省略表現を使用して) a (管理) を除くすべてのアクセス権をユーザー smith に与えます。
% fs setacl -dir . -acl pat:friends rl smith write % fs listacl -path . Access list for . is Normal rights: pat:friends rl smith rlidwk
次の例では、-clear フラグが指定されています。これは、既存のアクセス権 (fs listacl コマンドで表示されるように) を現行作業ディレクトリーの reports サブディレクトリーから削除し、新規セットに置き換えます。
% fs listacl -dir reports Access list for reports is Normal rights: system:authuser rl pat:friends rlid smith rlidwk pat rlidwka Negative rights: terry rl % fs setacl -clear -dir reports -acl pat all smith write system:anyuser rl % fs listacl -dir reports Access list for reports is Normal rights: system:anyuser rl smith rlidwk pat rlidwka
次の例では、-dir および -acl スイッチを使用しています。これは ACL を複数のディレクトリー(両方とも現行作業ディレクトリーとその public サブディレクトリー) に設定するためです。
% fs setacl -dir . public -acl pat:friends rli % fs listacl -path . public Access list for . is Normal rights: pat rlidwka pat:friends rli Access list for public is Normal rights: pat rlidwka pat:friends rli
必要となる特権
発行者は、ディレクトリーの ACL の a (管理) アクセス権が必要です。ディレクトリーの所有者および system:administrators グループのメンバーは、 ACL に表示されていなくても、暗黙的に権限を持っています。
関連情報
AFS/DFS Migration Toolkit Administration Guide and Reference