Unix 실행 파일 권한 및 런타임 사용자 권한

Unix 실행 파일 권한 및 런타임 사용자 권한

작업 소유자와 완전히 다른 권한 집합을 가진 사용자로 실행 파일을 실행하는 것이 좋은 습관이라고 들었습니다. 실제로는 정반대의 권한 집합을 가진 다른 사용자로 실행하는 것이 가장 좋다고 들었습니다. 런타임 사용자의 권한을 제한하는 것은 이해할 수 있지만 setuid이 기능을 통해 이를 달성할 수는 없나요?

답변1

내가 올바르게 이해했다면 일반 사용자가 응용 프로그램을 실행하고 있으며 관련 파일은 실수로 삭제되는 것을 방지하기 위해 일반 사용자가 쓸 수 없습니다. 이를 위해서는 setuid가 필요하지 않습니다. 당신이 해야 할 일은 다음과 같습니다:

chown -R root.root /opt/theapp
chmod -R g-w /opt/theapp
chmod -R o-w /opt/theapp
chmod 755 /opt/theapp/bin/theexe

이는 파일의 소유권을 루트에 부여하여 다른 모든 사용자가 쓰는 것을 금지하고 모든 사용자가 실행 파일을 읽고 실행할 수는 있지만 쓸 수는 없도록 허용한다는 의미입니다.

답변2

나는 이것이 일반적으로 나쁜 생각이라고 말하고 싶습니다. 거의 모든 경우 실행 파일이 당신과 동일한 권한을 갖기를 원합니다. 일반적으로 실행 파일이 파일에 대해 설계된 모든 작업을 수행하도록 하기를 원하기 때문입니다. 예를 들어, 텍스트 편집기를 권한이 없는 사용자로 설정하면 텍스트 파일을 편집할 수 없습니다...

관련 정보