使用 Go 控制 Windows 中的檔案存取
在 Linux 中,os.Chmod() 函數可讓您修改檔案和目錄權限。但是,此功能在 Windows 上不起作用,因為 Windows 使用存取控制來管理對檔案和目錄的存取。
了解 Windows 存取控制
Windows 中的每個檔案和目錄都有一個存取控制清單 (ACL),指定哪些使用者和群組有權限存取該物件。 ACL 由存取控制條目 (ACE) 組成,用於向受託者(例如使用者、群組)授予或拒絕特定權限。
使用Go 操作ACL
控制使用Go 在Windows 上存取文件,您可以使用「go-acl」包,它提供了用於操作ACL 和ACE的簡化介面。 go-acl 中的 Chmod() 函數可讓您輕鬆設定檔案和目錄權限。
使用範例
<code class="go">import "github.com/hectane/go-acl" // Set "rwxr-xr-x" permissions to a file: err := acl.Chmod("C:\path\to\file.txt", 0755) if err != nil { panic(err) }</code>
結果
當您使用acl.Chmod() 時,它會在文件的ACL 中建立三個ACE:
以上是如何使用 Go 和 `go-acl` 套件控制 Windows 中的檔案存取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!