Làm cách nào tôi có thể chỉnh sửa / cập nhật tệp máy chủ (etc / hosts) bằng bất kỳ ngôn ngữ lập trình nào [đã đóng]


0

Tự động tôi muốn chỉnh sửa / cập nhật tệp máy chủ (etc / hosts) để thêm tên miền.

Để chỉnh sửa tập tin máy chủ (etc / hosts) yêu cầu Quản trị viên đặc quyền. Sử dụng Linux Tôi có thể làm điều này bằng lệnh này

sudo gedit /etc/hosts 

Nhưng tôi đang cố gắng làm điều này từ việc sử dụng Ngôn ngữ lập trình.

Tôi làm nó như thế nào?

unix  hosts 

1
Nếu bạn cần cập nhật điều này thường xuyên và năng động, bạn có chắc chắn / etc / hosts là đúng cách không? Có lẽ bạn nên xem xét việc chạy một máy chủ DNS hỗ trợ cập nhật động thay thế?
Zoredache

Tôi không chắc chắn làm việc trên / etc / hosts, nhưng mục đích của tôi là tạo Miền trong khả năng lập trình thời gian chạy. Có cách nào khác để tạo tên miền mà không cần sử dụng / etc / hosts không?

bằng cách chỉnh sửa / etc / hosts bạn không "tạo" tên miền. Bạn sẽ thêm một cặp tên máy chủ / ip, sau đó cho phép hệ thống cục bộ truy cập vào máy đó bằng tên máy chủ thay cho địa chỉ IP. .. Nhưng sau đó, bạn chắc chắn biết rằng ..
lexu

Câu trả lời:


1

Mở tệp từ chương trình của bạn và sử dụng các điều kiện tiêu chuẩn để đọc và viết tệp văn bản. Nó thực sự không khác với bất kỳ tập tin khác ngoài đó.

Và đảm bảo chương trình của bạn chạy dưới quyền root để bạn thực sự có thể mở và thay đổi tệp đó.


@Johannes Rössel "chương trình của bạn chạy bằng root". Vấn đề là ở đó? bằng cách sử dụng "chuỗi shell_exec (chuỗi $ cmd)" trong php tôi có thể thực thi lệnh shell. NHƯNG làm thế nào về đặc quyền, tôi cần phải có đặc quyền quản trị viên.

@imrul: DONT CHẠY mọi thứ từ một máy chủ web với quyền admin ... dịu xuống: nghiêm túc, điều này có thể / sẽ cho phép một hacker để tiếp nhận hệ thống của bạn
lexu

1

Có một dự án của RedHat có tên Augeas cung cấp API giống như cây để chỉnh sửa một số loại tệp cấu hình phổ biến. Các /etc/hoststập tin là một trong số đó. Có sự ràng buộc cho nhiều ngôn ngữ.

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.