Không thể mở tệp cấu hình '/ dev / fd / 63', lỗi: Không có tệp hoặc thư mục như vậy cho wpa_supplicant


12

Khi tôi làm điều này:

sudo wpa_supplicant -D nl80211,wext -i wlp4s0 -c <(wpa_passphrase "some ssid" "password")

tôi có

Successfully initialized wpa_supplicant
Failed to open config file '/dev/fd/63', error: No such file or directory
Failed to read or parse configuration '/dev/fd/63'

Có ý kiến ​​gì không?

Câu trả lời:


14

Trích dẫn wiki ArchLinux :

Lưu ý: Do quá trình thay thế, bạn không thể chạy lệnh này bằng sudo - bạn sẽ cần một vỏ gốc.

Bạn sẽ có thể sử dụng su -cdưới sudonhư sau:

$ sudo su -c 'wpa_supplicant -D nl80211,wext -i wlp4s0 -c \
    <(wpa_passphrase "some ssid" "password")'

11

Quá trình thay thế <(…) tạo ra một đường ống, sử dụng /dev/fdđể đưa ra một đường dẫn tương đương với bộ mô tả tệp có đường ống và chuyển tên tệp làm đối số cho chương trình. Đây là chương trình sudo, và nó chuyển đối số đó (chỉ là một chuỗi, theo như nó liên quan) wpa_supplicant, coi nó như một tên tệp.

Vấn đề là sudo đóng tất cả các mô tả tệp ngoại trừ các tiêu chuẩn (stdin = 0, stdout = 1 và stderr = 2). Đường ống của sự thay thế quá trình nằm trên một mô tả khác, được đóng lại, vì vậy khi wpa_supplicantcố gắng mở nó, nó sẽ tìm thấy một tệp không tồn tại.

Nếu chính sách sudo của bạn cho phép nó ( closefrom_overridetùy chọn được bật), bạn có thể yêu cầu nó không đóng mô tả tệp. Nhưng điều này thường không phải là trường hợp.

sudo -C 64 wpa_supplicant  -c <(wpa_passphrase …)

Ngoài ra, vì bạn không sử dụng đầu vào tiêu chuẩn, hãy chuyển dữ liệu ở đó.

wpa_passphrase  | sudo wpa_supplicant  -c /dev/stdin

Hoặc, chạy shell từ sudo và đặt quá trình thay thế ở đó. Hãy cẩn thận với trích dẫn nếu lệnh chứa các ký tự đặc biệt.

sudo bash -c 'wpa_supplication … -c <(wpa_passphrase …)'

1

Đối với những người đến từ một công cụ tìm kiếm web: hãy chắc chắn rằng bạn đã /devđược gắn kết. Một lỗi dễ mắc phải khi chroot, sau đó có thể dẫn đến các lỗi như lỗi này.

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.