diff options
| -rw-r--r-- | ezjail-config.sh | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/ezjail-config.sh b/ezjail-config.sh index 85d35e3..69a93f4 100644 --- a/ezjail-config.sh +++ b/ezjail-config.sh | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | # | 2 | # |
| 3 | # BEFORE: rcconf | 3 | # BEFORE: rcconf |
| 4 | 4 | ||
| 5 | set -o noglob | ||
| 5 | if [ -f /etc/ezjail.flavour ]; then | 6 | if [ -f /etc/ezjail.flavour ]; then |
| 6 | . /etc/ezjail.flavour | 7 | . /etc/ezjail.flavour |
| 7 | 8 | ||
| @@ -18,12 +19,11 @@ ezjail_flavour_packages=${ezjail_flavour_packages:-""} | |||
| 18 | # try to create users | 19 | # try to create users |
| 19 | for user in $ezjail_flavour_users; do | 20 | for user in $ezjail_flavour_users; do |
| 20 | TIFS=$IFS; IFS=:; set -- $user; IFS=$TIFS | 21 | TIFS=$IFS; IFS=:; set -- $user; IFS=$TIFS |
| 21 | |||
| 22 | if [ $# -eq 8 ]; then | 22 | if [ $# -eq 8 ]; then |
| 23 | gc=1; name=$1; grouplist=$3; gidlist=$4; home=$7 | 23 | gc=1; name=$1; grouplist=$3; gidlist=$4; home=$7 |
| 24 | 24 | ||
| 25 | [ $2 ] && uid="-u $2" || uid="" | 25 | [ $2 ] && uid="-u $2" || uid="" |
| 26 | [ $5 ] && comment="-c \"`echo $5 | tr _ ' '`\"" || comment="" | 26 | [ $5 ] && comment="-c$5" || comment="" |
| 27 | [ $6 ] && pass="$6" || pass="*" | 27 | [ $6 ] && pass="$6" || pass="*" |
| 28 | [ $8 ] && shell="-s $8" || shell="" | 28 | [ $8 ] && shell="-s $8" || shell="" |
| 29 | 29 | ||
| @@ -40,7 +40,7 @@ for user in $ezjail_flavour_users; do | |||
| 40 | fi | 40 | fi |
| 41 | # create user | 41 | # create user |
| 42 | [ $grouplist ] && grouplist="-G $grouplist" | 42 | [ $grouplist ] && grouplist="-G $grouplist" |
| 43 | [ $name ] && echo "$pass" | pw useradd -n $name $uid $shell $mkhome $home $grouplist $comment -H 0 | 43 | [ $name ] && echo "$pass" | pw useradd -n $name $uid $shell $mkhome $home $grouplist "`echo $comment | tr = ' '`" -H 0 |
| 44 | fi | 44 | fi |
| 45 | done | 45 | done |
| 46 | 46 | ||
| @@ -48,18 +48,20 @@ done | |||
| 48 | cd $ezjail_flavour_root | 48 | cd $ezjail_flavour_root |
| 49 | for file in $ezjail_flavour_files; do | 49 | for file in $ezjail_flavour_files; do |
| 50 | TIFS=$IFS; IFS=:; set -- $file; IFS=$TIFS | 50 | TIFS=$IFS; IFS=:; set -- $file; IFS=$TIFS |
| 51 | 51 | set +o noglob | |
| 52 | if [ $# -eq 3 -a "$3" ]; then | 52 | if [ $# -eq 3 -a "$3" ]; then |
| 53 | owner=$1; [ $2 ] && owner="$1:$2" | 53 | owner=$1; [ $2 ] && owner="$1:$2" |
| 54 | for file in $3; do | 54 | for file in ./$3; do |
| 55 | find ${file#/} | cpio -p -l -d / | 55 | find ${file} | cpio -p -d / |
| 56 | chown -R $owner $file | 56 | chown -R $owner /$file |
| 57 | done | 57 | done |
| 58 | fi | 58 | fi |
| 59 | set -o noglob | ||
| 59 | done | 60 | done |
| 60 | 61 | ||
| 61 | # finally install packages | 62 | # finally install packages |
| 62 | [ -d /basejail/config/pkg ] && cd /basejail/config/pkg | 63 | [ -d /basejail/config/pkg ] && cd /basejail/config/pkg |
| 64 | set +o noglob | ||
| 63 | [ "${ezjail_flavour_packages}" ] && pkg_add ${ezjail_flavour_packages} | 65 | [ "${ezjail_flavour_packages}" ] && pkg_add ${ezjail_flavour_packages} |
| 64 | 66 | ||
| 65 | # Get rid off ourself | 67 | # Get rid off ourself |
