質問: open('/var/www/cgi-bin/test.txt','a') f.write('pepepepe') f.close() ``` ### 試したこと wwwディレクトリ以下のファイルとディレクトリのパーミッションを全て777にしてみました。 ### 補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報
回答: コメントで解決したので、コメントの内容を回答として記載します。 > > @Y.H> 挙動的にはselinuxが有効になってそうなんですが。 > > @Y.H> /etc/selinux/config で SELINUX=disabled と設定しシステムを再起動後、getenforce コマンドがDisabled を返すことを確認しましたか? > > > @uprose.noguchi> ありがとうございます。システムを再起動して無事ファイル出力することができました。 > > > やはりselinuxの設定でしたか。 あと、tomohiro_obara さんの回答にもある通り、 /var/www/cgi-bin はファイルを書込みする場所ではないのでプログラムからのみ読み書きするファイルの置き場所は別のディレクトリにしましょう。 apacheの実行ユーザー:グループがapache:apacheだとした場合 ``` sudo mkdir /var/www/data sudo chmod 755 /var/www/data sudo chown apahce:apache /var/www/data ``` と apacheユーザーでのみ書き込み可能なディレクトリを作成し、このディレクトリに書き込みましょう。 /var/www/html , /var/www/cgi-bin は 644,755に戻しておきましょう。