This file is indexed.

/etc/cron.daily/tmpreaper is in tmpreaper 1.6.13+nmu1build1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
#!/bin/sh
PATH=/usr/sbin:/usr/bin:/sbin:/bin

# in case of `dpkg -r' leaving conffile.
if ! [ -x /usr/sbin/tmpreaper ]; then
    exit 0
fi

# Remove `/tmp/...' files not accessed in X time (configured in
# /etc/tmpreaper.conf, default 7 days), protecting the .X, .ICE, .iroha and
# .ki2 files; but removing symlinks. For directories not the access time, but
# the modification time is used (--mtime-dir), as reading a directory to check
# the contents will update the access time!
#
# In the default, /tmp/. is used, not the plain /tmp you might expect, as this
# accomodates the situation where /tmp is a symlink to some other place.
#
# Note that the sockets are safe even without the `--protect', unless `--all'
# is given, and the `.X*-lock' files would be safe also, as long as they have
# no write permissions, so this particular protect is mainly illustrative, and
# redundant.  For best results, don't try to get fancy with the moustache
# expansions.  KISS.  Always --test your protect patterns.
#
# Immutable files (such as ext3fs' .journal) are not (cannot be) removed;
# when such a file is encountered when trying to remove it, no error is given
# unless you use the --verbose option in which case a message is given.
#
# In case you're wondering: .iroha is for cannaserver and .ki2 is for kinput2
# (japanese software, lock files).
# journal.dat is for (older) ext3 filesystems
# quota.user, quota.group is for (duh) quotas.

# Set config defaults
SHOWWARNING=''

# get the TMPREAPER_TIME value from /etc/default/rcS

if grep '^TMPTIME=' /etc/default/rcS >/dev/null 2>&1; then
    eval $(grep '^TMPTIME=' /etc/default/rcS)
    if [ -n "$TMPTIME" ]; then
        # Don't clean files if TMPTIME is negative or 'infinite'
        # to mimic the way /lib/init/bootclean.sh works.
        case "$TMPTIME" in
          -*|infinite|infinity)
                # don't use this as default
                ;;
           *)
                if [ "$TMPTIME" -gt 0 ]; then
                    TMPREAPER_TIME=${TMPTIME}d
                else
                    TMPREAPER_TIME=7d
                fi
                ;;
        esac
    fi
fi

# ! Important !  The "set -f" below prevents the shell from expanding
#                file paths, which is vital for the configuration below to work.

set -f

# preserve environment setting of TMPREAPER_DELAY to allow manual override when
# running the cron.daily script by hand:
if [ -n "$TMPREAPER_DELAY" ]; then
    # check for digits only
    case "$TMPREAPER_DELAY" in
        [0-9]*) TMPREAPER_DELAY_SAVED="$TMPREAPER_DELAY";;
        *)      ;;
    esac
fi

if [ -s /etc/tmpreaper.conf ]; then
    . /etc/tmpreaper.conf
fi

# Now restore the saved value of TMPREAPER_DELAY (if any):
if [ -n "$TMPREAPER_DELAY_SAVED" ]; then
    TMPREAPER_DELAY="$TMPREAPER_DELAY_SAVED"
else
    # set default in case it's not given in tmpreaper.conf:
    TMPREAPER_DELAY=${TMPREAPER_DELAY:-256}
fi

if [ "$SHOWWARNING" = true ]; then
    echo "Please read /usr/share/doc/tmpreaper/README.security.gz first;"
    echo "edit /etc/tmpreaper.conf to remove this message (look for SHOWWARNING)."
    exit 0
fi

# Verify that these variables are set, and if not, set them to default values
# This will work even if the required lines are not specified in the included
# file above, but the file itself does exist.
TMPREAPER_TIME=${TMPREAPER_TIME:-7d}
TMPREAPER_PROTECT_EXTRA=${TMPREAPER_PROTECT_EXTRA:-''}
TMPREAPER_DIRS=${TMPREAPER_DIRS:-'/tmp/.'}

nice -n10 tmpreaper --delay=$TMPREAPER_DELAY --mtime-dir --symlinks $TMPREAPER_TIME  \
  $TMPREAPER_ADDITIONALOPTIONS \
  --ctime \
  --protect '/tmp/.X*-{lock,unix,unix/*}' \
  --protect '/tmp/.ICE-{unix,unix/*}' \
  --protect '/tmp/.iroha_{unix,unix/*}' \
  --protect '/tmp/.ki2-{unix,unix/*}' \
  --protect '/tmp/lost+found' \
  --protect '/tmp/journal.dat' \
  --protect '/tmp/quota.{user,group}' \
  `for i in $TMPREAPER_PROTECT_EXTRA; do echo --protect "$i"; done` \
  $TMPREAPER_DIRS