Não estou falando sobre programação de shell ou de criar um shell totalmente novo como Bourne ou Korn Shell....
Eu só quero que um usuário acessando o FTP pela porta 21 seja direcionado para este shell que pode suportar alguns dos comandos básicos que um shell usa!
Pesquisei o mesmo no Google ... mas não encontrei nenhum resultado satisfatório.
Responder1
Normalmente, os shells Korn e Bash têm um "shell restrito" Modo. 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ê deseja.
O protocolo FTP pode permitir que um cliente envie comandos arbitrários (com QUOTE), mas o servidor FTP ( ftpd
) provavelmente não deveria apenas executar tudo o que recebe. Os servidores FTP têm um longo histórico de problemas de segurança, em parte devido ao próprio protocolo FTP, em parte devido a programação desleixada ou erros sutis.
Usando ftp
(o programa cliente), você pode conseguir fazer uma listagem de arquivos na ftpd
máquina (programa servidor) ou pode conseguir ftpd
alterar os diretórios, mas mesmo se você atribuir um shell restrito ao ID do usuário "ftp ", você não fará com que o ftp
cliente faça coisas arbitrárias no servidor FTP (a máquina).
Você pode conseguir o que deseja configurando um ID de usuário com um shell restrito e, em seguida, permitindo o acesso SSH por esse ID de usuário. Não posso dizer pela sua pergunta.