Сценарий, вероятно, вызывается с /bin/sh
, который не понимает ~
. Попробуйте его полным путем к ~
вместо этого.
С ProFtpd можно использовать директиву DefaultRoot для chroot пользователей в их дерево корневого каталога. В Вашем наборе proftpd.conf
DefaultRoot ~
заблокировать всех пользователей. Существует больше обсуждения в ссылке выше и здесь также.
Вам нужна chroot тюрьма.
Вот то, как можно достигнуть этого при использовании vsftp. http://www.cyberciti.biz/tips/vsftp-chroot-users-limit-to-only-their-home-directory.html
Вы могли бы также хотеть рассмотреть использование publicfile вместо этого.