• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2002のセキュリティ(権限設定)につきまして、質問させて)

Access2002のセキュリティ(権限設定)について質問

このQ&Aのポイント
  • Access2002のセキュリティ(権限設定)についての質問です。ユーザがショートカットを用いずに直接mdbファイルを起動すると、権限がデフォルトの権限で起動してしまい、Admin権限で開いてしまいます。ログイン画面も出ず、設定した権限も無効です。解決方法を教えてください。
  • Access2002のセキュリティ(権限設定)についての問題です。サーバ上ではワークグループに参加しているのですが、リモートで起動すると自分のパソコン上のワークグループファイルを参照しています。困っています。どのように解決すればよいでしょうか?
  • Access2002のセキュリティ(権限設定)に関する質問です。DBごとにワークグループを分けて管理する方法は解決しましたが、新たに問題が発生しました。ショートカットを用いずに直接mdbファイルを起動すると、デフォルトの権限で起動してしまい、設定した権限が無効です。困っています。どうすれば解決できるでしょうか?

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.3

No.2です。 > 「元のMDWファイル」が何を指すのかがわかりません。 ご推測の通り、デフォルトのSystem.mdwのことです。 ですので、 > もう一歩ですので、ご教授願えませんでしょうか? とのことでしたが、解決は遠いかもしれません(汗) というのは、権限の割り当て方次第ではありますが、仮に セキュリティウィザードを『次へ』ボタンだけで進めて最後に 『完了』ボタンをクリック、という形で権限設定をした(=一般 ユーザーに一切の権限を与えない)場合、System.mdwが 指定された状態で当該MDBファイルを起動しようとすると 「オブジェクト '(File Path)' を使用する権限がありません」 とのメッセージが表示されて、開けないはずだからです。 (もちろん、既定の「Admin」アカウントなどに「データベース  を開く」の権限を与えている場合は、上記メッセージは  出ず、アカウントの要求もなしで開くことができます) ※アカウントの要求は、MDBへの権限設定の内容に関係  なく、新規作成したMDWを使用した場合に表示されます。  (権限未設定のMDBでも、wrkgrpコマンドラインを使用した   ショートカット経由で開くと、アカウントが要求される) ですので、System.mdwを指定した状態で開けるということは、  a)データベースやテーブル・フォームなどに、権限が設定   されていない  b)一般ユーザー(System.mdwの既定の管理者アカウント   である「Admin」を含む)に、権限を与えてしまっている のどちらかの可能性があります。 で、前回の手順に沿って操作を実行されたのだとすると、 「a」の可能性はないはずなので、残るのは「b」ということに なります。 ですので、ちょっと手間は掛かりますが、まずは新規MDBを 作成して、これに対してセキュリティウィザードを実行する ことで新規MDWファイルを作成し(→ウィザードの途中にある 権限の割当では、ユーザーに一切権限を与えない)、この MDWファイルを元に、前回の回答の手順を再度実行して もらうのが、結果的には最も早く解決につながるかと思います。 (なお、上記で作成した新規MDBは、新規MDWファイルの  作成のためだけのものなので、作業が終わったら削除でOK) 上記の手順を踏んで、「新規の管理者(ウィザードの初期設定 のままなら、ウィザードを実行したコンピューターの名前が アカウント名になっているはず)のみが全権限を持ち、その他 のユーザーは開くこともできないMDBファイル」を作成して、  1)MDBを直接開こうとしても、全PCで開けないこと  2)「/wrkgrp」コマンドラインを使用したショートカットを経由し、   新規の管理者アカウントの情報でログインすれば開けること を確認してみてください。 それが正しく動作をすることを確認したら、改めてウィザードを 適用するか(→System.mdw以外を使用している場合、ウィザード の最初の段階で、「現在のワークグループ情報ファイルを変更 する」が選択可能)、メニューから「ツール(T)→セキュリティ(T) →ユーザー/グループの権限(P)」を選択して、中間的な権限 (データベースやフォームは開けるが、デザインの変更などは できない、等)を持つユーザーやグループを追加する、という ように段階を踏みましょう。 ・・・以上、長文失礼致しました(汗)

camo-tech
質問者

お礼

ありがとうございました。

camo-tech
質問者

補足

詳しく教えていただき、ありがとうございます。 早速チャレンジいたします。 結果はここでご報告いたします。 しかし権限って難しい。。。

その他の回答 (2)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

【要旨】 権限を設定済みのMDWファイルを使用した状態で新規MDBファイルを 作成し、既存のMDBファイルから全オブジェクト(=テーブル・フォーム等)を インポートし、このMDBファイルで現在のMDBファイルを差し替えます。 【詳細】 MDWファイルの存在は、セキュリティ設定を行うようになって初めて意識する ようになりますが、実際にはその設定を行う前から、Accessの既定のMDW ファイルであるSystem.mdwを使用して、権限の設定が行われています。 (→既定のユーザーアカウントである「Admin」(または「管理者」)に対する、  「全ての権限を許可する」という設定) そのためか、セキュリティウィザードを使用して権限を設定した後も、別のPCで そのMDBを開くと、既定のアカウントである「Admin」が使用されることにより、 管理者権限を持った状態で開けてしまうようです。 (ウィザードを実行したPCではSystem.mdwを使用しても権限設定が有効に  なることからすると、単純に「Admin」アカウントの権限引き継ぎだけでも  なさそうですが(汗)) これを回避するためには、権限設定を有効にした状態で新規MDBを作成し、 全オブジェクトをそちらにインポートすることで、各オブジェクトの権限設定を 上書きしてやる必要があります。 具体的な手順は以下の通り(Access2003ですが、2002ならほぼ同様のはず): 1)Windowsのスタートメニューなどから、Accessを起動 2)メニューで「ツール(T)→セキュリティ(T)→ワークグループ管理(G)」を選択し、  『ワークグループ管理者』ダイアログを開く 3)『参加(J)』ボタンをクリックし、『ワークグループ情報ファイル』ダイアログを開く 4)『参照(B)』ボタンをクリックしてファイル選択ダイアログを開き、権限設定済み  のMDWを指定したら、『開く』ボタンをクリック 5)OKボタンをクリックして『ワークグループ情報ファイル』ダイアログを閉じる  (MsgBox「ワークグループ情報ファイル 'c:\~~' で定義されて~」もOkで閉) 6)Okボタンをクリックして『ワークグループ管理者』ダイアログを閉じる 7)メニューで「ファイル(F)→新規作成(N)」を選択するなどして、空の新規データ  ベースを作成 8)『新しいデータベース』ダイアログで新規データベース名を入力して『作成(C)』  ボタンをクリック 9)『ログオン』ダイアログが表示されるので、管理者権限をもつユーザーでログオン 10)新規データベースのデータベースウィンドウが開いたら、そこを右クリックし、  表示されたメニューから「インポート(I)」を選択 11)『インポート』ダイアログで元のMDBファイルを指定し、『インポート(M)』ボタンを  クリック 12)『オブジェクトのインポート』ダイアログが開くので、それぞれのタブを順次選択し  『すべて選択(A)』ボタンをクリックしていき、全オブジェクトを選択状態にする  ※隠しオブジェクトやシステムオブジェクトを作成している場合は、予めそれらが    表示されるようにしておく必要あり 13)OKボタンをクリックし、インポートを実行 14)必要に応じて『起動時の設定』などを現在のMDBと同様に設定したらMDB  ファイルを閉じ、現在のMDBファイルをこのMDBファイルと差し替える 15)「2~6」と同様の操作を行って、既定のワークグループファイルを元のMDW  ファイルに戻しておく(ショートカットのwrkgrpオプションを使用する場合) ・・・以上です。 【参考まで】 以前の回答: http://okwave.jp/qa/q5512019.html 上記の回答3でも引いたサイト: http://support.microsoft.com/kb/305542/ja 英語が苦手でないならこちらも(私は苦手(汗)): http://support.microsoft.com/support/access/content/secfaq.asp?SD=gn&LN=ja&gssnb=1

camo-tech
質問者

お礼

回答、ありがとうございました。 早速やってみたのですが、 14で差し替え(元MDBファイル名を変更、新規作成MDBの名称を元のMDBと同じにする)まではすんなりいけました。 が、 >15)「2~6」と同様の操作を行って、既定のワークグループファイルを元のMDW > ファイルに戻しておく(ショートカットのwrkgrpオプションを使用する場合) この方法がわかりません。 と申しますか、「元のMDWファイル」が何を指すのかがわかりません。 今の状態は、元のMDBも新しく作成したMDBも、同じMDWに参加しています。 で、他の端末からリモートで直接起動すると、やはり権限のない(ログイン画面の出ない)状態で立ち上がり、MDWで閲覧不可にしているフォームなども見えてしまいます。 Accessデフォルトの、 \Application Data\Microsoft\Access配下にある、System.mdw のことを指すのかとも思い、それに変更しましたが、こうすると、全くセキュリティ(権限)のない状態で起動します。 もう一歩ですので、ご教授願えませんでしょうか?

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

ワークグループ は使用したことがないので参考までに。 自分なら、こうやってみるという程度のものです。  ショートカットで /cmd オプションで 適当な文字列を渡す。  mdb の AutoExce マクロ から 判定用のプロシージャを呼び出し  Command 関数 で 得た 値と ショートカットに 指定した(はずの)値を比較する。  一致しなければ、 Access を終了する。 こんなところかな? Startup コマンド ライン オプション http://office.microsoft.com/ja-jp/access/HP051883001041.aspx

camo-tech
質問者

お礼

ご回答、ありがとうございます。 このやり方ですと、配布したショートカットの内容を、「ファイル名を指定して実行」でコマンドラインをたたけば、すんなり起動してしまいませんか? (そこまでする(できる)社員はほぼいませんけど・・・^^;)

関連するQ&A

専門家に質問してみよう