Bạn có thể sử dụng ACL. Để thiết lập ACL cho Ubuntu 10.10, trước tiên hãy gắn hệ thống tệp với tùy chọn acl trong / etc / fstab.
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 mặc định, acl 0 1
sudo mount -o remount,acl /
Sau đó tạo một nhóm mà người dùng có thể thuộc về mục đích này.
sudo groupadd developers
sudo usermod -a -G developers $username
Người dùng cần phải đăng xuất và đăng nhập lại để trở thành thành viên của nhóm nhà phát triển.
Tất nhiên, không làm điều này nếu bạn có nội dung trong thư mục / var / www mà bạn muốn, mà chỉ để minh họa cho việc thiết lập nó để bắt đầu:
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
Sau đó thay thế các tham chiếu đến "/ var / www" bằng "/ var / www / public" trong tệp cấu hình và tải lại.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Nếu chúng tôi muốn hạn chế xóa và đổi tên khỏi tất cả trừ người dùng đã tạo tệp:
sudo chmod +t /var/www/public
Theo cách này, nếu chúng ta muốn tạo các thư mục cho các khung tồn tại bên ngoài gốc tài liệu Apache hoặc có thể tạo các thư mục có thể ghi được trên máy chủ, thì vẫn dễ dàng.
Thư mục nhật ký ghi được Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Thư mục thư viện có thể đọc được của Apache:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/lib
sudo chmod 0750 /var/www/lib
chmod g+s
vàsetfacl
các lệnh đã làm (và các tham số của chúng).