Update postgres documentation
[oomailing.git] / mvoomail
1 #!/usr/bin/env bash
2 # Moves a generated mail from /tmp/ to a given folder
3 # File ownership is changed to the owner of the targer folder
4 # File permissions are changed to 644
5
6 set -e
7
8 exitusage() {
9         echo $'\n' $@ $'\n' >&2
10         echo "Usage:" >&2
11         echo "   $0 <basefilename> <folder>" >&2
12         exit 1
13 }
14
15 if [[ `id -u` != 0 ]]; then
16         exitusage This script must be run as root or with sudo
17 fi
18 if [[ $# != 2 ]]; then
19         exitusage Need two parameters
20 fi
21
22 if ! echo "$1" | grep -qG "^[A-Za-z0-9.]*$"; then
23         exitusage SECURITY ERROR: Base file name can only contain alphanumerical characters
24 fi
25
26 basefilename=$1
27 target=$2
28
29 test -r /tmp/$basefilename || exitusage "Can't read file /tmp/$basefilename"
30 test -d $target || exitusage "$target is not a folder"
31 [[ `stat -c %u "/tmp/$basefilename"` == `id -u oomailing` ]] || exitusage "File must belong to oomailing user"
32
33 targetuid=`ls -dln $target | cut -d \  -f 3`
34 targetgid=`ls -dln $target | cut -d \  -f 4`
35
36 mv /tmp/$basefilename $target
37 chown $targetuid:$targetgid $target/$basefilename
38 chmod 644 $target/$basefilename