#author("2017-09-07T07:24:05+09:00;2017-09-07T07:22:12+09:00","","")
#author("2017-09-08T05:22:41+09:00;2017-09-08T05:21:58+09:00","","")
* 生成ファイルのパーミッションを制御したい [#a3a2a2fd]

- ページ: BugTrack
- 投稿者: [[umorigu]]
- 優先順位: 低
- 状態: 提案
- 状態: 完了
- カテゴリー: 本体新機能
- 投稿日: 2017-09-07 (木) 07:22:12
- バージョン: 1.5.1

** メッセージ [#o92f23b1]
UNIX環境でPukiWikiが生成するファイルはパーミッション644に設定される。

OSレベルでWebサーバーの動作ユーザーとPukiWiki管理者ユーザーが異なる場合、PukiWikiが生成したファイルを管理者が編集できなくなる。

Webサーバーの動作ユーザーと管理者のグループが同一の場合、PukiWiki管理下のファイルをパーミッション664で生成すれば管理者がファイルを編集できる。

*** 調査・対策 [#he29ec3a]

デフォルトパーミッションが644になるのはumaskが022のため。 umask(002); を実行すれば生成ファイルのパーミッションを664にできる。 [[php.net:manual/ja/function.umask.php]]

- umask(002) -> ファイルパーミッション: 664
- umask(022) -> ファイルパーミッション: 664
- umask(006) -> ファイルパーミッション: 660


*** カスタマイズ方法 [#f46f395d]

pukiwiki.ini.php または lib/init.php で希望のパーミッションになるようにumask()を実行する。

 umask(002); # -> 664


--------
- 調査の結果umaskの設定でうまく動作することがわかりました。Resolveします。pkwk_touch(lib/file.php) で chmod(664); する実装も試しましたが、カバー範囲が狭く、希望通りの動作になりませんでした。(pkwk_touchでのchmodが有効になるファイルはごく一部だった) -- [[umorigu]] &new{2017-09-08 (金) 05:21:57};

#comment



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.065 sec.

OSDN