Bạn cần tuân theo nguyên tắc đặc quyền tối thiểu . Máy chủ (có thể www-data
, nhưng bạn sẽ cần kiểm tra) cần có khả năng đọc hầu hết các tệp (giả sử tất cả) và chỉ ghi vào nhật ký. Các nhà phát triển web được phép viết ở nơi họ cần. Đặt bit dính trên các thư mục để chỉ chủ sở hữu của tệp có thể xóa nó.
Trong thực tế, bạn cần tạo một nhóm (ví dụ webdev
) và thêm tất cả các nhà phát triển và máy chủ vào đó ( usermod -aG webdev <user>
hoặc usermod -A webdev <user>
tùy thuộc vào hương vị Linux của bạn). chown
tất cả các tệp và thư mục cho người dùng máy chủ web, chmod tất cả các thư mục thành 500 và tất cả các tệp thành 400 (ngoại trừ trong bin
đó các tệp thực thi cũng phải là 500).
Cấp quyền ghi cho /opt/tomcat
nhóm (đó sẽ là 570) và đặt bit dính để họ chỉ có thể xóa các tệp mà họ sở hữu (chmod 1570). Cấp quyền cho máy chủ ghi nhật ký và đọc quyền cho nhà phát triển (0740 cho thư mục, 0640 cho các tệp, bit dính có lẽ là không cần thiết và không bao giờ cấp cho tệp, chỉ các thư mục, vì nó có ý nghĩa khác nhau (thực thi với sự cho phép của chủ sở hữu khi tập tin được thực thi)).
Sau đó, bạn sẽ cần cấp quyền ghi (1570) cho webdev
một số thư mục. Bạn sẽ cần một số thử nghiệm và lỗi ở đây, và nó có thể phụ thuộc vào ứng dụng. Các thư mục đó phải là 1570, trong khi một số khác có thể là 0500).
Các nhà phát triển sẽ cần cấp quyền truy cập đọc trên các tệp của họ cho nhóm để máy chủ có thể đọc chúng (đó là 640) và cũng thực thi trên các thư mục (đó là 750).