getfaclコマンドについて

皆様、お世話になります。QNAPのサポートに質問したところ、SSHでのコマンドはサポート対象外でありコミュニティに質問して下さい、と回答されたのでこちらで質問する次第です。

QTS5.1.7.2770で、複数の共有フォルダを作成しており、それぞれの共有フォルダには、ユーザグループによるアクセス権と、ユーザ個別のアクセス権を付与しています。共有フォルダ先頭からアクセス権を付与しており、中間フォルダ以下で設定はしていません。
誰にアクセス権を設定しているかを、定期的に記録したいと考えています。表示は、QTSのWEB画面でも表示できますが、一括してテキスト等でダウンロードできないと思っておりますので、WEB
画面ではなく、Linux上(SSH)でQTSにログインして、getfaclコマンドで共有フォルダのアクセス権を一覧表示してみました。しかしながら、共有フォルダの先頭だけのアクセス権でよいのに、再帰処理で末端のファイルまで表示されてしまいます。コマンドの実行例は以下です。

[administrator@VDRIVE-3G-BK share]$ getfacl /share/ZZ_UPLOAD_TEST

その結果は以下です。
getfacl: Removing leading ‘/’ from absolute path names

file: share/ZZ_UPLOAD_TEST

owner: admin

group: administrators

user::rwx
user:admin:rwx
user:administrator:rwx
user:admin-h:rwx
user:admin-b:rwx
user:admin-m:rwx
user:admin-f:rwx
user:guest:—
group::rwx
group:administrators:rwx
mask::rwx
other::rwx
default:user::rwx
default:user:admin:rwx
default:user:administrator:rwx
default:user:admin-h:rwx
default:user:admin-b:rwx
default:user:admin-m:rwx
default:user:admin-f:rwx
default:user:guest:—
default:group::rwx
default:group:administrators:rwx
default:mask::rwx
default:other::rwx

(中略)

file: share/ZZ_UPLOAD_TEST/xx_Quotation 0908B_uplad_test_xx.pdf

owner: admin-b

group: everyone

user::rwx
user:admin:rwx
user:administrator:rwx
user:admin-h:rwx
user:admin-b:rwx
user:admin-m:rwx
user:admin-f:rwx
user:guest:—
group::rwx
group:administrators:rwx
mask::rwx
other::rwx

上記のように、再帰的に結果が表示され、末端のファイルに対する権限も表示されます。指定した共有フォルダについてだけのアクセス権を表示されるにはどのような引数を指定すればよいでしょうか。または別のコマンドはありませんか。ネットやcopilotで調べましたが、わかりませんでした。どなたかご存じであればご回答よろしくお願いします。尚、質問文中に一部大きく表示される文字は、意図したものではなく、投稿したら勝手に大きく表示されています。

1 Like

@QnapUser20250328 さん

ご質問ありがとうございます。

QTS環境でのgetfaclの挙動ということですね。
手元で試してみたところ、フォルダ名の後ろに"/"を付けるかどうか?で挙動が変わるようでした。

フォルダ名の後ろに"/"を付けない場合

# getfacl -p  /share/Public
# file: /share/Public
# owner: admin
# group: administrators
user::rwx
user:admin:rwx
user:qnapadmin:r-x
user:guest:rwx
group::rwx
group:administrators:rwx
group:everyone:r-x
mask::rwx
other::rwx
default:user::rwx
default:user:admin:rwx
default:user:qnapadmin:r-x
default:user:guest:rwx
default:group::---
default:group:administrators:rwx
default:group:everyone:r-x
default:mask::rwx
default:other::rwx

# file: /share/Public/.streams
# owner: admin
# group: administrators
user::rwx
user:admin:rwx
user:qnapadmin:r-x
user:guest:rwx
group::rwx
group:administrators:rwx
group:everyone:r-x
mask::rwx
other::rwx
default:user::rwx
default:user:admin:rwx
default:user:qnapadmin:r-x
default:user:guest:rwx
default:group::---
default:group:administrators:rwx
default:group:everyone:r-x
default:mask::rwx
default:other::rwx

# file: /share/Public/RtspTestSrv_0.1_x86_64_20230530.qpkg
# owner: qnapuser
# group: everyone
....
default:group:everyone:r-x
default:mask::rwx
default:other::rwx

フォルダ名の後ろに"/"を付ける場合

# getfacl -p  /share/Public/
# file: /share/Public/
# owner: admin
# group: administrators
user::rwx
user:admin:rwx
user:qnapadmin:r-x
user:guest:rwx
group::rwx
group:administrators:rwx
group:everyone:r-x
mask::rwx
other::rwx
default:user::rwx
default:user:admin:rwx
default:user:qnapadmin:r-x
default:user:guest:rwx
default:group::---
default:group:administrators:rwx
default:group:everyone:r-x
default:mask::rwx
default:other::rwx

お手元でもご確認ください。

QuTS HeroとQTSで挙動が違っていたので、環境変数"env"の違いかと思ったのですが、環境変数は相違なさそうでしたので、EXT4 vs ZFSのファイルシステムの違いからくるものかもしれません。(追ってないのでわかりませんが。。。)

ご参考になりますと幸いです。

Harinezumiさん、記載されたようにディレクトリの末尾に/を付けたらそのディレクトリだけのアクセス権限が表示されるようになりました。リダイレクトしてhead -n 100 等で先頭100行だけ表示させようか・・・と思っていましたが、その必要がなくなりました。ありがとうございました!

1 Like

@QnapUser20250328 さん

解決されたようで何よりです!

また何かありましたら、コミュニティにてお気軽にご相談ください!