Làm thế nào để bạn kiểm tra từ xa nếu danh sách thư mục HTTP được kích hoạt trên Linux?


1

Tôi muốn có thể tự động kiểm tra tất cả các máy chủ của mình để đảm bảo rằng trình duyệt thư mục được bật. Làm thế nào để tôi làm điều này trong một kịch bản shell?

Câu trả lời:


3

Hai gợi ý:

  • Tạo một thư mục, lấy nội dung của nó qua HTTP từ localhost (sử dụng curl, wget -O /dev/stdout, lynx -dump, w3m -dump, elinks -dump) và tìm kiếm danh sách tập tin. Ví dụ cho Apache2, thường hiển thị Index of /directory:

    cd /srv/http
    name="test-$RANDOM$RANDOM$RANDOM"
    mkdir "$name"
    if curl "http://localhost/$name/" | fgrep -qs "Index of /$name"; then
        echo "enabled"
        rmdir "$name"
    else
        echo "disabled"
        rmdir "$name"
        exit 1
    fi
    

    Nếu bạn đang sử dụng Lighttpd, nginx hoặc một cái gì đó khác, hãy điều chỉnh mẫu grep .

  • Thay thế: Tìm hiểu một số grephoặc perlphân tích địa ngục khỏi các tệp cấu hình của bạn. Quá trình chính xác phụ thuộc vào trình nền HTTP mà bạn đang sử dụng - các định dạng cấu hình của chúng rất khác nhau.


1
Rất vui được cảm ơn! Cũng sử dụng curl để có được mã phản hồi http hoạt động với tôi. 403 có nghĩa là danh sách thư mục bị vô hiệu hóa và 200 có nghĩa là nó được bật
David
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.