私は現在、電子メールをデータベースに格納するための簡単なWebページを作成しようとしています。私は私のものではない(ただしApacheを実行する)サーバー上にあるので、私はrootアクセス権がないので、SQLite3を使用することにしました。目的はPHPをデータベースに挿入することですが、私が所有しているデータベースと、 "読み取り専用"エラーを引き起こすユーザー "apache"を使用してアクセスしようとしているPHPの問題で引き続き問題が発生します。私はrootではないので、データベースファイルをchownすることはできず、chmod 777を実行しても、何の効果もありません。結論は私が来たのは、PHPスクリプトが(ユーザーのApacheの下で)データベース自体を作成することでしたが、今はファイルへの書き込みアクセス権がありません。私は、Apacheをデータベースの所有者として許可してもいいですか、これを行うにはもっと良い方法がありますか?ユーザ "apache"が自分のSQLiteデータベースを所有していますか?
0
A
答えて
1
SQLiteはライブラリです。つまり、Webサーバープロセス内で実行される単なるコードです。つまり、データベースファイルへのアクセスは、Apacheからの他のファイルアクセスと同様に動作します。
Webサーバープロセスは、ファイル自体にアクセスし、同じディレクトリにジャーナルロールバックファイルを作成できる必要があります。
chmod 777
は、そのマシンのすべてのユーザーがデータベースに何かできるので悪いです。データベースファイルとディレクトリをあなたとapache
をメンバーとするグループに所属させることをお勧めします。
サーバーの管理者がそのようなグループを作成しない場合は、所有者としてapache
を持ち、十分に保護されたバックドアをWebアプリケーションに追加して、データベースに新しいファイルを上書きすることができます。
+0
確かに、それは理にかなっています。私はあなたが言及したように、所有者としてのApacheを維持し、バックドアを作成します。私は管理者と話し、彼らも同様に動作するかもしれないいくつかのアクセス許可の提案をしました。 –
関連する問題
- 1. Apacheで自分のノードサーバーをホストしていますか?
- 2. iPhone:別のアプリが自分のsqliteデータベースを上書きできますか?
- 3. 自分のデータベースの場所データ - mysql
- 4. 独自のSQLiteデータベースを使用してAsyncQueryHandlerを実装していますか?
- 5. 自分が所属しているが所有していない閉鎖されたグループにFacebookのフィードを送ることはできますか?
- 6. 分散キャッシュ:所有者損失のエントリをクリアする(Apache Ignite)
- 7. 自分のsqliteデータベースを使用したときの問題
- 8. 自分自身で作成したsqliteデータベースをアンドロイドにコピーできない
- 9. sqliteデータベースに余分なデータが挿入されています
- 10. HTML5 SQLiteデータベースの場所
- 11. は自分のsqliteデータベースに接続できません
- 12. hibernateが自分のデータベースと同期していません
- 13. PHPで公開されているファイル(Apacheが所有していない)
- 14. 私は自分が所有していない2つのgitブランチをマージする
- 15. 誰がシーケンス図のメソッドを所有していますか?
- 16. PHPのMKDIR()と私はPHPを経由して自分のサーバーにファイルをアップロードしようとしているApacheの所有権の問題
- 17. PostgreSQLデータベースに対するApacheユーザ権限
- 18. 私は自分のデータベースとクエリに苦労しています
- 19. 誰がNSWindowControllerを所有していますか?
- 20. ユーザがndb.expandoのときに所有権を示す方法
- 21. SQL Server 2008 R2データベースの相互所有権のチェーンが機能していませんか?
- 22. アンドロイドアプリケーションのsqliteデータベースの場所は?
- 23. OSXでのSqliteデータベースの場所
- 24. Flash Builder 4.6のsqliteデータベースの場所
- 25. デバイス上のsqliteデータベースの場所
- 26. テレグラムで自分が所有するチャンネルを見つけるにはどうすればいいですか?
- 27. ユーザがインストールしたelispのEmacs自動ロードファイルを維持していますか?
- 28. ユーザ入力をTkinterウィジェットからSQLiteデータベースに転送する
- 29. どのクラスがアンマネージリソースを所有していますか(そしてIDisposableを実装していますか?)
- 30. Getterがインスタンス変数の所有者であると言うのは有効でしょうか?または誰がそれを所有していますか?
ポーズをとる前に、あなたの質問をよりよく研究する必要があります。投稿することを決定したら、可能な限り多くの詳細を含めるようにしてください。結局のところ、あなたは答えられている質問に興味がある人です。 1.どのようなサーバーを使用していますか? 2.誰がサーバーを制御していますか? 3.なぜMySQL、MariaSQL、または他の実装の代わりにSQLiteを使うことにしたのですか? –
私は既にかなりの研究を行っています: 1. Red Hat Linux。 2.サーバー管理者は、私が出席する大学の教授です。 3. SQLiteは、ルートのないMySQLサーバーをホストできないためです。 –