4 ms·
A bespoke `mktempd` script is one of the first things I install in a new system. Fortunately, it is not too hard to make a `mktemp -d` compatible script with P
by ykonstant 2y ago
A bespoke `mktempd` script is one of the first things I install in a new system. Fortunately, it is not too hard to make a `mktemp -d` compatible script with POSIX tools. `set -o nullglob` is another story :D
- pxeger1 2y agoIt's quite hard to write mktemp securely[1]. It would be great if POSIX didn't make people attempt to do that error-prone task themselves. [1]: There's some explanation in this recent post: https://dotat.at/@/2024-10-22-tmp.html https://dotat.at/@/2024-10-22-tmp.html
- ykonstant 2y agoThis is correct (though of course a decent `mktempd` script will deal with the listed problems or crash loudly on failure), and there are even more reasons to avoid /tmp. Unfortunately, it is one of the very few directories that are somewhat POSIX-"guaranteed" writable by a non-root user and the fact that on modern systems it is usually mounted on a tmpfs makes it very attractive for pure POSIX usage without rich array support. If you have mount permissions, of course, you should tell your `mktempd` to base its directory on a private tmpfs.