• ベストアンサー

win32api ゲストに実行されるとファイルにアクセスできない

win32api ゲストに実行されるとファイルにアクセスできない 現在win32apiでアプリケーションを開発しています。 そのアプリケーションを管理者に実行された場合はいいのですが、ゲストに実行されるとprogram file内にあるファイルにアクセスできなくなってしまします。 そのファイルのアクセス権をゆるくもできますが、できればそのファイルを非管理者のユーザーにいじってほしくないのです。 プログラムからはファイルにアクセスしたいけど、非管理者のユーザーからはそのファイルを保護したい、なんてことは無理でしょうか? 回答よろしくお願いします。

noname#131354
noname#131354

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.3

念のために補足しておきますが、クライアント・サーバ型にしてサーバ側がファイルをいじる、という形であればサーバにファイルアクセスの権限があればクライアントプログラムから書き換えられる「ように見せかける」ことはできます。

その他の回答 (2)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

プログラムが勝手に権限昇格して本来そのユーザがアクセスし得ないファイルにアクセスできてしまったら、それは重大な脆弱性であるってのは理解できますか? 理解できれば、「権限を持たせない限り無理」ってのがわかると思いますが。

回答No.1

ファイルのアクセス権限を変更する。

関連するQ&A

  • VC++でwin32APIを作っているのですが・・・

    こんにちは。私はwin32APIを勉強しているc言語初心者です。 私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。 ・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。 ・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。 これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。

  • MFCなのかWin32APIなのか

    みなさんはじめまして。グフです。 これからWindows上でC/C++(VisualStudio.NET2003) にて、Windowsアプリケーション開発の勉強を始め ようとしています。 いろんなサイトや書籍を見ている中で、Windowsアプリ の開発方法としてMFCをつかうやり方と、Win32APIで 開発する方法の2つがあることがわかりました。 これからWindowsの勉強を行うにはどちらの方法で開発 するのが望ましいのでしょうか? ケース by ケースだとは思いますが、何かアドバイス いただければと思いまして、投稿させていただきました。 やはり基礎からおさえるのであれば、Win32APIの方が よろしいのでしょうか? 今後のWinFX環境を考えると、Win32APIでの知識が無駄 になってしまうということはないのでしょうか?

  • APIは極力使わない方が良い?

    アクセス+VBAでシステム構築しています。 VBAで色々記述しているのですが 先輩から「なるべくAPIは使わないでくれる?」と言われました。 とりあえず「わかりました」と答えましたが理由は聞けませんでした。 APIを使う事によって不都合が発生する理由は何でしょう? 開発環境は WIN7、アクセス2007 ADO・DAOを使う シングルユーザー(共有なし) です。 ご回答よろしくお願いします。

  • ゲストアカウントでコントロールパネルにアクセスできないようにするには

    はじめまして。  数人でパソコンを共用することになったのですが、XP Home Editionで管理者以外のユーザーがコントロールパネル(特にプログラムの追加と削除)にアクセスできないようにするには、どのような設定が必要でしょうか?  とりあえずユーザーアカウントの設定で、管理者とゲストのアカウントを設定しました。ところがゲストでログオンした場合でも(プログラムの追加と削除)にアクセスできる上に、プログラムの削除が行えてしまいます。これをできなくする方法はないでしょうか?

  • win2000でのファイル共有&アクセス制限

    LAN内で、win2000マシンに共有フォルダを置いて、他のマシンからも使えるようにしています。 そのマシンを、たまに来るお客さんも使えるようにしたいのですが(Usersグループにゲスト用のユーザー名とパスワードを設定)、そのお客さんが共有ファイルにはアクセスできないようにしたいのです。 この場合、共有ファイルの置き場所やアクセス制限をどうすればいいでしょうか。 特定のユーザー(たとえばAdministrator)のデスクトップに共有フォルダを置くと、フォルダを共有に設定しても他のマシンからはアクセスできませんでした。かといって、Cドライブに置くと、ゲスト用ユーザー名でログインしても(そして共有フォルダのアクセス制限で、ゲスト用ユーザー名を「拒否」にしても)、アクセスできてしまいます。 いい方法はないでしょうか。 よろしくお願いします。

  • htmlのハイパーリンクをwin32apiで

    htmlのハイパーリンクをwin32apiで win32apiのアプリケーションにhtmlのハイパーリンクのようなコントロールを入れたいのですが、コモンコントロールにそういう物がないか探してみても見つかりません。 スタティックコントロールにあれこれ手を加えて自作するくらいしか方法はないのでしょうか? 沢山見るコントロールなだけに、win32apiの方でハイパーリンクコントロールを実現する物が用意されていないのが不思議です。 何か知っている方、回答お願いします。

  • 怪しいファイルの実行方法

    もちろん実行しないのが一番ですが、怪しいファイルをなるべく安全に 実行する方法を教えてください。 壊れてもいい、いつでもリカバリ可能な完全にスタンドアロンのマシンで 実行するというのはなしでお願いします。 最新パターンでのウイルスチェックは引っかからなかったものとします。 FWソフトも入っているものとします。 (プロセスがインターネットアクセス時に警告がでる) とりあえず私は 1 ファイルをダンプしAPI名を検索「GetNext****」などあからさまにファイルの 連続削除のような関数が揃っている場合は危険 (UPXなどで実行形式圧縮されている場合は解凍) 2 ゲスト権限のアカウントを作り「別のユーザーとして実行」で実行 主要なフォルダにはNTFSアクセス権で禁止にしておく 3 タスクマネージャーを立ち上げておき、いつでもプロセスを強制終了できるようにする。 taskkillでユーザー指定で殺してもOKです。 4 excelマクロとかはもちろんVBAコードを見てから必要であればマクロ許可 バッチファイル(.bat)なんかは何やっているかすぐわかるんですけどね。 5 IEは使わない、Operaなどを使う。 (ActiveX防止) 特に1,2は効果的だと思いますが。 ほかにあればお願いします。

  • WindowsXPについてです。ユーザーは管理者とゲストの2つがある状

    WindowsXPについてです。ユーザーは管理者とゲストの2つがある状態です。 ゲストユーザーから一部のフォルダを見られないようにしようと、管理者ユーザーで、  対象フォルダを選択→プロパティ→「このフォルダをプライベートにする」にチェック という操作を行いました。 すると、確かにゲストユーザーからはこのフォルダにアクセスできないようになりました。しかしただひとつだけ、何らかのソフトにおける「ファイルを開く」や「ファイルを保存」の画面からたどっていくと、アクセス制限がかからずに、ふつうに入れてしまうのです。 どう対処すれば、完全にアクセス制限をかけることができますか。

  • JavaMailなどのAPIは実行クライアントにも必要?

    JavaApplicationを作成、Jarファイルを作成して配布を行います。 そのプログラム内でJavaMailやPOIなどのAPI・ライブラリを利用していた場合、 実行環境(≠開発環境)ではそういったAPIは必要なのでしょうか? Windowsの場合、それをダウンロードし、いちいち環境変数に登録しないといけないのでしょうか? Javaにはとても疎いので初歩的な質問かもしれませんが、 ご教示宜しくお願い致します。

    • ベストアンサー
    • Java
  • ACCESSファイルを実行可能ファイルにしたい

    MS-Office2000のDeveloperとPremiumがインストールされています。 ACCESSでデータベースを作成し、これを実行可能ファイル(拡張子がexe)にしたいのですが、 VBA画面の「ファイル」-「実行可能ファイルの作成」が使用不可になっています。 モジュールのコンパイルはうまくいっているようですし、ACCESSを使用しての動作上の問題はありません。 既存のデータベースを実行可能ファイル化することも考えていますので、 Visual Basicなどの開発言語は使用しないと言う前提でお願いします。

専門家に質問してみよう