Các tệp Windows 7 HOSTS tiếp tục hoàn nguyên quyền của nó trở lại CHỈ ĐỌC


5

Là một Nhà phát triển web toàn thời gian, tôi liên tục thêm các tên miền giả vào tệp HOSTS Windows 7 của mình để trỏ tên miền đến máy chủ web localhost mà tôi phát triển.

Tôi thậm chí đã xây dựng một tập lệnh PHP nhỏ, cho phép tôi nhập tên miền tôi muốn tạo, ví dụ: thử nghiệm

Kịch bản của tôi sau đó tạo ...

  • thư mục phù hợp cho trang web mới này trong thư mục máy chủ của tôi
  • Bản ghi Virtualhosts trong Apache (thực sự sử dụng cài đặt Wildcard /projects/testing.dev/www/)
  • Tạo cơ sở dữ liệu MySQL testing.dev và liên kết Người dùng MySQL với DB mới này
  • Cuối cùng, tôi có một tệp .EXE nhỏ được chuyển qua "kiểm tra" biến và sau đó nó chỉnh sửa tệp Windows HOSTS của tôi và thêm một mục trên một dòng mới như thế này ... 127.0.0.1 tests.dev sau đó cho phép tôi truy cập trang web dự án mới của mình trong trình duyệt tại http://testing.dev

Thiết lập này đã hoạt động tuyệt vời trong 2 năm qua nhưng gần đây chương trình .EXE của tôi đã ngừng hoạt động ... khi kiểm tra nếu tôi duyệt đến thư mục C:\Windows\System32\drivers\etc và xem các thuộc tính cho hosts tập tin trong thư mục này, vấn đề đầu tiên tôi thấy là chỉ đọc hộp kiểm được chọn, không cho phép chương trình exe đơn giản của tôi sửa đổi tệp máy chủ và thêm các mục mới của tôi.

Sau đó tôi phải bỏ kiểm tra chỉ đọc và thêm thủ công vào các thay đổi tệp máy chủ mới và lưu, sau đó hoạt động tốt. Toàn bộ quan điểm của việc có một chương trình .exe tùy chỉnh có 1 tham số (tên miền) là có thể tạo các tập lệnh như thế này để tự động chỉnh sửa tệp máy chủ của tôi và xử lý nó thành quy trình công việc như tôi đã làm.

Mỗi khi tôi thay đổi cài đặt này bằng cách bỏ chọn thuộc tính chỉ đọc và áp dụng / lưu nó, trong vòng vài phút, nó dường như đã quay trở lại để được kiểm tra!

Tôi thực sự sẽ đánh giá cao bất kỳ sự giúp đỡ nào trong việc làm cho tình trạng chưa được kiểm tra của tôi gắn bó và giữ nguyên như vậy, bất kỳ ý tưởng, đề xuất nào, hoặc thậm chí tốt hơn là một giải pháp thực sự cho vấn đề của tôi bất cứ ai?

Ngoài ra, chỉ cần đề cập đến tôi không có bất kỳ loại chương trình tường lửa hoặc bảo mật nào sẽ làm điều này, không có phần thứ 3 nào chạy sẽ gây ra điều này.

Cảm ơn vì bất kì sự giúp đỡ

enter image description here


1
Sử dụng Giám sát quá trình đến kiểm tra những gì truy cập các tập tin.
and31415

Câu trả lời:


0

Có lẽ vấn đề này là do một số chương trình khác đang làm điều này. Tôi sẽ khuyên bạn nên xóa tất cả các tệp tạm thời của bạn và xem nếu điều này ngăn chặn vấn đề của bạn. Hy vọng điều này sẽ giúp nếu không nó có thể là một cái gì đó trong sổ đăng ký của bạn.


0

Hãy thử thay đổi các thuộc tính bằng cách sử dụng CMD. Khởi động máy tính ở chế độ an toàn với Dấu nhắc lệnh.

Kiểu

cd C: \ Windows \ System32 \ driver \ etc (Nhấn Enter)

attrib C: \ Windows \ System32 \ driver \ etc \ hosts -r (nhấn enter)

kiểm tra thêm nếu tập tin của bạn hiển thị chỉ đọc kiểm tra hay không


0

Tôi không thể kiểm tra xem điều này có chắc chắn hay không vì đối với tôi, tệp không được đánh dấu chỉ đọc như trong trường hợp của bạn, nhưng đây là phương pháp tôi đã sử dụng để ngăn Windows hoàn nguyên các thay đổi của mình slui.exe tập tin được bảo vệ.

Bạn sẽ muốn sửa đổi các quyền của tệp và từ chối quyền truy cập vào HỆ THỐNG và có thể là TrustedInstaller (nhưng không phải chính bạn). Bạn có thể cần phải biến mình thành chủ sở hữu của tệp để có thể làm điều này.

Chuyển đến thuộc tính & gt; bảo mật & gt; nâng cao & gt; thay đổi quyền
Sau đó chỉnh sửa các quyền cho HỆ THỐNG và kiểm tra từ chối để viết thuộc tính / thuộc tính mở rộng. Nếu điều đó không hiệu quả, bạn có thể thử từ chối toàn bộ quyền kiểm soát của mình.

Nếu bạn cần sở hữu tệp để thực hiện bất kỳ điều nào trong số này, thì đó là thuộc tính & gt; bảo mật & gt; chủ sở hữu & gt; chỉnh sửa

Cuối cùng, như là phương sách cuối cùng, bạn có thể làm cho chương trình bỏ đánh dấu chỉ đọc bất cứ khi nào nó sửa đổi tệp. Tôi không biết PHP, vì vậy tôi không thể giúp với điều này. Bạn có thể thử lệnh được đề xuất trong câu trả lời của Stephen.


0

Có thể đó không phải là một câu trả lời nghiêm ngặt, nhưng tôi nghĩ rằng bạn đang cố gắng phát minh lại giếng :)

Cài đặt laragon ( https://laragon.org/ ) là máy chủ wamp của bạn (thay vì apache / php hoặc những gì bạn có ở đó)

Laragon đã giải quyết nó (đối với bất kỳ thư mục nào bạn tạo trong dự án, sẽ tự động tạo miền giả cho nó)

Tôi cũng là một nhà phát triển php và tin tưởng tất cả các vấn đề với phiên bản apache / php extension / php và tên miền .local đã kết thúc với laragon

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.