Apache
複数のユーザーにて、特定のディレクトリ配下のコンテンツを編集する場合、下記作業にて対応すると良いかもしれません。
# useradd -M webadmin <--- Apacheを実行するためのユーザーを作成。-Mオプションにてホームディレクトリを作成しない。
# vi /etc/passwd
webadmin:x:5XX:5XX::/home/webadmin:/sbin/nologin <--- /sbin/nologinへ変更することで、Linuxユーザーとしてログインできないようにする。
# vi /etc/httpd/conf/httpd.conf
User Apache --> User webadmin
Group Apache --> Group webadmin
# service httpd configtest
# service httpd graceful
# useradd -g webadmin ユーザー01 <--- Apacheの実行ユーザーのグループを主グループにする。
# passwd ユーザー01
# vi /home/ユーザー01/.bash_profile
umask 002 <--- 追記する。
ファイルに対しては『664』、ディレクトリに対しては『775』 で作成されるようになる。
ディレクトリに自動権限の付与 [#hdc4c8ca]
# chmod -R g+rws hoge/
こうすることでhogeディレクトリに対して、デフォルトで設定される権限としてグループにrwsが付与される。
1つのアカウントでいくつかのディレクトリのみにアクセスさせたい場合 [#w272d1ca]
1つのアカウントでいくつかのディレクトリへ対してへのみアクセスさせて、その上の階層にはアクセスさせず、また同階層のディレクトリへアクセスさせたくない場合は、 mountコマンドのbindオプションにて対応可能です。
(例)
FTPにてchrootさせている状態で、
# usermod -d /home/USER01
# mkdir /home/USER01/test
# mount --bind /var/www/html /home/USER01/test
# df -a <-- 確認
fstabへ記述することでサーバー再起動時にも有効にさせる。
# cp /etc/fstab /etc/fstab.`date +%Y%m%d`
# vi /etc/fstab
/var/www/html /home/USER01/test none bind 1 2
# mount -a
# df -a <--確認
解除するときは「umout /home/USER01/test」でOKです。