diff options
Diffstat (limited to 'trunk/lib/common.sh')
-rw-r--r-- | trunk/lib/common.sh | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/trunk/lib/common.sh b/trunk/lib/common.sh index d0fde3c..5785223 100644 --- a/trunk/lib/common.sh +++ b/trunk/lib/common.sh @@ -334,7 +334,7 @@ function search_default_template { function search_template { # determine the template to be used - # usage: <search-template> <template-name> [--new | --update] + # usage: search-template <template-name> [--new | --update] # # templates can be stored either on @@ -409,3 +409,41 @@ function get_group { } +function copy_template_files { + + # copy template files into jail + # usage: copy_template_files <jail-path> + + if [ -d "$1" ]; then + echo "$BASENAME: copying template files..." + if [ -d "$TEMPLATE_BASE.d" ]; then + if [ "$TEMPLATES_UNDER_SVN" == "1" ]; then + rsync -av --exclude=.svn $TEMPLATE_BASE.d/ $JAIL_ROOT/$server/ + else + rsync -av $TEMPLATE_BASE.d/ $JAIL_ROOT/$server/ + fi + fi + fi + +} + +function set_jail_perms { + + # set template file permissions under a jail + # usage: set_jail_perms <jail-path> + + if [ -s "$TEMPLATE_BASE.perms" ]; then + cat $TEMPLATE_BASE.perms | while read entry; do + file="`echo $entry | cut -d ";" -f 1`" + if [ -a "$TEMPLATE_BASE.d/$file" ] && [ -a "$1/$file" ]; then + owner="`echo entry | cut -d ";" -f 2`" + group="`echo entry | cut -d ";" -f 3`" + perms="`echo entry | cut -d ";" -f 4`" + chmod $perms $1/$file + chown $owner:$group $1/$file + fi + done + fi + +} + |