¿Crear un shell falso en Linux?

¿Crear un shell falso en Linux?

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 ftpdmáquina (programa del servidor), o puede que tenga la capacidad de ftpdcambiar directorios, pero incluso si asigna un shell restringido al ID de usuario "ftp ", no conseguirá que el ftpcliente 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.

información relacionada