Web開発では複数ユーザーでディレクトリを共有管理したいケースが良くある、そういった場合の設定方法。
/var/www/html を foo, bar, apacheの3ユーザーで管理するとする、設定環境はCentOS5。
設定方法
管理用グループ(webadmin)を作成
# /usr/sbin/groupadd webadmin
管理用グループ(webadmin)に3ユーザー追加。追加時に他のグループにも所属させる場合は同時に指定する事。特にwheelユーザーからしかrootになれない状態で間違ってwheelから外してしまうと悲惨な事に。
# /usr/sbin/usermod -G webadmin foo # /usr/sbin/usermod -G webadmin bar # /usr/sbin/usermod -G webadmin,apache apache
対象ディレクトリをwebadminが操作できるようにグループを指定し書き込み権限を与える。
# chgrp webadmin /var/www/html # chmod g+w /var/www/html
このままだとファイルを生成した際に所有権がそれぞれのユーザーになってしまうので、グループ権限でファイルを作成するようにする。
# chmod g+s /var/www/html
以上でグループで管理出来る環境になる。
複数設定する場合はfindでディレクトリだけ検索した結果に対して変更すると楽。
find . -type d -print | xargs chmod g+w
