複数人でアップロードを行う場合のアカウント管理

WEBサーバ等へのアップロードを複数人で行う場合のアカウント管理について、
共通アカウントを使わない方が手間はかかりますが、より好ましい姿です。

例として、WEBサーバ(/var/www)へuserAとuserBのみアップロードできるようにしたい場合

1.Linux標準のファイルシステムext3では、1ファイルに複数ユーザの権限を追加できないため、グループを作成しユーザを追加する方法を用います。

# groupadd www
# usermod -g www userA
# usermod -g www userB

注:ここで-gメイングループを変更したのは、WinSCPなどでアップする場合にサブグループをデフォルト設定とできないためです。ただしscpプロトコルを用いればサブグループにも変更は可能です。


2.wwwグループのユーザがアップロードを行えるようにパーミッションを変更
アップロード先が「/var/www」の場合、既に配置されているファイルのパーミッションを一括して変更する。

# cd /var/www
# chown -R root:www .
# find -type d |xargs chmod 775
# find -type f |xargs chmod 664

これでサーバ側の準備は完了です。
あとはWinSCPなどでアップ時のパーミッション設定を664か775にすればOKです。

参考:
http://begi.net/modules/linux_basic_knowledge2/index.php?id=4
http://www.tab2.jp/~winscp/protocols.html