Bash: 파일 쓰기 권한이 거부되었습니다.

Bash: 파일 쓰기 권한이 거부되었습니다.

나는 이것을 따랐다튜토리얼 가이드"LKM을 사용하여 C 프로그램에서 Linux Proc 파일을 만드는 방법"에 대해 알아보세요.

성공적으로 모듈을 만들고 로드했습니다. 이제 호출되어야 하는 메서드가 호출되는지 확인하기 위해 proc 파일에 에코를 표시하고 싶습니다.

나는 시도했다:

$ echo "hello" > /proc/procEntry123       # But it says permission is denied!
$ sudo echo "hello" > /proc/procEntry123  # Same error message.

이 파일에 에코하도록 권한을 높이려면 어떻게 해야 합니까? 나는 이 시스템의 유일한 사용자이자 관리자입니다.

답변1

그런데 허가가 거부됐다고 하네요!

를 호출할 때 제한적인 권한을 설정했기 때문에 그렇게 말하는 것 같습니다 create_proc_entry(). (0644는 "u=rw,go=r"로 해석되며 소유자에게만 쓰기 권한을 부여하며 기본값은 루트입니다.)

나는 그 앞에 "sudo"를 넣었습니다. 같은 메시지입니다.

>또는 |실행 중인 셸에 의해 수행되는 리디렉션은 다음과 같습니다 .~ 전에그것은 호출합니다 sudo.

sudo sh -c "echo blah > /proc/blah"를 사용 하거나 로 루트 쉘을 실행 해야 합니다 sudo -s.

나는 유일한 사용자입니다. 이것은 나만의 개인용 컴퓨터입니다!

이는 Linux에서는 중요하지 않습니다. 누가 컴퓨터를 사용하는지에 관계없이 파일 권한이 적용됩니다.

이를 원하지 않으면 루트로 로그인하거나 pam_cap직접 사용하여 기능을 제공 하십시오 cap_dac_override. 그러나 두 가지 방법 중 하나를 선택하십시오.~ 할 것이다조만간 문제를 일으킬 수 있습니다.

관련 정보