
No me refiero a la programación de shells ni a crear un shell completamente nuevo como Bourne o Korn Shell...
¡Solo quiero que un usuario que acceda a ftp a través del puerto 21 sea dirigido a este shell que puede admitir algunos de los comandos básicos que usa un shell!
Busqué en Google lo mismo... pero no encontré ningún resultado satisfactorio.
Respuesta1
Por lo general, los shells Korn y Bash tienen un "caparazón restringido". Llegar a un shell restringido puede ser tan fácil como escribir rsh
(evite "shell remoto", definitivamente no es una buena idea en 2012) o rbash
. Pero no estoy seguro de lo que quiere.
El protocolo FTP podría permitir a un cliente enviar comandos arbitrarios (con QUOTE), pero el servidor FTP ( ftpd
) probablemente no debería simplemente ejecutar cualquier cosa que reciba. Los servidores FTP tienen un largo historial de problemas de seguridad, en parte debido al propio protocolo FTP, en parte debido a una programación descuidada o errores sutiles.
Al usar ftp
(el programa cliente), es posible que tenga la capacidad de hacer una lista de archivos en la ftpd
máquina (programa del servidor), o puede que tenga la capacidad de ftpd
cambiar directorios, pero incluso si asigna un shell restringido al ID de usuario "ftp ", no conseguirá que el ftp
cliente haga cosas arbitrarias en el servidor FTP (la máquina).
Puede obtener lo que desea configurando una ID de usuario con un shell restringido y luego permitiendo el acceso SSH a esa ID de usuario. No puedo decirlo por tu pregunta.