Создать поддельную оболочку в Linux?

Создать поддельную оболочку в Linux?

Я не говорю о программировании оболочек или создании совершенно новой оболочки, такой как Bourne или Korn Shell...

Я просто хочу, чтобы пользователь, получающий доступ к FTP через порт 21, был перенаправлен на эту оболочку, которая может поддерживать некоторые из основных команд, используемых оболочкой!

Я искал то же самое в Google... но не нашел никаких удовлетворительных результатов.

решение1

Обычно оболочки Korn и Bash имеют "ограниченная оболочка" режим. Попасть в ограниченную оболочку можно так же просто, как набрать rsh(избегайте "remote shell" - определенно не лучшая идея в 2012 году) или rbash. Но я не уверен, что вы хотите.

Протокол FTP может позволить клиенту отправлять произвольные команды (с QUOTE), но сервер FTP ( ftpd), вероятно, не должен просто выполнять все, что он получает. У серверов FTP долгая история проблем безопасности, отчасти из-за самого протокола FTP, отчасти из-за небрежного программирования или тонких ошибок.

Используя ftp(клиентскую программу), вы можете получить доступ к списку файлов на ftpdмашине (серверной программе) или изменить ftpdкаталоги, но даже если вы назначите ограниченную оболочку идентификатору пользователя «ftp», вы не заставите клиента ftpвыполнять произвольные действия на FTP-сервере (машине).

Вы можете получить то, что хотите, настроив идентификатор пользователя с ограниченной оболочкой, а затем разрешив доступ SSH для этого идентификатора пользователя. Я не могу понять из вашего вопроса.

Связанный контент