Вот код ftp_serv.py:
from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer authorizer = DummyAuthorizer() authorizer.add_user('ftp_user', '123', '/home', perm='elradfmw') handler = FTPHandler handler.authorizer = authorizer server = FTPServer(('myhost', 21), handler) server.serve_forever()
Подключаюсь к серверу через утилиту ftp в LinuxMint(наверно она стандартная для всех Deb/Ubun-производных)
user1@user1PC ~ $ ftp myhost
Connected to myhost.
220 pyftpdlib 1.0.1 ready.
Name (myhost:user1): ftp_user
331 Username ok, send password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
Теперь начинаются непонятки(с ftp раньше дела не имел). Из команд, которые пробовал(pwd, ls, dir, put, get), работает только pwd:
ftp> pwd
257 "/" is the current directory.
ftp> ls
421 Service not available, remote server has closed connection
Как видно команда ls возвращает код 421. Остальные команды возвращают этот же ответ. Помогите разобраться в чем причина? Сервер ли это виноват, клиент ли, может с правами пользователя как то надо поработать?
421 - Процедура не возможна, канал закрывается