SetPermissions

自 Ant 1.10.0 起.

說明

使用 Java 的 NIO 權限支援變更檔案權限。

此任務提供 chmodattrib 平台特定功能的子集,且以與平台無關的方式提供。

如果未透過模式或權限屬性指定任何權限,則會從巢狀資源中移除所有權限。

此任務接受任意資源作為巢狀資源集合的一部分,但並非所有資源都支援設定權限。此任務不會對不支援設定權限的資源執行任何動作,例如 URL。

權限套用至巢狀資源集合中包含的所有資源。如果您希望不同的權限套用至任一類型的資源,您可能需要確保集合只傳回檔案或目錄。

參數

屬性 說明 必要
permissions 要設定的權限,以逗號分隔的 PosixFilePermission 值名稱清單。
mode 要設定的權限,以傳統 Unix 三位數八進位數字表示。
nonPosixMode 如果無法變更檔案權限,因為檔案系統不支援 POSIX 檔案權限,則執行下列動作。可能的選項包括 fail(建置失敗)、pass(僅記錄錯誤)、tryDosOrFail(至少嘗試在 DOS 檔案系統上設定唯讀旗標,如果這也不可能,則失敗)和 tryDosOrPass(至少嘗試在 DOS 檔案系統上設定唯讀旗標,如果這也不可能,則僅記錄錯誤)。 否;預設為 fail
failonerror 如果設定權限失敗,是否停止建置。 否;預設為 true

以巢狀元素指定參數

任何資源集合

資源集合用於選取資源群組。

範例

start.sh 檔案對所有人可讀取和可執行,且讓擁有者可寫入。

<setpermissions mode="755">
  <file file="${dist}/start.sh"/>
</setpermissions>

start.sh 檔案對所有人可讀取和可執行,且讓擁有者可寫入。

<setpermissions permissions="OWNER_READ,OWNER_WRITE,OWNER_EXECUTE,OTHERS_READ,OTHERS_EXECUTE,GROUP_READ,GROUP_EXECUTE">
  <file file="${dist}/start.sh"/>
</setpermissions>