/proc/pid/mem의 권한을 어떻게 변경합니까?

/proc/pid/mem의 권한을 어떻게 변경합니까?

개인 프로젝트로서 저는 하스켈로 에뮬레이트할 작은 도구를 작성하고 있습니다.스캔 메모리.

그것

  1. /proc/pid/maps에서 가상 메모리 영역 검색
  2. /proc/pid/mem을 스캔하여 주어진 값으로 메모리 영역을 추출합니다.

아직 개발 초기 단계이기 때문에 저는 여전히 cabal repl에 크게 의존하고 있습니다. 이를 통해 코드를 수정한 다음 즉시 대화형 ghci 환경으로 들어가 코드를 실행할 수 있습니다. 안타깝게도 /proc/pid/mem을 읽으려면 sudo 권한이 필요하므로 cabal repl을 sudo로 실행해야 합니다.이렇게 하지 않는 것이 좋습니다.. 작은 변경을 할 때마다 전체 코드를 작성하는 대신 모든 사용자가 이 파일에 대한 읽기 권한을 가질 수 있도록 특정 /proc/pid/mem에 대한 권한을 변경하는 것이 대안이라고 생각합니다. 이 특정 파일에 대해 모든 디버깅을 수행하겠습니다.

불행히도 내가 달리려고 할 때

sudo chmod 644 mem

결과를 얻었습니다.chmod: changing permissions of 'mem': Operation not permitted

이 아이디어는 단지 쓸데없는 연습일까요?

매우 감사합니다!

답변1

변경할 수 없는 권한은 /proc/…/mem커널에 의해 시행됩니다.

개발 작업의 경우 사용자로 실행 중인 모든 프로세스를 사용할 수 있어야 하며 /proc/…/mem사용자로 실행 중인 프로세스에 액세스할 수 있어야 합니다. ( scanmem이 작업도 수행할 수 있습니다. 사용자로 실행 중인 프로세스의 pid를 제공하면 루트로 실행하지 않고 분석합니다.) 모든 프로세스를 검사하려는 경우 mem파일을 읽을 수 없는 프로세스는 건너뛰세요.

관련 정보