RHEL 8 운영 체제에서 루트가 아닌 사용자로 인해 mkstemp가 실패함

RHEL 8 운영 체제에서 루트가 아닌 사용자로 인해 mkstemp가 실패함

mkstemp를 사용하여 tmp 파일을 생성하는 작은 스크립트가 있습니다. 내 스크립트는 루트 사용자를 사용하여 생성되었지만 루트가 아닌 다른 사용자로 로그인하면 스크립트가 실행되지만 권한 거부로 인해 msktemp가 실패합니다.

sh: /tmp/tmpFile-khB5hH: 권한이 거부되었습니다.

RHEL 7에서도 동일한 작업을 수행했지만 권한 거부 오류가 발생하지 않았습니다. RHEL 8에서 변경되었습니다. RHEL 8이 로그인한 사용자와 유효한 사용자를 확인하는 것 같습니다.

RHEL 7.5 및 RHEL 8.4에서 이것을 테스트했습니다.

권한 문제를 일으키는 RHEL 8의 변경 사항을 아는 사람이 있으면 제안해 주세요. 감사해요

답변1

나는 seteguid(getuid())를 통해 내 스크립트에 로그인 사용자를 설정했는데 이것이 위험하기는 하지만 여전히 작동합니다. 이렇게 하면 로그인한 사용자가 항상 유효해지며 RHEL8에서는 실패하지 않습니다.

관련 정보