質問: virtualbxでサーバの勉強も兼ねてpythonのwebアプリについて勉強を始めたので 入門本を写経して簡易チャットアプリを作成しました。 これは、入力した内容をファイルに書き込み保存しておき、そのファイルを読み込みログを表示していくといった物なのですが、書き込みの作業中にエラーが表示されました。 Permission Errorということで書き込める権限がないということなのですが、、、 この書き込みの権限というのは誰の権限ということなのでしょうか? 一時的な対処として ``` chmod 777 chat-log.txt ``` とすることでエラーは回避したのですが、 これでは全ユーザーに全権限を与えるとなり危なそうです。(根本的な解決になっていない気もします) 下に現在の環境を示しておきます --- サーバマシン:Virtual box OS : CentOS6.8(64bit) ルートディレクトリ : ~/server/ 構成: ~/server/cgi-bin/にchat.pyとchat-log.txtがあります ルートディレクトリをホストとの共有フォルダにしています。 サーバーはpythonのhttp.serverを使用しています (apacheを使用したかったのですが、ネット上の方法をいくつか試しても、Internal Server Error apacheと出てできなかったため妥協しました) なぜか~/server以下はルート権限でないと書き込みができなくなっています(マウントの仕方に問題がある可能性があるのですが。。。) ``` mount -w -t vboxsf <ホストのフォルダ> /home/ユーザー/server/ ``` --- ホストマシン:一般的なノートPC OS : archlinux(64bit) ホストのPycharmのプロジェクトのフォルダと共有して直接編集しています
回答: > > この書き込みの権限というのは誰の権限ということなのでしょうか? > > > これは、pythonの実行ユーザではないでしょうか。 ps -ef|grep python で一番左に出てくるユーザ名の権限になると思います。 chown {ユーザ名} chat-log.txt を実行すると、解決しないでしょうか。