如何自動更改複製到目錄的檔案的權限?

如何自動更改複製到目錄的檔案的權限?

我想自動更改複製到目錄的檔案的權限。例如,複製到資料夾 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 可以做到這一點。

相關內容