ssfs annotate ssfs-sh @ rev 46
ssfs-sh: quote everything so it work
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sun Jun 12 18:21:50 2011 +0200 (2011-06-12) |
parents | ae4fbb9cbaf5 |
children | 9cb82082540d |
rev | line source |
---|---|
pankso@29 | 1 #!/bin/sh |
pankso@29 | 2 # |
pankso@29 | 3 # Ssfs users SHell - Chroot user into the virtual disk on login. This tool must |
paul@33 | 4 # be installed on the server and in the vdisk chroot, it is executed when logging |
paul@33 | 5 # in and when chrooting. |
pankso@29 | 6 # |
pankso@40 | 7 # Copyright (C) SliTaz GNU/Linux - BSD License |
pankso@40 | 8 # Author: Christophe Lincoln <pankso@slitaz.org> |
pankso@40 | 9 # |
pankso@29 | 10 |
pankso@45 | 11 # Handle rsync first, user is chrooted after. |
pankso@45 | 12 case "$@" in |
pankso@45 | 13 *rsync*) exec /bin/sh "$@" ;; |
pankso@45 | 14 esac |
pankso@45 | 15 |
paul@33 | 16 # Ssfs server config doesn't exist in chroot. |
pankso@29 | 17 if [ -f /etc/ssfs/ssfs-server.conf ]; then |
pankso@29 | 18 . /etc/ssfs/ssfs-server.conf |
pankso@29 | 19 root=$SSFS_CHROOT |
pankso@29 | 20 # Make sure it's a valid Ssfs user. |
pankso@29 | 21 [ -d "$root/home/$USER" ] || exit 0 |
pankso@46 | 22 exec chroot $root /bin/ssfs-sh "$@" |
pankso@29 | 23 else |
pankso@29 | 24 # Chroot will drop user into /, so set new HOME and cd. Set also |
paul@33 | 25 # some env variables but don't source any profile. |
pankso@38 | 26 echo -e "\n\033[1m Welcome to the Ssfs SHell $USER\033[0m\n" |
pankso@39 | 27 PS1='\u@\h\e[0m:\e[1;34m\w\e[0m\$ ' |
pankso@29 | 28 HOME=/home/$USER |
pankso@29 | 29 SYNC=$HOME/Sync |
pankso@29 | 30 SHELL=/bin/sh |
pankso@42 | 31 export PS1 HOME SYNC SHELL |
pankso@42 | 32 cd $HOME |
pankso@42 | 33 [ "$cmd" ] || exec /bin/sh |
pankso@46 | 34 exec /bin/sh "$@" |
pankso@29 | 35 fi |