ホームページ  >  記事  >  バックエンド開発  >  Go と `go-acl` パッケージを使用して Windows でファイル アクセスを制御する方法

Go と `go-acl` パッケージを使用して Windows でファイル アクセスを制御する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-26 21:42:29596ブラウズ

How to Control File Access in Windows Using Go and the `go-acl` Package?

Go を使用した Windows でのファイル アクセスの制御

Linux では、os.Chmod() 関数を使用してファイルとディレクトリのアクセス許可を変更できます。ただし、Windows ではアクセス制御を使用してファイルやディレクトリへのアクセスを管理するため、この機能は Windows では動作しません。

Windows アクセス制御について

Windows の各ファイルとディレクトリには、オブジェクトにアクセスできるユーザーとグループを指定するアクセス制御リスト (ACL) があります。 ACL は、トラスティ (ユーザー、グループなど) に特定の権限を付与または拒否するアクセス コントロール エントリ (ACE) で構成されます。

Go を使用した ACL の操作

制御するにはGo を使用して Windows 上でファイルにアクセスするには、ACL と ACE を操作するための簡素化されたインターフェイスを提供する「go-acl」パッケージを使用できます。 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 に 3 つの ACE が作成されます:

  • 完全な権限 (rwx) を持つ所有者 (WinCreatorOwnerSid) 用
  • グループ (WinCreatorGroupSid) には読み取り (r) および実行 (x) 権限が与えられます
  • 他の全員 (WinWorldSid) には読み取り (r) および実行 (x) 権限が与えられます

以上がGo と `go-acl` パッケージを使用して Windows でファイル アクセスを制御する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。