![SUID/GGUID 파일을 일반적으로 읽을 수 없는 이유는 무엇입니까?](https://rvso.com/image/1568317/SUID%2FGGUID%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9D%BC%EB%B0%98%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%9D%BD%EC%9D%84%20%EC%88%98%20%EC%97%86%EB%8A%94%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)
나는 Linux에서 로그인 su 등과 같은 SUID 바이너리에 읽기 권한 세트가 없다는 것을 발견했습니다. 그 이유는 무엇입니까? 뒤에 어떤 역사가 있어야 합니까? 아니면 파일을 읽을 수 있으면 디버거를 연결하여 원하는 코드를 실행할 수 있기 때문입니까?
답변1
이것은 내 경험이 아니므로 어떤 배포판을 사용하는지 언급할 가치가 있을 수 있습니다.
루트가 아니면 suid 바이너리에 디버거를 연결할 수 없습니다.
바이너리를 읽으면 프로그램에서 악용할 약점을 찾을 수 있습니다. 그러나 배포판을 직접 다운로드하여 루트 액세스 권한이 있는 컴퓨터에 설치하고 원하는 대로 프로그램을 검사할 수 있습니다. 핵심 프로그램의 일부인 경우 소스를 가져와 소스 수준에서 검사할 수도 있습니다.
따라서 파일 내용을 숨길 필요가 없습니다.