Normalmente, os shells Korn e Bash têm um modo " shell restrito ". Chegar a um shell restrito pode ser tão fácil quanto digitar rsh (evite "shell remoto" - definitivamente não é uma boa ideia em 2012) ou rbash . Mas não tenho certeza do que você quer.
O protocolo FTP pode permitir que um cliente envie comandos arbitrários (com QUOTE), mas o servidor FTP ( ftpd ) provavelmente não deve simplesmente executar qualquer coisa. Os servidores FTP têm um longo histórico de problemas de segurança, parte devido ao protocolo FTP em si, parte devido à programação desleixada ou a erros sutis.
Usando ftp (o programa cliente), você pode fazer uma listagem de arquivos na máquina ftpd (programa do servidor) ou pode obter a ftpd para alterar diretórios, mas mesmo se você atribuir um shell restrito ao ID do usuário "ftp", não conseguirá que o ftp client faça coisas arbitrárias no servidor FTP (a máquina).
Você pode obter o que deseja configurando um ID do usuário com um shell restrito e, em seguida, permitindo o acesso SSH por esse ID do usuário. Eu não posso contar a sua pergunta.