ACLを使用できます。Ubuntu 10.10のACLを設定するには、最初に/ etc / fstabのaclオプションを使用してファイルシステムをマウントします。
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults、acl 0 1
sudo mount -o remount,acl /
次に、この目的のためにユーザーが所属するグループを作成します。
sudo groupadd developers
sudo usermod -a -G developers $username
開発者グループのメンバーになるには、ユーザーはログアウトしてから再度ログインする必要があります。
もちろん、必要なコンテンツが/ var / wwwディレクトリにある場合は、これを行わないでください。開始するための設定を説明するためだけです。
sudo rm -rf /var/www
sudo mkdir -p /var/www/public
sudo chown -R root.developers /var/www/public
sudo chmod 0775 /var/www/public
sudo chmod g+s /var/www/public
sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public
次に、構成ファイルで「/ var / www」への参照を「/ var / www / public」に置き換えて、リロードします。
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
ファイルを作成したユーザー以外のすべてからの削除と名前変更を制限したい場合:
sudo chmod +t /var/www/public
このようにして、Apacheドキュメントルートの外部に存在するフレームワークのディレクトリを作成したい場合や、サーバーが書き込み可能なディレクトリを作成したい場合でも、それは簡単です。
Apache書き込み可能ログディレクトリ:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Apacheで読み取り可能なライブラリディレクトリ:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/lib
sudo chmod 0750 /var/www/lib
chmod g+s
andsetfacl
コマンドの機能(およびそのパラメーター)について説明していただければ興味深いと思います。