nas_linux
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияСледующая версияСледующая версия справа и слева | ||
nas_linux [2017/05/08 21:40] – [Файловое хранилище на Linux] kuld | nas_linux [2019/03/23 12:39] – [Настройка сервера] kuld | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Файловое хранилище на Linux ====== | + | ====== Файловый сервер на Linux ====== |
- | В этой статье мы расскажем как установить и настроить файловый сервер на операционной системе Linux, а точнее будет использована серверная Ubuntu 16.04 LTS. Аналогичным образом настраивается большинство deb-based дистрибутивов. | + | В этой статье мы расскажем как установить и настроить файловое хранилище на операционной системе Linux, а точнее будет использована серверная Ubuntu 16.04 LTS. Аналогичным образом настраивается большинство deb-based дистрибутивов. |
Такой сервер можно использовать для сетевой установки файловой базы 1С: | Такой сервер можно использовать для сетевой установки файловой базы 1С: | ||
Строка 7: | Строка 7: | ||
<note warning> | <note warning> | ||
- | Почему Linux? Во-первых это бесплатно и при этом совершенно легально. Во-вторых Linux потребляет гораздо меньше аппаратных ресурсов, | + | Почему Linux? Во-первых это бесплатно и при этом совершенно легально. Во-вторых Linux потребляет гораздо меньше аппаратных ресурсов, |
И так, начнем... | И так, начнем... | ||
- | ===== Выбор | + | ===== Выбор |
- | Как я уже написал, | + | Как я уже написал, |
При этом у нас нет особых требований к оперативной памяти, | При этом у нас нет особых требований к оперативной памяти, | ||
- | Пожалуй, | + | Пожалуй, |
- | За неимением лучшего, | + | <note important> |
+ | <note tip> | ||
===== Установка операционной системы ===== | ===== Установка операционной системы ===== | ||
+ | |||
+ | Сначала определимся с архитектурой сервера. Если Вам известна марка процессора, | ||
+ | |||
+ | Идем на [[https:// | ||
+ | |||
+ | Для установки Вам потребуется записать загрузочный DVD диск из скачанного образа, | ||
+ | |||
+ | Выбирайте русский язык и в меню '' | ||
+ | |||
+ | Далее Вам предложат указать страну, | ||
+ | |||
+ | Некоторое затруднение может вызвать разметка диска. Если сомневаетесь, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Так будет удобнее обновлять операционную систему, | ||
+ | |||
+ | Создавать или нет раздел подкачки зависит от объема оперативной памяти. Если у Вас ее немного, | ||
+ | |||
+ | Далее в процессе установки Вам нужно будет выбрать каким образом Вы хотите управлять обновлением системы. Рекомендую устанавливать обновления безопасности автоматически. | ||
+ | |||
+ | И ближе к концу установки Вам предложат выбрать готовые наборы серверного программного обеспечения. Нам понадобятся: | ||
+ | |||
+ | * Samba file server | ||
+ | * Standart system utilites | ||
+ | * OpenSSH server | ||
+ | |||
+ | Инсталлятор завершит свою работу, | ||
+ | |||
+ | Добро пожаловать в Linux! | ||
+ | |||
+ | |||
+ | ===== Настройка сервера ===== | ||
+ | |||
+ | Вводите логин и пароль суперпользователя, | ||
+ | |||
+ | Первым делом настроем сетевое подключение. | ||
+ | |||
+ | Во время установки инсталлятор продиагностировал установленное оборудование и определил имеющиеся в системе адаптеры. По умолчанию Ethernet адаптер настраивается на получение IP адреса через DHCP, нас это не устраивает, | ||
+ | |||
+ | Откройте конфигурационный файл сетевых интерфейсов командой | ||
+ | |||
+ | < | ||
+ | $ sudo nano / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | и приведите его к такому виду | ||
+ | |||
+ | < | ||
+ | # The loopback network interface - этот раздел не трогаем, | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | # The primary network interface - этот раздел настраивает Ethernet адаптер | ||
+ | auto enp0s3 | ||
+ | iface enp0s3 inet static | ||
+ | address 192.168.1.9 | ||
+ | # за пределами диапазона адресов, | ||
+ | # если таковой используется | ||
+ | netmask 255.255.255.0 | ||
+ | gateway 192.168.1.1 | ||
+ | </ | ||
+ | |||
+ | Сохраните файл нажав Ctrl-O и закройте редактор Ctrl-X. После редактирования перезапустим сеть: | ||
+ | |||
+ | < | ||
+ | $ sudo / | ||
+ | </ | ||
+ | |||
+ | и проверим что у нас получилось | ||
+ | |||
+ | < | ||
+ | $ ifconfig | ||
+ | </ | ||
+ | |||
+ | В выдаче этой команды внимательно смотрим на значения '' | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | Для дистанционного управления сервером с рабочей станции Windows мы будем использовать [[http:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Мы не будем использовать анонимный доступ к нашему файловому серверу, | ||
+ | |||
+ | < | ||
+ | $ sudo adduser storageuser | ||
+ | </ | ||
+ | |||
+ | При создании пользователя так же будут созданы одноименные группа и домашняя папка. В домашней папке этого пользователя мы и организуем сетевое файловое хранилище | ||
+ | |||
+ | < | ||
+ | $ sudo -u storageuser mkdir / | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | Добавим пользователя в Samba | ||
+ | |||
+ | < | ||
+ | $ sudo smbpasswd -a storageuser | ||
+ | </ | ||
+ | |||
+ | - тут нужно указать пароль пользователя Samba, и включим пользователя | ||
+ | |||
+ | < | ||
+ | $ sudo smbpasswd -e storageuser | ||
+ | </ | ||
+ | |||
+ | Сделаем на всякий случай копию файла настроек и приступим к настройкам файлового сервера Samba. | ||
+ | |||
+ | < | ||
+ | $ sudo cp / | ||
+ | $ sudo nano / | ||
+ | </ | ||
+ | |||
+ | Конфигурационный файл сопровождается подробными комментариями, | ||
+ | |||
+ | < | ||
+ | [global] | ||
+ | workgroup = WORKGROUP | ||
+ | server string = %h server (Samba, Ubuntu) | ||
+ | name resolve order = wins lmhosts hosts bcast | ||
+ | dns proxy = no | ||
+ | |||
+ | wins support = yes # только если в сети нет Wins сервера (он может быть, например, | ||
+ | ;wins server = 192.168.1.1 | ||
+ | |||
+ | log file = / | ||
+ | max log size = 1000 | ||
+ | syslog = 0 | ||
+ | panic action = / | ||
+ | |||
+ | server role = standalone server | ||
+ | passdb backend = tdbsam | ||
+ | obey pam restrictions = no | ||
+ | |||
+ | unix password sync = yes | ||
+ | |||
+ | passwd program = / | ||
+ | passwd chat = *Enter\snew\s*\spassword: | ||
+ | |||
+ | pam password change = yes | ||
+ | |||
+ | security = user | ||
+ | username map = / | ||
+ | |||
+ | map to guest = bad user | ||
+ | |||
+ | usershare allow guests = yes | ||
+ | |||
+ | [storage] | ||
+ | comment = nas storage | ||
+ | writable = yes | ||
+ | browseable = yes | ||
+ | public = yes | ||
+ | path = / | ||
+ | guest ok = no | ||
+ | directory mask = 755 | ||
+ | create mask = 644 | ||
+ | valid users = @storageuser | ||
+ | </ | ||
+ | |||
+ | Перезапустим службу | ||
+ | |||
+ | < | ||
+ | $ sudo service smbd restart | ||
+ | </ | ||
+ | |||
+ | Пробуем зайти с какой-либо рабочей станции Windows, указав в проводнике путь '' | ||
+ | |||
+ | < | ||
+ | |||
+ | Windows сначала попробует открыть папку под своей локальной учетной записью, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Готово! | ||
+ | |||
+ | При необходимости можно добавить новых пользователей и новые разделы. Разграничение доступа к разделам производится через опцию '' | ||
+ | |||
+ | |||
+ | ===== Антивирус ===== | ||
+ | |||
+ | Операционные системы на базе Linux практически не подвержены риску заражения компьютерными вирусами, | ||
+ | |||
+ | Но эти вирусы могут использовать файловый сервер Samba для распространения от одной Windows системы на другие. Что бы поддерживать наше файловое хранилище в чистоте, | ||
+ | |||
+ | Установим антивирус ClamAV | ||
+ | |||
+ | < | ||
+ | $ sudo apt install clamav | ||
+ | </ | ||
+ | |||
+ | Сразу же после установки в фоновом режиме запуститься обновление сигнатур, | ||
+ | |||
+ | Удалять подозрительные файлы мы сразу не будем, мы их будем перемещать в карантин, | ||
+ | |||
+ | < | ||
+ | $ sudo mkdir /quarantine | ||
+ | $ sudo chmod 600 /quarantine | ||
+ | </ | ||
+ | |||
+ | Попробуем просканировать домашние папки пользователей | ||
+ | |||
+ | < | ||
+ | $ sudo clamscan -i -r --move=/ | ||
+ | </ | ||
+ | |||
+ | После сканирования получим протокол | ||
+ | |||
+ | < | ||
+ | ----------- SCAN SUMMARY ----------- | ||
+ | Known viruses: 6278963 | ||
+ | Engine version: 0.99.2 | ||
+ | Scanned directories: | ||
+ | Scanned files: 13 | ||
+ | Infected files: 0 | ||
+ | Data scanned: 4.79 MB | ||
+ | Data read: 1.59 MB (ratio 3.00:1) | ||
+ | Time: 22.176 sec (0 m 22 s) | ||
+ | </ | ||
+ | |||
+ | Все хорошо, | ||
+ | |||
+ | Нам остается настроить автоматическое расписание обновления сигнатур и сканирования домашних папок. Редактируем файл расписания демона cron | ||
+ | |||
+ | < | ||
+ | $ sudo crontab -e | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Добавьте две строчки | ||
+ | |||
+ | < | ||
+ | 0 1 * * * freshclam | ||
+ | 0 2 * * * clamscan -i -r --move=/ | ||
+ | </ | ||
+ | |||
+ | Каждый день в 1:00 ночи будет автоматически запускаться обновление сигнатур, | ||
+ | |||
+ | |||
+ | ===== Мониторинг ===== | ||
+ | |||
+ | ==== Регулярность резервного копирования ==== | ||
+ | |||
+ | Если Вы пользуетесь мессенджером Telergam, у нас для Вас есть утилита мониторинга резервного копирования. Она умеет сканировать папки сетевого хранилища и сообщать о наличии или отсутствии новых файлов. Например, | ||
+ | |||
+ | Утилита написана на Python, сам Python в Ubuntu установлен по-умолчанию, | ||
+ | |||
+ | < | ||
+ | $ sudo apt install python-pip | ||
+ | $ sudo pip install --upgrade pip | ||
+ | $ sudo pip install python-telegram-bot | ||
+ | </ | ||
+ | |||
+ | Сама утилита устанавливается из репозитория GitHib | ||
+ | |||
+ | < | ||
+ | $ cd ~ | ||
+ | $ git clone https:// | ||
+ | $ cd backtracker | ||
+ | </ | ||
+ | |||
+ | Создайте для себя нового Telegram бота. Подробная инструкция как это сделать приведена [[https:// | ||
+ | |||
+ | Свяжитесь с [[https:// | ||
+ | |||
+ | Открываем конфигурационный файл | ||
+ | < | ||
+ | $ nano backtracker.conf | ||
+ | </ | ||
+ | |||
+ | и настраиваем | ||
+ | |||
+ | < | ||
+ | [Telegram] | ||
+ | token = # Тут нужно указать токен telegram-бота, | ||
+ | failonly = # False если хотите получать сообщения о наличии новых файлов или True если только об их отсутствии | ||
+ | |||
+ | [Scan] | ||
+ | path = # Укажите путь к сканируемым папкам | ||
+ | hours = # Укажите " | ||
+ | </ | ||
+ | |||
+ | Запускайте утилиту | ||
+ | |||
+ | < | ||
+ | $ ./ | ||
+ | </ | ||
+ | |||
+ | Первый запуск нужен для того, что бы автоматически определить ID абонента Telegram, который будет получать сообщения (это не номер его телефона). Подключайтесь к своему боту по ссылке, | ||
+ | |||
+ | После настройки и проверки работы утилиты, | ||
+ | |||
+ | < | ||
+ | $ crontab -e | ||
+ | </ | ||
+ | |||
+ | Добавьте строчку | ||
+ | < | ||
+ | 0 8 * * * ~/ | ||
+ | </ | ||
+ | |||
+ | Проверка будет запускаться каждый день в 8 утра. Если ночью что-то пошло не так, Вы узнаете об этом. | ||
+ | |||
+ | ==== Системные ресурсы ==== | ||
+ | |||
+ | Мониторить ресурсы сервера можно консольной утилитой '' | ||
+ | < | ||
+ | $ sudo apt install htop | ||
+ | $ htop | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Периодически контролируйте использование оперативной памяти. Если часто наблюдается загруженность около 100%, настройте файл подкачки. | ||
+ | |||
+ | < | ||
+ | $ sudo dd if=/ | ||
+ | $ sudo chmod 600 /swapfile && sudo mkswap /swapfile | ||
+ | $ sudo swapoff -a | ||
+ | $ sudo swapon /swapfile | ||
+ | $ echo "/ | ||
+ | </ | ||
+ | |||
+ | Здесь '' | ||
+ | |||
+ | ==== Дисковое пространство ==== | ||
+ | |||
+ | Для мониторинга файловой системы удобно пользоваться файловым менеджером Midnight Commander. Если Вы застали времена MS DOS и Notron Commander, то объяснять ничего не нужно. | ||
+ | |||
+ | Устанавливаем и запускаем | ||
+ | |||
+ | < | ||
+ | $ sudo apt install mc | ||
+ | $ mc | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Так удобно наблюдать за файловым хранилищем, | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | ~~socialite~~ | ||
+ | |||
nas_linux.txt · Последнее изменение: 2022/12/02 09:41 — kuld