답변1
이식 가능한 옵션은 6개 이상입니다. 왜냐하면 이것이 mkstemp(3)
수행되고 시뮬레이션되는 동작이기 때문입니다. 그러나 일부 시스템에서는 6보다 많이 지정하면 후행 6만 사용되고 나머지는 그대로 유지됩니다 X
. 그럼에도 불구하고 CSPRNG가 내부적으로 사용되는 경우 공격자가 프로세스를 DoS하는 것을 방지하려면 6개면 충분합니다.
일부 시스템(예: GNU 도구를 사용하는 Linux)에서는 이식 가능하지 않더라도 템플릿을 완전히 제거할 수 있습니다. 대부분의 시스템에는 템플릿이나 접두사가 붙은 파일이 필요합니다 -t
. 원하는 파일이 에 없으면 $TMPDIR
템플릿이 필요합니다. 적어도 FreeBSD와 macOS에서는요.
mktemp(1)
POSIX에서는 이를 요구하지 않기 때문에 일부 시스템에서는 이를 전혀 지원하지 않을 수도 있습니다 . 그러나 널리 사용되고 최소한 Linux, macOS, FreeBSD, NetBSD, OpenBSD, HP-UX 및 Solaris에 존재하므로 GNU coreutil이 없는 시스템에 GNU coreutil을 설치하라고 간단히 말할 수 있습니다.