SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG
DONATE


YUM REPOSITORY

 
 

MAN page from Trustix mktemp-1.5-2tr.i586.rpm

MKTEMP

Section: User Commands (1)
Index
BSD mandoc
 

NAME

mktemp - make temporary file name (unique) 

SYNOPSIS

mktemp[-d][-q][-u]template 

DESCRIPTION

Themktemputility takes the given file name template and overwrites aportion of it to create a unique file name.The template may be any file name with some number of`X'Ns sappendedto it, for example/tmp/temp.XXXXXXXXXX

The trailing`X'Ns sare replaced with a combination of the current process number andrandom letters.The name chosen depends both on the number of`X'Ns sin the template and the number of collisions with pre-existing files.The number of unique file namesmktempcan return depends on the number of`X'Ns sprovided; ten`X'Ns swillresult inmktemptesting roughly 26 ** 10 combinations.

Ifmktempcan successfully generate a unique file name, the file (or directory)is created with file permissions such that it is only readable and writableby its owner (unless the-uflag is given) and the filename is printed to standard output.

mktempis provided to allow shell scripts to safely use temporary files.Traditionally, many shell scripts take the name of the program withthe PID as a suffix and use that as a temporary file name.This kind of naming scheme is predictable and the race condition it createsis easy for an attacker to win.A safer, though still inferior approachis to make a temporary directory using the same naming scheme.While this does allow one to guarantee that a temporary file will not besubverted, it still allows a simple denial of service attack.For these reasons it is suggested thatmktempbe used instead.

The options are as follows:

-d
Make a directory instead of a file.
-q
Fail silently if an error occurs.This is useful ifa script does not want error output to go to standard error.
-u
Operate in``unsafe''mode.The temp file will be unlinked beforemktempexits.This is slightly better thanFn mktemp 3but still introduces a race condition.Use of this option is not encouraged.

Themktemputilityexits with a value of 0 on success or 1 on failure. 

EXAMPLES

The followingsh(1)fragment illustrates a simple use ofmktempwhere the script should quit if it cannot get a safetemporary file.
CMD=`basename $0`TMPFILE=`mktemp /tmp/$CMD.XXXXXXXXXX` || exit 1echo "program output" >> $TMPFILE

In this case, we want the script to catch the error ourselves.

CMD=`basename $0`TMPFILE=`mktemp -q /tmp/$CMD.XXXXXXXXXX`if [ $? -ne 0 ]; then        echo "$CMD: Can't create temp file, exiting..."        exit 1fi

Or perhaps you don't want to exit ifmktempis unable to create the file.In this case you can protect the part of the script thusly.

CMD=`basename $0`TMPFILE=`mktemp /tmp/$CMD.XXXXXXXXXX` && {        # Safe to use $TMPFILE in this block        echo data > $TMPFILE        ...        rm -f $TMPFILE}
 

SEE ALSO

mkdtemp(3),mkstemp(3),mktemp(3) 

HISTORY

Themktemputility appeared inOx 2.1 .


 

Index

NAME
SYNOPSIS
DESCRIPTION
EXAMPLES
SEE ALSO
HISTORY

This document was created byman2html,using the manual pages.