Инструменты пользователя

Инструменты сайта


ftpd

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

ftpd [2018/11/23 14:27] (текущий)
Строка 1: Строка 1:
 +====== ftpd сервер ======
 +Существует множество очень функциональных ftp-серверов,​ однако для использования в «личных» целях, как правило,​ вполне достаточно возможностей входящей в состав [[FreeBSD]] программы [[ftpd]]. Программа ftpd представляет собой достаточно простой ftp-сервер. В отличие от таких инструментов,​ как [[ProFTPd]],​ [[Pure-FTPd]] и других,​ ftpd не имеет развитых средств конфигурирования,​ работы с правами доступа и т. д. Однако если вы не собираетесь строить публичный ftp-сервер,​ то его возможностей вам вполне хватит для организации «бытовых» функций,​ таких как обмен файлами между сервером и вашей рабочей машиной,​ например,​ для размещения HTML-страниц на веб-сервере или настройки простейшего резервирования.
  
 +Сервер ftpd, по умолчанию может обслуживать как активные,​ так и пассивные соединения (в том числе и расширенные),​ режим работы для конкретного сеанса определяется клиентом.
 +===== Как работает ftpd =====
 +Сервер ftpd поддерживает авторизованный и анонимный доступ. В любом случае в начале каждого сеанса проводится аутентификация пользователя,​ после чего пользователь авторизуется для работы в соответствие со следующими условиями:​
 +  * Если пользователь имеет пустой пароль,​ либо его оболочка по умолчанию отсутствует в /​etc/​shells,​ либо его имя (или наименование группы,​ членом которой он является) указано в файле /​etc/​ftpusers,​ то соединение разрывается – такому пользователю запрещен доступ по ftp.
 +  * Когда имя пользователя или его группа указаны в файле /​etc/​ftpchroot,​ то разрешается ограниченный доступ – пользователь может работать только в пределах своего домашнего каталога.
 +  * В случае,​ когда в качестве имени указано ftp или anonymous, соединение рассматривается как анонимное.
 +  * Если же ни одно из приведенных выше условий не выполнено,​ то в случае указания правильного пароля пользователь получает ftp-доступ ко всей файловой системе согласно имеющимся у него правам.
 +
 +===== Настройка ftpd =====
 +Настройка ftpd для [[FreeBSD]] (для [[Linux]] больших отличий быть не может):​
 +  * Для включение ftpd нужно раскоментировать одну строку в inetd.conf и перезапустить inetd<​file>​
 +> ee /​etc/​inetd.conf
 +ftp     ​stream ​ tcp     ​nowait ​ root    /​usr/​libexec/​ftpd ​      ftpd -l
 +> /​etc/​rc.d/​inetd restart
 +</​file>​Некоторые настройки сервера,​ в том числе и касающиеся ограничения доступа,​ можно выполнить с помощью ключей командной строки. Если вы запускаете ftpd из inetd, добавьте нужные параметры в соответствующей строке файла inetd.conf (по умолчанию там записан только ключ l).
 +  * Для протоколирования даемон ftpd использует сообщения [[syslog]].<​file>​
 +> ee /​etc/​syslog.conf
 +ftp.info ​                                       /​var/​log/​xferlog
 +</​file>​
 +  * В файле /​etc/​ftpusers находится список пользователей,​ которым запрещен доступ по FTP. По умолчанию он включает системные учетные записи,​ но в него можно добавить и определенных пользователей,​ которым будет запрещен доступ по FTP.
 +  * **Анонимный доступ**:​ Для анонимного FTP доступа на сервер,​ в системе FreeBSD необходимо создать пользователя ftp. Этот пользователь сможет входить на FTP сервер с именем пользователя ftp или anonymous, с любым паролем (существует соглашение об использовании почтового адреса пользователя в качестве пароля). FTP сервер выполнит chroot при входе пользователя anonymous для ограничения доступа только домашним каталогом пользователя ftp.  У этого пользователя должна быть «легальная» оболочка (одна из указанных в /​etc/​shells). Также у него не может быть пустого пароля.
 +  * Существуют два текстовых файла, определяющих сообщение,​ отправляемое FTP клиентам. Содержимое файла /​etc/​ftpwelcome будет выведено пользователям перед приглашением на вход. После успешного входа будет выведено содержимое файла /​etc/​ftpmotd. Обратите внимание,​ что путь к этому файлу задается относительно домашнего каталога пользователя,​ так что анонимным пользователям будет отправляться ~ftp/​etc/​ftpmotd.
 +  * **Ограниченный доступ**:​ Вам может понадобиться ограничить доступ определенных пользователей без полного запрета использования FTP. Это можно сделать через файл /​etc/​ftpchroot. В нем находится список пользователей и групп, к которым применяется ограничение доступа. В том случае,​ если имя пользователя присутствует в файле /​etc/​ftpchroot,​ то соответствующий процесс запускается в chroot-окружении,​ ограничивая пользователю доступ только его домашним каталогом (или тем, который указан во втором поле файла ftpchroot). При необходимости организовать такую работу для большого числа пользователей (например,​ дать всем абонентам доступ для обновления своих домашних веб-страничек),​ в ftpchroot можно указать общую для них группу,​ предварив ее имя символом @. Во втором поле дополнительно может быть указан каталог,​ который следует использовать в качестве корневого для соответствующего пользователя или группы. Вот пример такого файла:<​file>​
 +vasya
 +petya  /​var/​db/​petya
 +@dialup
 +</​file>​Теперь Вася и все пользователи группы dialup смогут работать только в пределах своих домашних каталогов,​ а для Пети в качестве рабочей будет определена указанная папка /​var/​db/​petya. С помощью разделителя /./ можно указать каталог,​ отличающийся от корневого,​ который станет текущим:<​file>​
 +serg  /​home/​serg/​./​public_html
 +</​file>​В данном случае для пользователя serg доступ будет ограничен каталогом /home/serg, но в качестве текущего при входе на сервер установится /​home/​serg/​public_html.
 +
 +====== Ссылки ======
 +  * [[http://​yapro.ru/​web-master/​unix/​freebsd-tips-kakimi-vozmojnostyami-obladaet-ftpd.html|FreeBSD tips: какими возможностями обладает ftpd]]
 +  * [[http://​www.freebsd.org/​doc/​ru/​books/​handbook/​network-ftp.html|Протокол передачи файлов (FTP)]]
загрузка...
ftpd.txt · Последние изменения: 2018/11/23 14:27 (внешнее изменение)