Người dùng dữ liệu www là gì?


Câu trả lời:


36

Để bảo mật.

Các tập tin không thể ghi được trên thế giới. Chúng được giới hạn cho chủ sở hữu của các tập tin để viết.

Máy chủ web phải được chạy dưới một người dùng cụ thể. Người dùng đó phải tồn tại.

Nếu nó được chạy dưới quyền root, thì tất cả các tệp sẽ phải được truy cập bằng root và người dùng sẽ cần phải root để truy cập các tệp. Với root là chủ sở hữu, một máy chủ web bị xâm nhập sẽ có quyền truy cập vào toàn bộ hệ thống của bạn. Bằng cách chỉ định một ID cụ thể, một máy chủ web bị xâm nhập sẽ chỉ có quyền truy cập đầy đủ vào các tệp của nó chứ không phải toàn bộ máy chủ.

Nếu bạn quyết định chạy nó dưới một ID người dùng khác, thì người dùng đó sẽ cần phải là chủ sở hữu hiệu quả của các tệp để có các đặc quyền phù hợp. Có thể khó hiểu khi có quyền sở hữu cá nhân đối với các tệp trên toàn hệ thống vào tài khoản cá nhân của bạn.

Tạo một người dùng cụ thể sẽ giúp nhận dạng các tệp dễ dàng hơn và nhất quán để nhận ra ID nào chowncho các tệp và thư mục mới được thêm vào trang web.

Các Userid hoặc Tên của chủ sở hữu không quan trọng. Bất cứ điều gì được chọn hoặc quyết định sẽ phải được cấu hình trong các tệp cấu hình máy chủ web.

Theo mặc định, cấu hình của chủ sở hữu nằm www-datatrong cấu hình Ubuntu của Apache2. Vì đó là cấu hình mặc định, bạn thuận tiện biết quyền sở hữu cần thiết cho các tệp web của mình. Nếu bạn thay đổi nó, bạn sẽ phải thay đổi các tệp trong trang web của mình để phù hợp.

Tôi không chạy Nginx , nhưng vì nó nằm trong kho Ubuntu, tôi chắc chắn rằng nó đã được kiểm tra với www-datacấu hình như mặc định.


2
Thật tuyệt, cảm ơn vì đã cố gắng giải thích bức tranh toàn cầu.
dùng61629

1
btw, 'id cụ thể' là gì?
dùng61629

1
Đó là www-data. Đó là lý do tại sao như trong câu hỏi của bạn, họ yêu cầu bạn tạo userID và groupID nếu nó không tồn tại. Cài đặt Apache2 tự động tạo người dùng. Tôi không chắc chắn về Nqinx . Bạn có thể kiểm tra xem nó có tồn tại với : iid -u www-data&&id -g www-data. Nếu nó tồn tại, nó sẽ hiển thị cho bạn số id của người dùng và nhóm. Theo mặc định trên Ubuntu, số người dùng và nhóm là 33.
LD James

Đặt www-datalàm chủ sở hữu cũng có thể là một rủi ro bảo mật như được đề cập trong base-passwdtài liệu (xem câu trả lời của @ muru), vì chủ sở hữu thường có quyền truy cập đọc / ghi vào tất cả nội dung phục vụ web. Bạn có thể xóa quyền truy cập ghi vào www-datachủ sở hữu hoặc sử dụng chủ sở hữu khác. www-datachắc chắn cần truy cập đọc vào tất cả dữ liệu sẽ được phục vụ, nhưng nếu bạn chỉ cung cấp các quyền cần thiết cho từng tệp và thư mục, và không nhiều hơn, bạn sẽ an toàn hơn.
Yuval

18

www-datalà người dùng mà các máy chủ web trên Ubuntu (ví dụ: Apache, nginx) sử dụng theo mặc định cho hoạt động bình thường. Quá trình máy chủ web có thể truy cập bất kỳ tập tin www-datacó thể truy cập. Nó không có tầm quan trọng khác.

Từ base-passwdtài liệu ( /usr/share/doc/base-passwd/users-and-groups.txt.gz):

Một số máy chủ web chạy dưới dạng dữ liệu www. Nội dung web không nên thuộc sở hữu của người dùng này hoặc máy chủ web bị xâm nhập sẽ có thể viết lại một trang web. Dữ liệu được viết bởi các máy chủ web sẽ được sở hữu bởi dữ liệu www.


3
ngoại trừ cuộc thảo luận về lý do tại sao bạn không nên cấp quyền truy cập dữ liệu www trên các tệp webroot;)
kitingChris

1
Để làm cho điều này cụ thể hơn đối với tôi, tôi có thể hỏi máy chủ web cần truy cập những dịch vụ nào khi phục vụ một trang không?
dùng61629

2
@ user61629 dịch vụ? Máy chủ web tự nó là một dịch vụ, theo định nghĩa thông thường của dịch vụ.
muru

1
@kitingChris vâng, tôi chỉ đang đào những base-passwdtài liệu cho việc đó
muru

1
www-datalà người dùng (và cũng là nhóm) mà dịch vụ httpd (apache) đang hoạt động trên hệ thống của bạn.
kitesChris
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.