четверг, 30 января 2014 г.

Активный и пассивный режим работы FTP

При работе по протоколу FTP между клиентом и сервером устанавливается два соединения – управляющее (по нему идут команды) и соединение передачи данных (по нему передаются файлы).
Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит «Привет! Я хочу подключится к тебе. Вот мое имя и мой пароль». Дальнейшие действия зависят от того, какой режим FTP (Активный или Пассивный) выбран.

В активном режиме, когда клиент говорит «Привет!» он так же сообщает серверу номер порта (из динамического диапазона 1024-65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения для передачи данных. FTP-сервер подключается к заданному номеру порта клиента используя со своей стороны номер TCP-порта 20 для передачи данных.

В пассивном режиме, после того как клиент сказал «Привет!», сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключится для установки соединения передачи данных.

Главное отличие между активным режимом FTP и пассивным режимом FTP – это сторона, которая открывает соединение для передачи данных. В активном режиме, клиент должен принять соединение от FTP-сервера. В пассивном режиме, клиент всегда инициирует соединение.

Основные команды

ABOR — Прервать передачу файла
CDUP — Сменить директорию на вышестоящую.
CWD — Сменить директорию.
DELE — Удалить файл (DELE filename).
EPSV — Войти в расширенный пассивный режим. Применяется вместо PASV.
HELP — Выводит список команд, принимаемых сервером.
LIST — Возвращает список файлов директории. Список передаётся через соединение данных.
MDTM — Возвращает время модификации файла.
MKD — Создать директорию.
NLST — Возвращает список файлов директории в более кратком формате, чем LIST. Список передаётся через соединение данных.
NOOP — Пустая операция
PASV — Войти в пассивный режим. Сервер вернёт адрес и порт, к которому нужно подключиться, чтобы забрать данные. Передача начнётся при введении следующих команд: RETR, LIST и т.д.
PORT — Войти в активный режим. Например PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.
PWD — Возвращает текущую директорию.
QUIT — Отключиться
REIN — Реинициализировать подключение
RETR — Скачать файл. Перед RETR должна быть команда PASV или PORT.
RMD — Удалить директорию
RNFR и RNTO — Переименовать файл. RNFR — что переименовывать, RNTO — во что.
SIZE — Возвращает размер файла
STOR — Закачать файл. Перед STOR должна быть команда PASV или PORT.
SYST — Возвращает тип системы (UNIX, WIN, …)
TYPE — Установить тип передачи файла (бинарный, текстовый)
USER — Имя пользователя для входа на сервер

Полный список кодов ответов FTP сервера

100 Запрошенное действие инициировано, дождитесь следующего ответа прежде, чем выполнять новую команду.
110 Комментарий
120 Функция будет реализована через nnn минут
125 Канал открыт, обмен данными начат
150 Статус файла правилен, подготавливается открытие канала
200 Команда корректна
202 Команда не поддерживается
211 Системный статус или отклик на справочный запрос
212 Состояние каталога
213 Состояние файла
214 Справочное поясняющее сообщение
215 Выводится вместе с информацией о системе по команде SYST
220 Служба готова для нового пользователя.
221 Благополучное завершение по команде quit
225 Канал сформирован, но информационный обмен отсутствует
226 Закрытие канала, обмен завершен успешно
227 Переход в пассивный режим (h1,h2,h3,h4,p1,p2).
228 переход в длинный пассивный режим (длинный адрес, порт).
229 Переход в расширенный пассивный режим (|||port|).
230 Пользователь идентифицирован, продолжайте
231 Пользовательский сеанс окончен; Обслуживание прекращено.
232 Команда о завершении сеанса принята, она будет завершена по завершении передачи файла.
250 Запрос прошёл успешно
257 «ПУТЬ» создан.
331 Имя пользователя корректно, нужен пароль
332 Для входа в систему необходима аутентификация
350 Запрошенное действие над файлом требует большей информации
404 Данный удалённый сервер не найден
421 Процедура не возможна, канал закрывается
425 Открытие информационного канала не возможно
426 Канал закрыт, обмен прерван
434 Запрашиваемый хост недоступен
450 Запрошенная функция не реализована, файл не доступен, например, занят
451 Локальная ошибка, операция прервана
452 Ошибка при записи файла (недостаточно места)
500 Синтаксическая ошибка, команда не может быть интерпретирована (возможно она слишком длинна)
501 Синтаксическая ошибка (неверный параметр или аргумент)
502 Команда не используется (нелегальный тип MODE)
503 Неудачная последовательность команд
504 Команда не применима для такого параметра
530 Вход не выполнен! Требуется авторизация (not logged in)
532 Необходима аутентификация для запоминания файла
550 Запрошенная функция не реализована, файл не доступен, например, не найден
551 Запрошенная операция прервана. Неизвестный тип страницы.
552 Запрошенная операция прервана. Выделено недостаточно памяти
553 Запрошенная операция не принята. Недопустимое имя файла.

Failed to install module libnvdimmvmxnet3

The fix is this: in /etc/dracut.conf.d/*.conf > nvdimm-security.conf > vmware-tools.conf, edit the "add_drivers" line to ...