procfs 마운트 옵션이 다시 마운트에만 적용되는 이유는 무엇입니까?

procfs 마운트 옵션이 다시 마운트에만 적용되는 이유는 무엇입니까?

나는 내 시스템에 대한 자체 초기화 프로세스(pid 1)를 작성했으며 보안을 강화하기 위해 hidepid=2위치를 설치할 때 이를 추가하기로 결정했습니다(기본적으로 설치되지 않음).procfs/procprocfs

설치 후 해당 설치 옵션에 대한 모든 설치가 제대로 되었는지 확인하기 위해 명령을 procfs실행했는데 옵션에 아무것도 나열되지 않은 것을 확인했습니다. 잠시 후에 나는 목록에 나중에만 추가할 수 있다는 것을 알게 되었습니다 .mounthidepid=2hidepid=2remount

또한 다음과 같이 명령줄을 사용하여 동작을 확인했습니다.

  • 처음에는 /proc설치되지 않음procfs
  • 처형된mount -t proc -o hidepid=2 proc /proc
  • 실행하다 mount, 보여주다proc on /proc type proc (rw,relatime)
  • 처형된mount -t proc -o remount,hidepid=2 proc /proc
  • 실행하다 mount, 보여주다proc on /proc type proc (rw,relatime,hidepid=2)

왜 한 번에 설치할 수 없는지 친절하게 설명해 주실 수 있나요 procfs?hidepid=2

답변1

Linux 커널에 커밋이 있습니다(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=69879c01a0c3f70e0887cfb4d9ff439814361e46) 물론:

또한 커널 마운트의 불필요한 복잡성이 제거되었으며 proc 마운트 옵션이 무시되는 회귀 문제가 수정되었습니다. 이제 proc의 초기 마운트가 사용자 공간에서 이루어지므로 이러한 마운트 옵션이 다시 존중됩니다. 이는 Android의 proc hidepid 옵션 사용을 수정합니다.

따라서 이것은 현재 Linux 커널의 버그인 것 같습니다(https://github.com/torvalds/linux/commit/69879c01a0c3f70e0887cfb4d9ff439814361e46), v5.7 릴리스 후보 태그(v5.7-rc4, v5.7-rc3, v5.7-rc2 및 v5.7-rc1)에서만 수정되었습니다.

관련 정보