ssfs annotate ssfs-sh @ rev 29
Add ssfs-sh - Ssfs SHell for chrooted users with minimal env vars, also needed since chroot drop user to / by default
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sun Jun 12 09:49:52 2011 +0200 (2011-06-12) |
parents | |
children | 95b88686a283 |
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 |
pankso@29 | 4 # be installed on server and in the vdisk chroot, it is executed when login and |
pankso@29 | 5 # when chrooting. |
pankso@29 | 6 # |
pankso@29 | 7 |
pankso@29 | 8 # Ssfs server config dont exist in chroot. |
pankso@29 | 9 if [ -f /etc/ssfs/ssfs-server.conf ]; then |
pankso@29 | 10 . /etc/ssfs/ssfs-server.conf |
pankso@29 | 11 root=$SSFS_CHROOT |
pankso@29 | 12 # Make sure it's a valid Ssfs user. |
pankso@29 | 13 [ -d "$root/home/$USER" ] || exit 0 |
pankso@29 | 14 clear && exec chroot $root /bin/ssfs-sh |
pankso@29 | 15 else |
pankso@29 | 16 # Chroot will drop user into /, so set new HOME and cd. Set also |
pankso@29 | 17 # some env variables but dont source any profile. |
pankso@29 | 18 echo -e "\nWelcome to Ssfs SHell $USER\n" |
pankso@29 | 19 HOME=/home/$USER |
pankso@29 | 20 SYNC=$HOME/Sync |
pankso@29 | 21 SHELL=/bin/sh |
pankso@29 | 22 PS1='\u@ssfs:\e[1;33m\w\e[0m\$ ' |
pankso@29 | 23 export HOME SYNC SHELL PS1 |
pankso@29 | 24 cd $HOME && exec /bin/sh $@ |
pankso@29 | 25 fi |