Tôi đã cố mở một tệp và ghi vào tệp PHP bằng /var/www
thư mục nhưng nó không hoạt động nên tôi đã làm
sudo chmod 777 /var/www
bây giờ tôi muốn đặt quyền cho /var/www
mặc định.
các quyền mặc định là /var/www
gì?
Tôi đã cố mở một tệp và ghi vào tệp PHP bằng /var/www
thư mục nhưng nó không hoạt động nên tôi đã làm
sudo chmod 777 /var/www
bây giờ tôi muốn đặt quyền cho /var/www
mặc định.
các quyền mặc định là /var/www
gì?
Câu trả lời:
Quyền mặc định cho /var/www
chính nó là một tiêu chuẩn khá: chủ sở hữu root:root
và mod 755
.
Đối với bất cứ điều gì bên trong /var/www
, đó là một trong những thư mục hiếm hoi mà bạn có đặc quyền quyết định cho chính mình những gì cần đặt trong đó và những gì cho phép mọi thứ trong đó nên có. Nhưng điều có ý nghĩa nhất là:
Hầu hết các tệp phải được ghi bởi bất kỳ người dùng hoặc nhóm nào sẽ viết cho họ nhiều nhất. Bạn có thể đặt chúng để được sở hữu bởi tài khoản người dùng của bạn. Hoặc thiết lập một nhóm tùy chỉnh cho các nhà phát triển của bạn. Hoặc nếu các tệp sẽ hiếm khi được sửa đổi và bạn muốn bảo mật tốt, bạn có thể đi cùng root:root
và chỉ sudo trong những dịp hiếm hoi chúng sẽ được sửa đổi.
Hầu hết các tập tin không nên ghi trên thế giới. Vì vậy, 644
cho các tập tin, và 755
cho các thư mục phù hợp (hoặc 664
và 775
nếu bạn muốn để cho một nhóm ghi truy cập).
Người ta không nên đặt bất kỳ của nó được ghi bởi các máy chủ web, tức là www-data
, ngoại trừ tập tin bất kỳ cụ thể kịch bản web của bạn để có thể viết thư cho. Nếu vậy, tốt hơn là đặt người dùng hoặc nhóm các tệp đó thành www-data
hơn là làm cho chúng có thể ghi được trên thế giới. Lưu ý rằng bất cứ lúc nào www-data
người dùng có thể ghi vào bất kỳ tệp nào trong thư mục gốc, cho dù đó là bằng cách đặt người dùng hoặc nhóm trên các tệp đó hoặc làm cho chúng có thể ghi được trên thế giới, đó là một vấn đề bảo mật tiềm ẩn. Thế giới có thể ghi chỉ là tồi tệ hơn của hai.
Đảm bảo nhóm là dữ liệu www trên '/ var / www'.
sudo chgrp www-data /var/www
Làm cho nó có thể ghi
sudo chmod 775 /var/www
đặt id nhóm cho các thư mục con
sudo chmod g+s /var/www
thêm tên người dùng của bạn vào nhóm
sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]
cho mình quyền sở hữu
sudo chown [USERNAME] /var/www/
sudo adduser $USER www-data
sudo chown root:root /var/www
sudo chown -R $USER:www-data /var/www/*
sudo chmod -R 755 /var/www
-R
cờ ở đây. Vì OP không sử dụng -R
cờ, chúng tôi không nên đề xuất nó để sửa các quyền sai mà họ đã tạo. Các -R
lá cờ là hiếm khi hữu ích!