Câu hỏi Cách tốt nhất để cấu hình quyền truy cập apache2


Tôi có một máy chủ với ubuntu 14.04.

Tôi đã cài đặt apache2, php5 và pure-FTPd.

Vì vậy, apache đang chạy trong mork prefork với một quá trình thuộc sở hữu của root và tất cả các tiến trình con thuộc sở hữu của www-data.

/ Var / www / html được sở hữu bởi root (-rw-r - r-- 1 root root)

Bây giờ tôi có một người dùng ftp gọi là ftpuser.

Điều gì sẽ là cách tốt nhất (và an toàn hơn) để các ftpuser có thể tạo và chỉnh sửa các tập tin dưới / var / www / html?

Tôi có thể thay đổi chủ sở hữu nhóm của / var / www / html thành www-data bằng quyền ghi và thêm ftpuser vào nhóm dữ liệu www không?

Nếu bây giờ tôi cũng muốn sử dụng mediawiki, đôi khi nó cần truy cập ghi vào / var / www / html. Câu hỏi tương tự: Tôi có thể thay đổi chủ sở hữu nhóm của / var / www / html thành www-data bằng quyền ghi không?


2
2018-06-19 09:36


gốc




Các câu trả lời:


Thông thường, bạn nên viết quyền truy cập vào tài khoản đang chạy Web Server (www-data trong Ubuntu).

Đối với kịch bản của bạn, tôi sẽ thay đổi chủ sở hữu /var/www/html đến ftpuser với một đọc-ghi cho anh ta, chỉ đọc cho nhóm và những người khác. Apache cần ít nhất để có thể đọc trong thư mục này.

UPD: Nếu bạn có nhiều người dùng cấp quyền truy cập, hãy đặt tất cả trong cùng một nhóm, thay đổi quyền sở hữu nhóm cho nhóm này và cấp cho nhóm quyền truy cập đọc và ghi.

An ninh khôn ngoan, nó là một ý tưởng tồi để cung cấp cho Apache ghi truy cập vào tất cả các tập tin mà ông có thể truy cập. Nếu ai đó có thể làm "những điều khó chịu" với máy chủ web của bạn, ít nhất anh ấy sẽ không thể thay đổi các tệp bằng cách sử dụng Apache trực tiếp.

Đừng quên bảo mật việc cài đặt máy chủ FTP mà bạn dự định sử dụng để cho phép các tệp tải lên ftpuser.

Nếu Mediawiki cần viết trên một số tệp, tôi sẽ chỉ cung cấp cho các tệp này quyền đọc-ghi cho người dùng www-data (bằng cách đặt chủ sở hữu của các tệp này thành www-data). Nếu bạn không thể dự đoán tệp nào cần được ứng dụng web ghi, bạn nên tách ứng dụng này thành thư mục con của ´ / var / www / html´.

Theo kinh nghiệm, tôi biết rằng khi truy cập phải là cần thiết trên một số tập tin, thường là tài liệu của các chi tiết ứng dụng chính xác mà những người thân.


2
2018-06-19 12:17



Cảm ơn Benoit. Và những gì sẽ là lời khuyên của bạn nếu tôi có một nhóm gọi là ftpgroup có chứa ftpuser và ftpuser2? - tweetysat
@tweetysat: đã cập nhật câu trả lời của tôi với nhận xét của bạn. - Benoit


Máy chủ web Apache2 có sẵn trong Ubuntu Linux. Để cài đặt Apache2:

Tại dấu nhắc thiết bị đầu cuối, nhập lệnh sau:

sudo apt-get install apache2 

Cài đặt cơ bản

Nếu bạn muốn định cấu hình máy chủ hoặc trang web ảo mới, hãy sao chép tệp đó vào cùng một thư mục với tên bạn chọn. Ví dụ:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite

Chỉnh sửa tệp mới để định cấu hình trang web mới bằng cách sử dụng một số chỉ thị được mô tả bên dưới.


0
2018-06-19 11:09



Bạn có chắc bạn đã đọc câu hỏi của tôi không? - tweetysat
xin lỗi nếu câu trả lời của tôi không tốt cho bạn. trên thực tế, tôi đọc rất nhanh - tôi muốn giúp bạn, đó là tất cả. lấy làm tiếc - Hadi


Nếu bạn chưa cài đặt Apache, bạn có thể thực hiện việc này bằng cách phát hành các lệnh sau:

sudo apt-get update
sudo apt-get install apache2

Đây là tất cả những gì cần thiết để có một máy chủ web hoạt động. Nếu bạn truy cập IP của VPS địa chỉ trong trình duyệt web, bạn sẽ nhận được trang chỉ mục mặc định của Apache:

your_domain_name_or_ip_address

It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.

Phân cấp tệp Apache trong Ubuntu và Debian

Trên Ubuntu và Debian, Apache giữ các tệp cấu hình chính trong thư mục "/ etc / apache2":

cd /etc/apache2
ls -F

apache2.conf  envvars     magic            mods-enabled/  sites-available/
conf.d/       httpd.conf  mods-available/  ports.conf     sites-enabled/

Nhìn vào tệp Apache2.conf

Các chi tiết cấu hình chính cho máy chủ Apache của bạn được giữ trong tập tin "/etc/apache2/apache2.conf".

Tệp này được chia thành ba phần chính: cấu hình cho quy trình máy chủ Apache toàn cầu, cấu hình cho máy chủ mặc định và cấu hình của Máy chủ ảo.

Trong Ubuntu và Debian, phần lớn tệp là dành cho định nghĩa toàn cục và cấu hình máy chủ mặc định và máy chủ ảo được xử lý ở cuối, bằng cách sử dụng chỉ thị "Bao gồm ...".

Chỉ thị "Bao gồm" cho phép Apache đọc các tệp cấu hình khác vào tệp hiện tại tại vị trí mà câu lệnh xuất hiện. Kết quả là Apache tự động tạo một tệp cấu hình bao quát khi khởi động.

Nếu bạn cuộn xuống cuối tệp, có một số câu lệnh "Bao gồm" khác nhau. Các định nghĩa mô-đun tải này, tài liệu ports.conf, các tệp cấu hình cụ thể trong thư mục "conf.d /" và cuối cùng là định nghĩa Máy chủ ảo trong thư mục "sites-enabled /".

Chúng ta sẽ tập trung vào phần đầu của tệp để tìm hiểu cách Apache định nghĩa các thiết lập chung của nó.

Tôi hy vọng nó làm việc cho bạn


0
2018-06-19 11:13