다른 사용자가 파일을 이미 사용 중인 경우 SGID 프로그램이 동일한 그룹의 파일을 읽을 수 없는 이유는 무엇입니까?

다른 사용자가 파일을 이미 사용 중인 경우 SGID 프로그램이 동일한 그룹의 파일을 읽을 수 없는 이유는 무엇입니까?

여기에 이미지 설명을 입력하세요.

"wall" 명령에는 tty 그룹의 SGID가 있습니다. proba 파일에는 tty 그룹이 있습니다. 벽면 바이너리가 있는 FS에는 SGID 설치 옵션이 없습니다. wall 명령은 proba의 내용만 출력한다고 생각합니다.

"wall" 명령을 사용하여 "proba" 파일에 액세스할 수 없는 이유는 무엇입니까?

나는 wall 명령 자체에는 관심이 없습니다. 그것은 내가 설명한 방법에 대한 것입니다.

예(파일을 직접 읽지는 않지만):http://blog.silentsignal.eu/2014/06/25/hp-ux-0day-local-privilege-escalation/

답변1

set-uid 또는 set-gid를 실행하는 프로그램은 사용자 이름 파일을 열 때 원래 uid/gid로 다시 전환해야 하며 일반적으로 그렇게 합니다. 그들은 작업에 필요한 특수 파일에 액세스하기 위해 set-[ug]id 권한만 사용합니다. 예를 들어 wall수신자의 터미널을 여는 데만 사용합니다. 사용자 파일을 열 때 특수 권한을 사용하면 일반적으로 액세스할 수 없는 파일에 액세스할 수 있으므로 보안 위반이 됩니다.

관련 정보