Практическое использование в FreeBSD sftp и ftp.
Рассмотрим два варианта передачи данных на сервер и с него.
Для себя я определи, что sftp лучше, практичнее и безопаснее.
Опишу использования sftp.
Настройки ssh.
# cat /etc/ssh/sshd_config
# Добавляем в конец файла.
# Уже имеющую строку (Subsystem), комментируем # и вставляем эту.
Subsystem sftp internal-sftp
Match User наш_пользователь
ChrootDirectory /usr/local/www
AllowTCPForwarding no
X11Forwarding no
Создадим пользователя, с помощью которого и будим попадать на сервер.
# pw useradd наш_пользователь -G www -s /bin/tcsh -m -d /usr/local/www/наш_сайт
- G Добавляем в вэб группу.
- s Указываем какую оболочку(шел),пользователь будит использовать.
- m Создаем домашнею директорию для пользователя.
- d Путь к домашней директории пользователя.
Для того чтобы chroot заработал, нужно изменить права на директорию сайта.
# chown root:наш_пользователь /usr/local/www/наш_сайт
Говорим вэб серверу, запускать сервер от нашего пользователя.
Перезагружаем вэб сервер.
Перезагружаем ssh.
# /etc/rc.d/sshd restart
И пробуем зайти.
Теперь мы попадем сразу в директорию /usr/local/www/ выше этой директории пользователь не сможет пойти.
Вот и все, теперь как реализовать передачу данных через простой фтп.
Опишу использования sftp.
Оповестим систему, что мы хотим использовать фтп.
# echo 'ftpd_enable="YES"' >> /etc/rc.conf
Создаем пользователя.
Как создать пользователя в системе FreeBSD написано чуть выше.
Создали пользователя, теперь позаботимся о безопасности, сделаем chroot в домашнею директорию вэб сервера.
Тем самым пользователь после авторизации будит попадать сразу в директорию вэб сервер(/usr/local/www/наш_сайт).
# echo "наш_пользователь /usr/local/www/наш_сайт" > /etc/ftpchroot
Запускаем фтп.
# /etc/rc.d/ftpd start
И пробуем зайти.
Вот вся настройка в FreeBSD sftp и ftp соединений.