各位好,感謝大家的協助。我向 QNAP 支援詢問後,得到的答覆是:SSH 指令操作不在支援範圍內,請在社群詢問。因此在此提出問題。
在 QTS 5.1.7.2770 中,我建立了多個共享資料夾,並分別為每個共享資料夾設定了使用者群組的存取權限,以及個別使用者的存取權限。存取權限是從共享資料夾的根目錄開始設定,並未在中間資料夾以下進行設定。
我希望能定期記錄誰擁有存取權限。雖然 QTS 的網頁介面可以顯示這些資訊,但似乎無法一次性以文字等格式下載,因此我想透過 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個讚
@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 與 ZFS 檔案系統差異所造成的。(我沒有深入追查所以不太確定……)
希望對您有所幫助。
Harinezumi先生,如您所述,在目錄末尾加上 / 之後,現在只會顯示該目錄的存取權限了。我本來還在考慮要不要重定向並用 head -n 100 等指令只顯示前100行……但現在已經不需要這麼做了。非常感謝您!
1個讚