Định cấu hình quyền cho FTP và Apache


10

Tôi có một máy chủ web (Apache2) mà tôi truy cập bằng FileZilla.

Trên máy chủ web của tôi, tôi có một thư mục / home / admin / www mà tôi đã liên kết với / var / www. Vì vậy, tôi có thể truy cập nó với FTP. Điều này làm việc hoàn hảo!

Nhưng mỗi khi tôi khởi động lại máy chủ web của mình, tôi phải thực hiện liên kết nhiều lần. Tôi không thể nói với máy chủ web của mình rằng những bản đồ đó cần phải được liên kết luôn? Ngoài ra tôi cần phải thiết lập lại tất cả các quyền của mình mỗi lần nữa, tôi đang làm gì sai?

Câu trả lời:


13

Một giải pháp tốt hơn và an toàn hơn (tôi cảm thấy khó chịu khi internet có quyền truy cập vào thư mục nhà quản trị viên!) Là tạo thư mục webroot trong /

Thời gian cuối!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

Bây giờ hãy trỏ apache vào tài liệu gốc / webroot mới của bạn ở cuối cấu hình apache của bạn. Điều này có thể được tìm thấy ở đây: /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

CTRL-O để lưu, CTRL-X để thoát khỏi nano nếu bạn không quen với nó.

Đơn giản chỉ cần thay thế DocumentRoot /var/www/bằng/webroot/

Sao chép các tệp web của bạn bây giờ để webroot.

sudo /etc/init.d/apache2 reload

Bây giờ Apache đã khởi động lại với tất cả các cấu hình được tải.

Điều này đã tạo ra một thư mục trong root có tên là webroot, thuộc sở hữu của apache2 và chủ sở hữu nhóm là webdev nhóm mới, mà người dùng của bạn hiện đang được thêm vào thành viên của (điều này không thay thế bất kỳ nhóm nào!). Điều này sẽ cho phép bạn chỉnh sửa các tệp trong FTP!

Đây là một giải pháp rất đơn giản cho một máy chủ apache một trang web. Cần nhiều công việc hơn nếu bạn có kế hoạch chạy nhiều trang web (ví dụ: tạo các thư mục riêng cho chúng trong webroot)

Ưu điểm của việc này là nếu ai đó tìm thấy lỗ hổng, họ sẽ bị khóa vào thư mục webroot chứ không phải thư mục nhà của bạn! Ngoài ra nếu bạn cần cho phép thêm người dùng sửa đổi trang web, bạn có thể thêm người dùng của họ vào nhóm webdev vớisudo usermod -a -G theirusername webdev

Hi vọng điêu nay co ich!

Trân trọng


Không thành vấn đề :) bạn có phiền nếu tôi đổi tên tiêu đề để phản ánh tốt hơn câu trả lời tôi đã đưa ra không?
Laice

chắc chắn là không :-)
Ontwikkelaar đã được gỡ lỗi vào

vì một số lý do tôi đã không nhận được webdev người dùng như vậy khi tôi sử dụng lệnh của bạn> sudo groupadd webdev Tôi đã thử điều này và nó dường như hoạt động. Dù sao cũng đã thêm người dùng trong tập tin / etc / group. sudo usermod -a -G wwwlogin webdev
Bê-na-

Đây là lỗi của tôi, trong câu trả lời của tôi, tôi đã vô tình quay vòng người dùng và nhóm, điều này đã được Damon sửa chữa, bài học kinh nghiệm!
Laice

@Damon, tôi nghĩ bạn cần đặt các quyền phù hợp sao cho chủ sở hữu (dữ liệu www) và nhóm (webdev) có cùng quyền như đối với một thư mục: nên là 775 (thay vì 755 mặc định) và 664 (thay vì 644 ) cho các tập tin.
Eduardo B.
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.