SQLを実行するための勉強方法について、前後編に分けて書きました。今回は後編になります。
【SQLを実行するための勉強方法】(環境構築2/2)
1. 【概要】
XAMPPをインストールをして、起動画面(XAMPP Control Panel )が開けたところまで実施しました。
起動画面は、XAMPP Control Panel v3.3.0となっているとおもいます。
(v3.3.0)はインストール時に変わっているかもしれません)
「補足」ここから記事を読んだ方にインストール方法については、SQLを実行する勉強方法 1回目(環境構築)をご確認ください。
また、本手順書はWindwos11にて実施したものになります。Windows10とほとんど同じになりますが、画面のハードコピーが少し違う場合があります。
2. 【エラーになった場合の対処方法】
以下の1,2の画面がポップアップで出力されます。
(私が実施してる時は、必ず2つ同時に出ていました)
1.以下の画面が出力されますので、「OK」をクリックしてください。
(固まりますので、OKや×をクリックすると閉じます)
(簡単に内容記載:C:\xampp\xampp-control.iniのアクセス権が拒否されました)
2.以下の画面が出力されますので、「OK」をクリックしてください。
(固まりますので、OKや×をクリックすると閉じます)
(簡単に内容記載:「xampp-control.exe」のアクセス権が違反)
※1、2画面とも、アクセス権がなくエラーになっています。
原因としては、XAMPP(C:\xampp\xampp-control.ini)は管理者権限で実行ではなくユーザ権限で実行されているからです。
(管理者で実行する手順もありますがここでは実施しません)
対処方法として、私が実施して動作確認までできたものを記載します。
※1、2のポップアップ画面になった場合は、OKと×ボタンを押せば時間はかかりますが閉じます。
3.1、2を閉じたら、以下のフォルダにアクセスします。
エクスプローラーを開き、「C:\xampp」に移動し「xampp-control.ini」を探します。
4.「xampp-control.ini」を右クリックし、プロパティを選択します。
5.「xampp-control.ini」のプロパティを開いたら、「セキュリティ」タブをクリックします。
6.「Everyone」をクリックします。
7.「編集」をクリックします。
8.「xampp-control.ini」のアクセス許可を開きます。
9.「アクセス許可:Everyone」の「書き込み」にチェックをいれます。
10.「適用」をクリックします。
11.「OK」をクリックします。
設定は以上になります。
権限付与ができない方は「権限付与について」をご確認ください。
3. 【エラーのポップアップ画面が出力されないかテスト】
Windows10は「スタート」-「XAMPP」-「XAMPP Control Panel」をクリックし、起動します。
Windwos11は「スタート」-「すべてのアプリ」-「XAMPP」-「XAMPP Control Panel」をクリックし、起動します。
(2)「XAMPP Control Panel」が開くことを確認します。
(3)「Quit」をクリックします。
(4)エラーのポップアップ画面が出力されないことが確認できたら完了になります。
また、エラーのポップアップ画面が出力が出力された場合は、「読み取りと実行」を追加し、再度テストを実施してください。
設定は以上となります。
エラーの原因は以下の通りになります。
補足ですので読み飛ばして問題ありません。
補足:エラーの原因はEveryoneが読み取り専用になっていて、他のアクセス権がないことが原因になります。
対処としては2つ管理者権限で「xampp-control.ini」を実行するように設定するか、Everyoneに読み取り以外の権限をつけてあげれば対処できます。
注意としてホームページに対処方法の記載がありましたが、セキュリティ面を強化するためにこの仕様になっているとのことでしたので、フルコントロールを付与はおすすめしておりませんでした。
XAMPP Installers and Downloads for Apache Friends
4. 権限付与について
(4)の手順を実施できない方は以下の手順を実施してみてください。
①エクスプローラーを開き、「C:\xampp」に移動し「xampp-control.ini」を探します。
②「xampp-control.ini」を右クリックし、プロパティを選択します。
③「xampp-control.ini」のプロパティを開いたら、「詳細」タブをクリックします。
④「xampp-control.ini」の「セキュリティの詳細設定」より「Everyone」をクリックします。
⑤「アクセス許可の変更」をクリックします。
⑥「xampp-control.ini」の「セキュリティの詳細設定」より「Everyone」をクリックします。
⑦「xampp-control.ini」の「セキュリティの詳細設定」より「編集」をクリックします。
⑧「xampp-control.ini」の「アクセス許可エントリ」画面になります。
⑨「書き込み」にチェックを入れます。
⑩「OK」をクリックします。
⑪「Everyone」のアクセスが「特殊」になっていることを確認し、適用をクリックします。
⑫「OK」をクリックします。
設定は以上になります。
【エラーのポップアップ画面が出力されないかテスト】に戻り、エラーが出力されないか確認します。
5. 最後に
なぜこの権限エラーをバグ修正しないかについては、以下のサイトに記載があります。
JVNDB-2020-003914 - JVN iPedia - 脆弱性対策情報データベース
その前にJVN iPediaとはJVNに掲載される脆弱性対策情報のほか、国内外問わず日々公開される脆弱性対策情報のデータベース。
簡単にいうと不具合や脆弱性の管理をし、公開している日本版。
上記HPの下のほうに共通脆弱性識別子(CVE)があります。
CVE番号とはCommon Vulnerabilities and Exposuresで、簡単にいうと脆弱性を識別するための共通脆弱性識別子。
ここでCVE番号を公開してる。(海外版)
ホーム |ティッカー (cve.org)
ちょっと知識に:Microsoftとかもセキュリティの脆弱性にはCVE番号があります。
話は戻りますが、サイトを読むと今回のアクセス権限エラーは「XAMPP」 における権限管理に関する脆弱性が存在することがわかったので、対策をとりますって話になります。
影響としては、攻撃者は「xampp-contol.ini」を変更して、悪意のある.exeまたは.batファイルにvaueを設定し、別のユーザーがコントロールパネルからファイルを開こうとした後に実行される可能性があります。
この問題は、Linux または OS X プラットフォームには影響しません。
対策として、新しいバージョンが出ていますので、適用しましょうとなります。
セキュリティ強化を適用すると今回のアクセス権限エラーが発生します。
今回インストールしたファイルは最新の対策がとられているバージョンになりますので、アクセス権限エラーになります。
全部読み終えてまとめると、他の人が実行しているのがわかったので、実行してほしくないのでセキュリティ強化してみたら、自分でも書き込み、実行ができなくてエラーになりました。
処置方法はないので、手順を実施しないとWindowsを使ってる方はずっとエラーになります。
でもフルコントールつけると意味ないから注意してくださいね。アクセス権限は最低限でお願いします。って内容になります。
他の対策はないものか調べてみましたが、今はこれが最善の対策のようで脆弱性のほうが怖いので、対策を実施してくださいってなっておりました。
もう少し内容を読んでみたい方は、以下のQAからご確認ください。
英語とドイツ語で管理者が回答している感じになります。
Apache Friends Support Forum • Index page
XAMPP IN ENGLISH (LANGUAGE ENGLISH ONLY)のXAMPP for Windowsにて確認がいいと思います。
以上がXAMPPの「Quit」時のエラー対策に必要な手順になります。