Rose debug info
---------------

Простая установка FTP-сервера на FreeBSD.

На самом деле по умолчанию во freebsd уже установлен ftp-сервер, нам нужно его только сконфигурировать.
Выполняем для добавления запуска ftp в /etc/rc.conf.

# echo 'ftpd_enable="YES"' >> /etc/rc.conf
# echo 'ftpd_flags="-l -l"' >> /etc/rc.conf

Далее смотрим файл /etc/ftpusers, тут указаны пользователи которым запрещён доступ к ftp.

# cat /etc/ftpusers

При необходимости редактируем его.
Затем чтобы разрешить доступ пользователя к каталогу выполним.

# echo 'user /var/www/site.ru' >> /etc/ftpchroot

Где user — существующий на сервере пользователь, а  /var/www/site.ru — его каталог.
Запускаем ftp-сервер

# /etc/rc.d/ftpd start

И пробуем подключится с логином и паролем user.

Р.S.: Если у user в качестве shell используется /sbin/nologin, то подключение не произойдет. FTP-клиент сообщит что-то типа:

access denied

а в логах сервера будет:

ftpd: connection from 10.8.0.1 (10.8.0.1)
ftpd: FTP LOGIN REFUSED FROM 10.8.0.1, user

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

# pw usershow user

В этом случае нам нужно создать /sbin/nologin-ftp и прописать его у пользователя вместо /sbin/nologin. Делается это очень просто:

# echo '/sbin/nologin-ftp' >> /etc/shells
# ln -s /usr/sbin/nologin /sbin/nologin-ftp
# pw usermod user -s /sbin/nologin-ftp

Теперь подключение должно происходить без проблем.

Поделиться
Отправить
2015   Freebsd   ftp   ftpd   nologin   nologin-ftp