1.アカウントの承認要件を文書化する
hdfsのディレクトリとファイルは、それぞれのkerberosアカウントに対応しており、多くの場合、他のアカウントにアクセス許可を付与する必要があります。このとき、setfaclコマンドを使用して、対応する要件を完了することができます。
2.getfaclコマンド
setfaclを理解する前に、getfaclコマンドを見てみましょう。
hadoop fs -getfacl filepath
# file: filepath
# owner: xxx
# group: supergroup
user::rwx
group::rwx
mask::rwx
other::rwx
ご覧のとおり、現時点では、xxxという名前の所有者のみがファイルパスの権限を持っています。
3.setfaclコマンド
hdfs dfs -setfacl -R -m user:zzz:r-x filepath
上記のコマンドは、zzzという名前のアカウントへのファイルパスへの読み取り権限を付与するためのものです。
-Rは、ファイルパスとその下のディレクトリおよびファイルで再帰的に有効になることを意味します。
x実行可能権限を追加する必要があることに注意してください。追加しないと、有効になりません。
この時点で、getfaclコマンドを使用して表示します
# file: filepath
# owner: xxx
# group: supergroup
user::rwx
user:zzz:r-x
group::rwx
mask::rwx
other::rwx
これはアカウントzzzに対して有効であり、zzzはhdfsでファイルパスとその下のディレクトリおよびファイルを読み取ることができます。