hidepid 옵션을 사용하여 proc을 마운트해도 예상대로 proc이 숨겨지지 않습니다. 이유는 무엇입니까?

hidepid 옵션을 사용하여 proc을 마운트해도 예상대로 proc이 숨겨지지 않습니다. 이유는 무엇입니까?

기본적으로 /proc에 일반 proc fs가 마운트되어 있습니다.

(저는 다음 모든 명령의 루트입니다)

동일한 파일을 다른 위치에 다시 설치하고 hidepid 옵션을 다음과 같이 설정했습니다.

mount -t proc -o hidepid=2 proc /some/dir/proc

설치가 제대로 작동하고 ls /procAnd 에서 동일한 출력을 볼 수 있습니다 ls /some/dir/proc.

그런 다음 다음을 실행합니다.

setpriv —-reuid 1002 ls /proc

그리고 출력은 여전히 ​​동일합니다. uid 1002는 루트가 아닌 사용자이며 숨겨진 프로세스가 없습니다.

setpriv가 작동하는지 확인했고 그렇다면 setpriv -—reuid 1002 ls /root/예상대로 권한이 거부되었습니다.

hidepid 옵션이 효과가 없는 것 같습니다. 내가 무엇을 놓치고 있나요?

답변1

또한 다음과 같은 옵션이 hidepid있습니다 gid.

gid=gid(Linux 3.3부터)
프로세스 정보를 알 수 있는 구성원이 있는 그룹의 ID를 지정합니다. 그렇지 않으면 금지됩니다. hidepid

이를 명시적으로 언급하지는 않지만 내 시스템에서는 제공되지 않으면 기본값이 0으로 설정되는 것 같습니다. (출처는 확인하지 못했습니다.) 따라서 다음을 사용해 보세요.

setpriv --regid 1002 --clear-groups --reuid 1002 ls /proc/ 

proc또한, 설치 중에 설정된 설치 옵션이 무시되는 버그가 있습니다. -oremount후속 작업을 위해 설정합니다 . 이 문제는 Linux 5.7에서 수정되었습니다. 다음을 참조하세요.procfs 마운트 옵션이 다시 마운트에만 적용되는 이유는 무엇입니까?

관련 정보