共有フォルダのアクセス権を設定する方法


ウラタン  2007-11-07 23:04:26  No: 144058

こんにちは、現在、「ASP.NET(VB)から共有フォルダのアクセス権を設定する」という機能の実装で困っています。

1)特定のサーバにフォルダを作成
2)作成されたフォルダのセキュリティ(NTFSアクセス権)を設定
3)作成されたフォルダを共有にする
4)フォルダ共有のアクセス権を設定する

という流れなのですが、1はいいとして、2〜3はWin32APIを使用することにより実装できました。
ところが、4がわからずに頓挫しています。

流れとしては
4−1)共有フォルダのACLを取得
4−2)新規ACE(アクセスさせたいユーザーやグループ)を作成
4−3)ACLにACEを追加
でいいのかと思ったんですが、Win32APIで「共有フォルダのACL」をどうやって取得していいのかがいまひとつ想像がつきません。
APIリファレンスを見てもズバリそれらしいものが見当たらず・・・
もしかしたら「GetSecurityDescriptorDacl」「GetSecurityDescriptorSacl」あたりで取得できるのかと思いきや、引数が「PSECURITY_DESCRIPTOR=セキュリティ記述子」という抽象化?されたものになっていて、ここで手詰まりをしています。
ACEの追加は「AddAccessAllowedAce」でいいかと考えています。

特にWin32APIにこだわっているわけではないので手段はなんでもいいのですが、フロント(呼び出し側)がASP.NETで動いているので、WSHなどではなくAPIで実装を試みています。

手法にヒントなど思い当たる方はいらっしゃいますでしょうか?


YuO  2007-11-09 01:02:21  No: 144059

Win32だとNetShare系APIでできそうな感じがします。
# やったことないので,できなかったらごめんなさい。


ウラタン  2007-11-09 06:08:25  No: 144060

レスありがとうございます。
了解です、調べてみます。
もし、他にも情報などありましたらぜひお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加