ディレクトリのシンボリックリンクとジャンクションの作成をブロックする

ディレクトリのシンボリックリンクとジャンクションの作成をブロックする

セキュリティ上の理由から、特定の Windows ディレクトリのシンボリック リンクとジャンクションの作成をブロックしたいと考えています。これは可能ですか? 可能であれば、どの Windows API を使用すればよいですか?

たくさんの記事やブログを読みましたが、解決策は見つかりませんでした。

答え1

シンボリック リンクの作成は、ファイル システムの権限ではなく、ユーザー権限です。そのため、特定の Windows ディレクトリに対して、希望どおりに制御することはできません。ユーザー/グループ レベルでのみ、許可または拒否できます。デフォルトでは、ローカルの Administrators グループに対してのみ有効になっています。[1]

あなたは、ローカルセキュリティ機関 (LSA) 機能SeCreateSymbolicLinkPrivilege 権限で動作します。

Microsoft の権限

システム管理者は、ユーザー マネージャーなどの管理ツールを使用して、ユーザー アカウントおよびグループ アカウントの権限を追加または削除できます。管理者は、ローカル セキュリティ機関 (LSA) 関数をプログラムで使用して権限を操作できます。LsaAddAccountRights 関数と LsaRemoveAccountRights 関数は、アカウントに権限を追加または削除します。LsaEnumerateAccountRights 関数は、指定されたアカウントが保持する権限を列挙します。LsaEnumerateAccountsWithUserRight 関数は、指定された権限を保持するアカウントを列挙します。

特権定数

定数/値 説明
SE_CREATE_SYMBOLIC_LINK_NAME シンボリック リンクを作成するために必要です。
TEXT("SeCreateSymbolicLinkPrivilege") ユーザー権限: シンボリック リンクを作成します。

関連情報