루트 파일에 무언가를 에코하는 동안 sudo 문제가 발생함

루트 파일에 무언가를 에코하는 동안 sudo 문제가 발생함

루트 파일에 무언가를 쓰는 동안 문제가 발생했습니다.

$ ll /sys/bus/usb/devices/3-2/power/wakeup
-rw-r--r-- 1 root root 4096 Feb 16 17:28 /sys/bus/usb/devices/3-2/power/wakeup
$ sudo echo disabled > /sys/bus/usb/devices/3-2/power/wakeup
bash: /sys/bus/usb/devices/3-2/power/wakeup: Permission denied

비밀번호를 묻지 않았는데도 말이죠.

  1. 이 문제를 어떻게 해결할 수 있나요?
  2. sudo왜 직접 사용할 수 없나요 ?

답변1

리디렉션은 자체 사용자 코드로 실행되는 원래 셸에 의해 수행되므로 리디렉션과 함께 sudo를 사용할 수 없습니다. > 뒤에 언급된 파일에 대한 파일 설명자를 설정하려고 시도하지만 사용자가 해당 파일에 쓸 수 없기 때문에 실패합니다.

Costas의 방법은 서브쉘을 생성하는 것처럼 작동합니다.

sudo sh -c "echo disabled > /sys/bus/usb/device/3-2/power/wakeup"

관련 정보