English فارسی Suomi
Français Nederlands Translate
EDIT

airtime-ru-2-3

[view all chapters]

Автоматический импорт файлов

Скрипт airtime-import может использоваться в комбинации со стандартной программой SFTP (безопасное FTP-соединение) и с демоном cron на сервере под GNU/Linux для автоматизированного импорта файла с нескольких удаленных ПК. Это экономит время ваших сотрудников при использовании методов распределенного производства или одновременной публикации контента.

Традиционные FTP-серверы используют простые текстовые пароли (без шифрования), поэтому не рекомендуется использование учетных записей на них для загрузки файлов на серверы Airtime, доступные через Интернет. SFTP является кроссплатформенным протоколом, который работает со многими программами для ПК, включая gFTP для GNU/Linux (http://www.gftp.org/), которая может быть установлена на ПК под Debian или Ubuntu с помощью команды:

 sudo apt-get install gftp

Другие популярные клиенты SFTP включают FileZilla для Windows (http://filezilla-project.org/) и Cyberduck для Mac и Windows (http://cyberduck.ch/).

Чтобы включить режим закачки по протоколу SFTP, сначала запустите процесс adduser, чтобы создать учетную запись uploads (закачки) на сервере. В целях безопасности данная учетная запись создается исключительно для использования SFTP; она не может быть использована для выполнения общих команд в исходном командном процессоре.

sudo adduser --home /srv/airtime/uploads --shell /usr/lib/sftp-server uploads

Затем сервер предложит вам ввести пароль для нового пользователя uploads (закачек) и снова ввести его для подтверждения. Безопасность вашего сервера Airtime зависит от надежности пароля, который вы установите, поэтому обязательно используйте длинный и сложный пароль, применяя верхний регистр, нижний регистр и цифровые символы. Для этой учетной записи нет необходимости указывать полное имя или другие данные.

Adding user `uploads' ...
Adding new group `uploads' (1003) ...
Adding new user `uploads' (1002) with group `uploads' ...
Creating home directory `/srv/airtime/uploads' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for uploads
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n] Y

Затем создайте каталог для хранения входящих файлов:

 sudo mkdir /srv/airtime/uploads/incoming/

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

 sudo nano /etc/cron.hourly/airtime-upload

Скрипт должен импортировать вновь загружаемые файлы из указанного каталога для входящих файлов, используя опцию copy (копирование), а затем удалять оригинальные загруженные файлы. Такая мера, в отличие от простого использования опции watch (просмотр) в папке /srv/airtime/uploads/incoming/, гарантирует, что учетная запись SFTP uploads не будет иметь прямого доступа для записи файлов на сервер Airtime для хранения данных. Это создавало бы угрозу безопасности в случае взлома пароля.

#!/bin/sh

# Run the import script on fresh uploads

airtime-import copy /srv/airtime/uploads/incoming/

# Clean the incoming directory to save disk space

rm -r /srv/airtime/uploads/incoming/*

Наконец, скрипт следует сделать исполняемым, чтобы демон cron мог запустить его.

sudo chmod +x /etc/cron.hourly/airtime-upload

По умолчанию Debian и Ubuntu GNU/Linux запускают процесс выполнения запланированных в cron.hourly задач в 17 минут каждого часа. При необходимости время можно настроить в файле /etc/crontab на сервере.

Удаленные пользователи должны подключаться к серверу Airtime, используя предпочитаемое клиентское ПО и убедившись, что они указывают SFTP, а не FTP-соединение. Удаленным каталогом для использования клиентами будет каталог/srv/airtime/uploads/incoming/ в соответствии с настройками выше.


Для большей безопасности вы можете при настройке сервера Airtime вместо пароля установить необходимость использовать пары ключей шифрования для учетной записи uploads. О том, как это сделать на сервере Ubuntu, можно прочитать здесь https://help.ubuntu.com/community/SSH/OpenSSH/Keys.


EDIT