
WebサーバーのPHPスクリプトをファイルサーバーの/ dataフォルダーに作成しようとしています。
Apache 2.2、PHP 5.x。これは単なるテスト構成ですが、Webサーバーの権限に関する経験があまりないので、これについて何とか学びたいと思います。
追加してファイルサーバーのフォルダ/データを共有しました。
/data 192.168.20.6(rw,sync,no_subtree_check)
フォルダをマウントして
sudo mount 192.168.20.5:/data /mnt/data
Webルートへのリンクを作成します(これは何ですか?)
sudo ln -s /mnt/data /webroot/site1/share
それから私はこれを得ます:
Warning: fopen(/webroot/site1/share/data/uploads/Fotoraum/Original/Bluehend/test.txt): failed to open stream: Permission denied
スクリプトが/ dataとそのサブフォルダに書き込むことを許可するには、どこでどのように権限を調整する必要がありますか?
ありがとうございます!
答え1
あなたのコメントによると、次のオプションがより良いと思います。chmod -R 775 /mnt/data
を使用すると、mount
ファイルを所有するユーザーとグループを指定できます。おそらく、次のようなものを使用したいと思うかもしれません。
sudo mount 192.168.20.5:/data /mnt/data -o uid=<uid-of-www-data>,gid=<gid-of-www-data>
uid
とgid
の値は で見つけることがwww-data
できます。/etc/passwd
/etc/group
答え2
nfsサーバー上の共有フォルダに対してchmod 6777を実行して、作成されたすべてのファイルをフォルダの所有者グループに属させることができます。