我想自動更改複製到目錄的檔案的權限。例如,複製到資料夾 X 的任何檔案都應具有模式 755,複製到資料夾 Y 的任何檔案都應具有模式 700。
請指教,謝謝!
答案1
您可以用於umask
此用途。若要找出模式,請執行以下操作:
7777 -umask = 新權限
例如(Linux):
第777章 -022 第755章
umask 為 022,資料夾權限為 755,檔案權限為 644。在 ~/.profile 中新增類似內容umask 0027
,以便每次登入時載入它。
更新(由於懷疑的評論):
$ umask
0077
$ ll
total 0
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov 9 20:26 00
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov 9 20:26 01
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov 9 20:26 02
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov 9 20:26 03
$ rm -rf ../copies/*; \
/bin/cp --no-preserve=mode,ownership * ../copies/; ll ../copies/
total 0
-rw------- 1 jaroslav jaroslav 0 Nov 9 20:33 00
-rw------- 1 jaroslav jaroslav 0 Nov 9 20:33 01
-rw------- 1 jaroslav jaroslav 0 Nov 9 20:33 02
-rw------- 1 jaroslav jaroslav 0 Nov 9 20:33 03
答案2
我不認為使用標準 UNIX 權限逐一目錄執行此操作是可能的。然而,ACL 可以做到這一點。