Raspberry Pi:Настройка/Удалённый доступ/FTP

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


FTP[1]

FTP (означает File Transfer Protocol и переводится как «протокол передачи данных») — это протокол, с помощью которого можно осуществить передачу данных между Raspberry Pi и другим компьютером. На Raspbian для этого используется установленная по умолчанию программа под названием sftp-server. С ее помощью привилегированные пользователи могут передавать файлы и даже целые директории, однако обычным пользователям тоже зачастую необходим доступ к файловой системе. Для этого потребуется настроить FTP-сервер, о чем и будет рассказано в этой статье.

Установка pure-ftpd

Для начала устанавливаем Pure-FTPd, для чего в терминал нужно ввести следующую команду:

sudo apt-get install pure-ftpd

Базовые настройки

Теперь создаем новую группу пользователей (ftpgroup) и нового пользователя, который будет находиться в этой группе (ftpuser). Кроме того, нужно сделать так, чтобы этот «пользователь» не имел домашней директории и залогинивался безо всяких привелегий.

groupadd ftpgroup;
useradd ftpuser -g ftpgroup -s /sbin/nologin –d /dev/null

Домашняя директория, виртуальный пользователь и группа пользователей (для FTP)

Начнем с самого первого пользователя — pi. Создадим для него новую домашнюю директорию под названием FTP:

sudo mkdir /home/pi/FTP

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

sudo chown -R ftpuser:ftpgroup /home/pi/FTP

Создаем виртуального пользователя с именем upload, привязываем его к ftpuser и ftpgroup, задаем ему домашнюю директорию /home/pi/FTP и записываем в базу данных пароль для этого пользователя:

sudo pure-pw useradd upload -u ftpuser -g ftpgroup -d /home/pi/FTP -m

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

sudo pure-pw mkdb

Теперь задаем метод аутентификации, делая привязку к файлу /etc/pure-ftpd/conf/PureDB. Число 60 здесь просто для наглядности — сделайте его как можно меньше.

ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb

Перезапускаем программу:

sudo service pure-ftpd restart

Теперь тестируем ее при помощи какого-нибудь FTP-клиента (вроде FileZilla).

Продвинутые настройки

Настройка Pure-FTPd проста и интуитивна. Для того, чтоб задать нужные настройки, администратору нужно лишь создать файлы с названиями опций (вроде ChrootEveryone), вписать yes, а затем сохранить их в директорию /etc/pure-ftpd/conf (если все FTP-пользователи будут «заперты» в их домашней FTP-директории /home/pi/FTP). Ниже — несколько рекомендованных настроек.

Впишите

sudo nano /etc/pure-ftpd/conf/ChrootEveryone

, затем yes, а после этого нажмите  Ctrl + X ,  Y  и  ↵ Enter .

Аналогично:

  • создайте файл NoAnonymous и впишите yes;
  • создайте файл AnonymousCantUpload и впишите yes;
  • создайте файл AnonymousCantCreateDirs и впишите yes;
  • создайте файл DisplayDotFiles и впишите yes;
  • создайте файл DontResolve и впишите yes;
  • создайте файл ProhibitDotFilesRead и впишите yes;
  • создайте файл ProhibitDotFilesWrite и впишите yes;
  • создайте файл FSCharset и впишите UTF-8.

...

Еще раз перезапустите pure-ftpd и примените вышеуказанные настройки:

sudo service pure-ftpd restart

Более подробно о программе Pure-FTPd читайте на ее официальном сайте.

См.также

Внешние ссылки