Thiết lập người dùng
Vì vậy, hãy bắt đầu bằng cách thêm người dùng chính vào nhóm người dùng Apache:
sudo usermod -a -G www-data demo
Điều đó sẽ thêm 'bản trình diễn' của người dùng vào nhóm 'dữ liệu www'. Hãy đảm bảo rằng bạn sử dụng cả hai tùy chọn -a và -G với lệnh usermod được hiển thị ở trên.
Bạn sẽ cần đăng xuất và đăng nhập lại để cho phép thay đổi nhóm.
Kiểm tra các nhóm ngay bây giờ:
groups
...
# demo www-data
Vì vậy, bây giờ tôi là thành viên của hai nhóm: Nhóm của riêng tôi (demo) và nhóm Apache (www-data).
Thiết lập thư mục
Bây giờ chúng ta cần đảm bảo rằng thư mục public_html thuộc sở hữu của người dùng chính (demo) và là một phần của nhóm Apache (www-data).
Hãy thiết lập điều đó:
sudo chgrp -R www-data /home/demo/public_html
Khi chúng ta đang nói về quyền, tôi sẽ thêm một lưu ý nhanh về lệnh sudo: Bạn nên sử dụng đường dẫn tuyệt đối (/ home / demo / public_html) như được hiển thị ở trên thay vì đường dẫn tương đối (~ / public_html). Nó đảm bảo sudo đang được sử dụng ở đúng vị trí.
Nếu bạn có một thư mục public_html với các liên kết tượng trưng thì hãy cẩn thận với lệnh đó vì nó sẽ tuân theo các liên kết tượng trưng. Trong những trường hợp thư mục public_html đang hoạt động, hãy thay đổi từng thư mục theo cách thủ công.
Setgid
Tốt cho đến nay, nhưng hãy nhớ lệnh chúng tôi vừa đưa ra chỉ ảnh hưởng đến các thư mục hiện có. Có gì mới không?
Chúng tôi có thể đặt quyền sở hữu để mọi thứ mới cũng nằm trong nhóm 'www-data'.
Lệnh đầu tiên sẽ thay đổi quyền cho thư mục public_html để bao gồm bit "setgid":
sudo chmod 2750 /home/demo/public_html
Điều đó sẽ đảm bảo rằng mọi tệp mới đều được cấp nhóm 'www-data'. Nếu bạn có các thư mục con, bạn sẽ muốn chạy lệnh đó cho từng thư mục con (loại quyền này không hoạt động với '-R'). May mắn thay, các thư mục con mới sẽ được tạo tự động với bit 'setgid'.
Nếu chúng ta cần cho phép quyền ghi vào Apache, vào thư mục tải lên chẳng hạn, thì hãy đặt quyền cho thư mục đó như sau:
sudo chmod 2770 /home/demo/public_html/domain1.com/public/uploads
Các quyền chỉ cần được đặt một lần vì các tệp mới sẽ tự động được chỉ định quyền sở hữu chính xác.