![마운트된 네임스페이스를 공유 해제하는 데 CAP_SYS_ADMIN이 필요한 이유는 무엇입니까?](https://linux55.com/image/140900/%EB%A7%88%EC%9A%B4%ED%8A%B8%EB%90%9C%20%EB%84%A4%EC%9E%84%EC%8A%A4%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%A5%BC%20%EA%B3%B5%EC%9C%A0%20%ED%95%B4%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%8D%B0%20CAP_SYS_ADMIN%EC%9D%B4%20%ED%95%84%EC%9A%94%ED%95%9C%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 프로젝트 중 하나에 필요한오직마운트 네임스페이스는 공유되지 않으며 CAP_SYS_ADMIN 기능이 필요합니다(참조:네임스페이스). 사용자 네임스페이스를 공유 해제하여 기능 없이 새 설치 네임스페이스를 생성하는 것도 가능하지만 다른 제한 사항이 있으므로 이를 피하고 싶습니다(예: setuid 프로그램은 거기에서 호출할 수 없음). 설치 공간을 모든 사람이 공유하지 않도록 하는 setuid 프로그램을 작성하려고 하는데 이것이 안전하지 않을지 궁금합니다. 현재로서는 이런 일이 일어날 시나리오를 상상할 수 없습니다. 그렇다면 일반 사용자가 공유 설치 공간을 취소할 수 없는 이유는 무엇일까요?
답변1
코어를 선택하는 이유는 두 가지로 생각해볼 수 있습니다.
- 마운트 네임스페이스를 복제하면 이동식 미디어를 포함한 모든 마운트가
/
다시 마운트되지 않은 경우MNT_SHARED
(예: 에서 ) 고정됩니다.systemd
- 또한 특정 setuid 프로그램을 혼동시킬 가능성이 있으므로 권한이 없는 사용자가 "예기치 않은" 상태를 생성하는 것을 허용하지 않습니다. 따라서 이것이 유용하다고 생각할 특별한 이유가 없다면 이것이 더 안전한 선택입니다. 그들은 마운트된 네임스페이스를 복제할 수 있는 권한을 원하지만 복제할 수 없는 중요한 이유를 생각할 수 없습니다.하다그것과 관련된 모든 것. 분명히 당신은 어떤 이유를 생각했지만, 당신의 질문을 읽어도 그것이 무엇인지 짐작할 수 없었습니다 :-).