mktemp
, por padrão, cria um diretório temporário em /tmp
, que por padrão é gravável por qualquer pessoa; se você passar a opção --tmpdir
para mktemp
(ou definir a variável de ambiente TMPDIR
), ela tentará criar um diretório temporário no diretório fornecido pelo argumento da opção, e será falhará a menos que você tenha permissão de gravação no diretório fornecido. Por exemplo:
[me@box] $ mktemp
/tmp/tmp.sL1g7rRGQv
[me@box] $ mktemp --tmpdir=/root
mktemp: failed to create file via template '/tmp.XXXXXXXXXXX': Permission denied
Se você está fazendo, por exemplo, mktemp --tmpdir=/root
como usuário não-root e não falha, então algo muito estranho está acontecendo. Tem certeza de que é isso que você está vendo?