Không thể ping trong Bash trên Windows


14

Khi tôi cố chạy:

ping www.google.com

Tôi nhận được lỗi sau đây:

ping: icmp open socket: Permission denied

Chạy với sudokhông làm nên sự khác biệt.


1
Why does the ping command require bash to be started with admin privileges? This is a known issue that has to due with differences between the way the Linux and the Windows kernel handle the ICMP request that makes ping possible. We plan to address this in future releases. msdn.microsoft.com/en-us/commandline/wsl/ từ
phuclv

Câu trả lời:


23

Cập nhật: Sự cố này đã được khắc phục kể từ Bản cập nhật Windows 10 Creators Update (Tháng 4 năm 2017). Bash trên Windows không còn yêu cầu quyền quản trị viên để thực thi lệnh ping.

"Ngăn xếp TCP / IP của Windows yêu cầu đặc quyền của quản trị viên để mở ổ cắm RAW cho các biện pháp bảo mật" [ nguồn ]. Xem bài viết MSDN . Điều này chỉ áp dụng cho các giao thức mạng cấp thấp như ICMP được sử dụng bởi ping.

Chạy trình bao "Bash trên Windows" của bạn với tư cách quản trị viên sẽ cho phép lệnh ping hoạt động. Chỉ cần nhấp chuột phải vào phím tắt và chọn tùy chọn:

Chọn 'chạy với tư cách quản trị viên' cho phím tắt menu bắt đầu Bash

Điều này sẽ chỉ hoạt động cho phiên duy nhất được mở với các quyền này.

Nếu lệnh khác cũng không thể kết nối với internet (ví dụ apt-get, wget) sau đó bạn có thể cũng cần phải nhìn vào kết nối Internet không làm việc trong Windows Subsystem cho Linux .


điều này đã được sửa gần đây - một số bản dựng nội bộ không cần phải chạy với tư cách quản trị viên để ping và ping6 hoạt động
Magnetic_dud

thật buồn cười khi bạn đã root mà không chạy với tư cách quản trị viên, nhưng điều đó không hoạt động
Michael

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.