Se você não quer hackar o código openssh, você tem que usar o servidor sftp externo. Se você fizer isso, é uma questão simples de colocar um wrapper em torno dele. Por exemplo: em sshd_config
Subsystem sftp /usr/local/bin/sftp-server
Em /usr/local/bin/sftp-server
:
#!/bin/sh
mount_special_fs
chroot /my/secret/stuff /usr/libexec/openssh/sftp-server
umount_special_fs
É possível colocar um wrapper em torno de sshd
e lançar o wrapper a partir de inetd
, mas a inicialização de sshd
de inted
é desencorajada porque é lenta a inicialização.