"sudo" 명령 없이 "pmount"는 어떻게 작동합니까?

"sudo" 명령 없이 "pmount"는 어떻게 작동합니까?

명령 매뉴얼 페이지를 공부할 때나는 다음을 읽었습니다.

pmount("정책 마운트")는 일반 사용자가 이동식 장치를 마운트할 수 있도록 하는 표준 마운트 프로그램을 둘러싼 래퍼입니다.

일반 사용자(Sudo 없이)로 사용 하면 시스템 폴더의 권한이 있고 소유자가 있는 동안 pmount /dev/sdc1폴더라는 폴더가 생성됩니다 . 이는 일반 사용자(현재 본인)가 파일 및 폴더 생성 에 폴더를 생성할 수 없음을 의미합니다. 폴더에. /media/sdc1/mediadrwxr-xr-xroot/media

이것이 Linux의 권한 및 소유권 규칙과 모순됩니까?

또 다른 질문은 슈퍼유저 권한이 필요하고 mount내부적으로 pmount사용되는데 슈퍼유저 권한 없이 mount어떻게 pmount사용할 수 있느냐는 것입니다 sudo.

답변1

/usr/bin/pmount설정값바이너리. setuid 실행 파일을 실행하면 uid 또는 gid가 실행 파일의 소유자로 변경됩니다. pmount가 실행되면 프로세스는 루트 권한을 가지므로 루트 소유 디렉터리를 만들고 파일 시스템을 마운트할 수 있습니다.

동일한 setuid 메커니즘이 sudo에도 적용됩니다.

관련 정보