Скрипт 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.
There has been error in communication with Booktype server. Not sure right now where is the problem.
You should refresh this page.