The default is just a directory in the root filesystem.
That's fine but I have a desktop, a ton of RAM and reboot very infrequently... Which is the perfect description of somebody who could be using RAM instead of SSD for caching temporary stuff... So mine is mounted as a tmpfs
RAMdisk, defined in fstab
as:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
If you power cycle lots, this obviously isn't going to be a good idea for you.
You asked on another —now deleted— answer what the two zeroes were on the end, that's handled by another answer but they basically mean the system doesn't care about what happens to this filesystem if things crash. It won't dump out or check it for errors on boot.
noatime
is just there as a tiny performance thing. Nothing I know of needs to audit access times of /tmp
so I don't bother storing them. There's nothing inherently dangerous about allowing SUID, exec or character devices in /tmp
and some things might need them.
In terms of security, while anything can write into /tmp
it doesn't mean anything can overwrite or even read existing files. If you have a go-rw permission file, other people won't be able to mess around with it. The various systems that write into /tmp
already do things to make sure that they're not clashing over filenames (typically by appending the $USER
variable to the filename).