За основу взяты статьи:
Мы будем использовать легкий и эффективный FTP-сервер vsFTPd, предназначенный для работы на высоконагруженных серверах. Далее в этой статье мы будем говорить просто об FTP-сервере, подразумевая vsFTPd.
1. Что такое FTP
FTP расшифровывается как File Transfer Protocol - протокол передачи данных. Название подразумевает, что этот протокол используется для передачи файлов или директорий с одного хоста на другой по сети - как локальной, так и через интернет.
2. Установка FTP-сервера в Ubuntu
Чтобы установить vsftpd откройте консоль и выполните команду:
sudo apt-get install vsftpdSetting up vsftpd (2.3.5-1ubuntu2) ...
vsftpd start/running, process 1891
3. Варианты запуска службы FTP
start или stop - используется для запуска или остановки ftp-сервера.
status - выводит подробную информацию о текущем состоянии вашего FTP-сервера.
restart - это альтернатива последовательности из остановки и запуска сервера. Если сервер уже остановлен, команда restart запустит его.
reload - эта команда позволяет перезагрузить и применить все новые настройки. Ее отличие от restart заключается в том, что применение новых настроек производится без остановки сервера.
Чтобы выполнить данные команды, напечатайте:
sudo start/stop/status/restart/reload vsftpd
Однако автономный режим менее гибкий, inetd старый, так что рекомендуется запускать vsftp через xinetd. В нем есть такие вещи как регистрация запросов, контроль доступа, привязка сервиса к определенному сетевому интерфейсу и т.д.
4. Запуск службы FTP через xinetd
Устанавливаем суперсервер xinetd:
sudo apt-get install xinetdПриведенная выше команда устанавливает и запускает суперсервер xinetd. В случае, если он у вас уже установлен, эта команда не нужна. Далее, создайте файл vsftpd в директории /etc/xinetd.d/ со следующим содержимым:
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
per_source = 5
instances = 200
no_access = 10.1.1.10
banner_fail = /etc/vsftpd.busy
log_on_success += PID HOST DURATION
log_on_failure += HOST
}
Опции, на которые стоит обратить внимание:
server - введите в командной строке "$ which vsftpd", чтобы узнать правильный путь.
no_access - все хосты с IP-адресами, указанными в этой директиве, будут блокированы.
banner_fail - здесь можно указать путь к текстовому файлу, содержимое которого будет показано для любых блокированных IP-адресов.
Далее нам необходимо отредактировать конфигурационный файл FTP-сервера /etc/vsftpd.conf, заменив строку
listen=YES
на
listen=NO
Эта директива даст команду FTP-серверу не открывать никаких портов, полностью перепоручив их суперсерверу xinetd. Перед тем, как запустить сервер в нормальном режиме, убедитесь, что демон vsftpd отключен:
sudo service vsftpd stop
Теперь можно запустить FTP-сервер с помощью команды:
sudo service xinetd restart
Чтобы убедиться в нормальной работе FTP-сервера, протестируйте и откройте порт 21 с помощью команды netstat:
5. Настройка FTP сервера
Примечание: при внесении любых изменений в настройки FTP-сервера не забудьте воспользоваться командой restart/reload, чтобы активировать их.
5.1 Настройка пользовательского доступа
5.1 Настройка пользовательского доступа
vsftpd позволяет предоставить либо анонимный доступ, либо пользователям из файла /etc/passwd, либо из своего собственного списка.
Анонимный доступ
Примечание: Открывать анонимный доступ опасно, а анонимный доступ без пароля еще опаснее. Это плохая идея. Лучше не делайте так, а просто почитайте для справки.
Чтобы предоставить анонимный доступ, в конфигурационном файле задайте директиве anonymous_enable значение YES:
Примечание: Открывать анонимный доступ опасно, а анонимный доступ без пароля еще опаснее. Это плохая идея. Лучше не делайте так, а просто почитайте для справки.
Чтобы предоставить анонимный доступ, в конфигурационном файле задайте директиве anonymous_enable значение YES:
anonymous_enable=YES
Для доступа без пароля дополнительно пропишите:
Теперь доступ к FTP серверу можно получить через пользователя anonymous. Для этого просто введите команду ftp с аргументом localhost или ip адресом вашего сервера:
$ ftp localhost
Connected to localhost.
220 (vsFTPd 2.3.5)
Name (localhost:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> quit
221 Goodbye.
Доступ локальных пользователей
Чтобы позволить авторизоваться всем пользователям, указанным в файле /etc/passwd, необходимо изменить значение директивы local_enable в файле /etc/vsftpd.conf.
Список доступа пользователей
Сначала создадим список доступа, используемый сервером vsFTPd. Обычно вы можете задать его в директории /etc/. Создайте файл с произвольным именем и перечислите в нем всех пользователей, которым вы хотите разрешить или запретить доступ. Например, давайте создадим новый список с единственным пользователем "root":
userlist_file=/etc/vsftpd.userlist userlist_enable=YES
$ ftp localhost Connected to localhost. 220 (vsFTPd 2.3.5) Name (localhost:root): lubos 530 Permission denied. Login failed. ftp>
5.2 Другие настройки
На сегодняшний день vsFTPd имеет 125 опций конфигурации. Это делает его очень гибким в настройке и в то же время простым в использовании и администрировании. Хотите ли вы использовать его дома, в пределах корпоративной сети, или на удаленном сервере, вы можете быть уверены, что vsFTPd полностью удовлетворит ваши нужды.
Список настроек можно посмотреть тут:
http://www.lissyara.su/doc/man/vsftpd/
Список команд можно посмотреть тут:
http://www.nsftools.com/tips/RawFTP.htm
http://www.lissyara.su/doc/man/vsftpd/
Список команд можно посмотреть тут:
http://www.nsftools.com/tips/RawFTP.htm
Комментариев нет:
Отправить комментарий