/var/list/.bin/donatelist is in smartlist 3.15-25build1.
This file is owned by list:list, 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 | #! /bin/sh
: &&O='cd .' || exec /bin/sh "$0" $argv:q # we're in a csh, feed myself to sh
$O || exec /bin/sh "$0" "$@" # we're in a buggy zsh
#########################################################################
# donatelist To give a local user exclusive rights to a #
# mailinglist #
# #
# Created by S.R. van den Berg, The Netherlands #
#########################################################################
#$Id: donatelist,v 1.6 1999/02/15 19:06:54 guenther Exp $
defaults=.etc
test=test # /bin/test
ls=ls # /bin/ls
pwd=pwd # /bin/pwd
echo=echo # /bin/echo
touch=touch # /bin/touch
chown=chown # /bin/chown
chmod=chmod # /bin/chmod
mkdir=mkdir # /bin/mkdir
EX_USAGE=64
EX_UNAVAILABLE=69
if $test ! -d $defaults
then
if $test -d list
then cd ./list
else cd ..
$test -d $defaults || cd ..
fi
fi
if $test ! -d $defaults
then
$echo "donatelist: You should be near the main list directory to do this" \
1>&2
exit $EX_USAGE
fi
if $test $# != 2
then $echo "Usage: donatelist username listname" 1>&2; exit $EX_USAGE
fi
user="$1"
list="$2"
case "$list" in
../*|*/..|*/../*|*/*) $echo "donatelist: Suspicious listname specified" 1>&2
exit $EX_USAGE;;
*[@!]*) $echo "donatelist: Specify listname without domain name appended" \
1>&2; exit $EX_USAGE;;
esac
if test ! -d "$list"
then $echo "donatelist: \"$list\" doesn't exist" 1>&2
$echo 1>&2
$echo "Existing mailinglists:" 1>&2
$echo 1>&2
$ls 1>&2
$echo 1>&2
exit $EX_USAGE
fi
fragilef="log tmp.from tmp.request msgid.cache request"
fragiled="bounces"
miscf="dist accept rc.custom"
umask 007
$chmod g+w $list
if $chown $user $list
then
:
else
$echo 2>&1 "donatelist: Can't chown files"; exit $EX_UNAVAILABLE
fi
cd $list
$touch $fragilef
$mkdir $fragiled 2>/dev/null
$chmod g+w dist archive $fragilef
$chown $user $fragilef $fragiled $miscf archive
$chmod g+w archive/latest archive/volume* archive/latest/* 2>/dev/null
$chown $user archive/latest archive/volume* archive/latest/* 2>/dev/null
# attempt to make the gid inheritable
$chmod g+s . archive archive/latest $fragiled 2>/dev/null
$ls -la
|