#!/usr/bin/env bash # Moves a generated mail from /tmp/ to a given folder # File ownership is changed to the owner of the folder # File permissions are changed to 644 set -e exitusage() { echo $'\n' $@ $'\n' >&2 echo "Usage:" >&2 echo " $0 " >&2 exit 1 } if [[ `id -u` != 0 ]]; then exitusage This script must be run as root or with sudo fi if [[ $# != 2 ]]; then exitusage Need two parameters fi if ! echo "$1" | grep -qG "^[A-Za-z0-9.]*$"; then exitusage SECURITY ERROR: Base file name can only contain alphanumerical characters fi basefilename=$1 target=$2 test -r /tmp/$basefilename || exitusage "Can't read file /tmp/$basefilename" test -d $target || exitusage "$target is not a folder" targetuid=`ls -dln $target | cut -d \ -f 3` targetgid=`ls -dln $target | cut -d \ -f 4` mv /tmp/$basefilename $target chown $targetuid:$targetgid $target/$basefilename chmod 644 $target/$basefilename