Архив рубрики: ftp

ftp centos

link

В качестве FTP сервера будем использовать VSFTPD

Справка

 

vsftpd (англ. Very Secure FTP Daemon) — FTP-сервер с поддержкой IPv6 и SSL.

Является FTP-сервером по умолчанию многих операционных систем, и обслуживает официальные репозитории ftp.debian.org, ftp.redhat.com,[1]ftp.openbsd.org, ftp.freebsd.org. А так же используется на официальном FTP ядра Linux[1] [2]

http://ru.wikipedia.org/wiki/Vsftpd

Приступаем к установке

yum install vsftpd

По окончании установки отредактируем конфиг нашего будущего FTP сервера

mcedit /etc/vsftpd/vsftpd.conf

Конфиг файла довольно легко читаем. Большинство параметров так и оставляем без изменений. Ниже я укажу лишь то, что нам нужно отредактировать или добавить.

anonymous_enable=NO

Запрещаем анонимным пользователям использовать наш сервер.

chroot_local_user=YES

Добавляем эту запись в конфиг, что бы запереть пользователя в своей домашней директории

На этом, все операции с конфигом закончены. Запускаем наш сервис

service vsftpd start

Добавляем его в «автозагрузку»

chkconfig vsftpd on

Теперь, нам необходимо добавить пользователя который, собственно и будет использоваться для подключения к FTP.

useradd FTPuser

(где FTPuser - ваш пользователь для FTP)

Задаем пароль для этого пользователя

 passwd FTPuser

И напоследок, немного «поколдуем» над правами этого пользователя. Ведь нам совсем не нужно, что бы этот юзер входил на сервер по SSH. Поэтому внесем изменения в файл /etc/passwd

mcedit /etc/passwd

Находим в этом файле следующую запись


FTPuser:x:501:501::/home/FTPuser:/bin/bash

И заменяем /bin/bash на

/sbin/nologin

Здесь же мы можем поменять домашний каталог этого пользователя (/home/FTPuser) на любой другой (например /VAR/FTP)
В итоге получаем следующий файл

FTPuser:x:501:501::/home/FTPuser:/sbin/nologin

lftp

lftp — консольный FTP-клиент для UNIX и UNIX-подобных операционных систем. Программа написана Александром Лукьяновым и распространяется по лицензии GNU GPL.

Кроме FTP программа также поддерживает протоколы FTPS, HTTP, HTTPS, HFTP, FISH и SFTP.

Итак, рассмотрим основы работы с lftp

Подключение.

Подключиться к серверу можно несколькими способами:

$ lftp ftp.something.by (анонимное подключение)

Подключиться к серверу с логином login и паролем password:

$ lftp login:password@ftp.something.by

Подключиться к серверу с логином login не указывая пароль:

$ lftp logind@ftp.something.by

в таком случае пароль будет запрошен после установки соединения, и не будет показан на экране.

Стоит заметить, что lftp по умолчанию подключается не сразу, а начинает подключаться, когда ему дадут первую команду, т.е. чтобы проверить правильность логина с паролем, лучше сразу же выполнить:

$ lftp :~> login@ftp.something.by: ls

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

help — список доступных команд;

help [command] — справка по определенной команде;

mget [file] — загрузить файл с удаленного FTP-сервера на локальную машину, по умолчанию — загрузка будет произведена в тот каталог, в котором вы находились в момент подключения к ФТП серверу;

mput [file] — закачать файл с локальной машины на удаленный FTP-сервер.

mirror [dirname] — скачать каталог с удаленного FTP-сервера на локальную машину;

mirror -R [dirname] — загрузка папки с локальной машины на удаленный FTP-сервер;

mkdir [dirname]  — создать каталог;

rmdir [dirname]  — удалить каталог;

chmod [755] — сменить права доступа на каталог или файл на 755;
exit — завершить работу и отключиться от сервера;

find [dirname] — отобразить содержимое каталога;

get[filename] — загрузить файл с удаленного FTP-сервера на локальную машину, по умолчанию — загрузка будет произведена в тот каталог, в котором вы находились в момент подключения к ФТП серверу, вот пара полезных ключей:

-E [filename]удалить файл после загрузки;

-O [dirname]указать каталог, в который необходимо загрузить файл;

lpwd — посмотреть путь и каталог на локальной машине, в котором вы в данный момент находитесь.