Инструменты пользователя

Инструменты сайта


nas_linux

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
nas_linux [2017/05/09 15:22] – [Антивирус] kuldnas_linux [2022/12/02 09:41] (текущий) – [Дисковое пространство] kuld
Строка 1: Строка 1:
-====== Файловое хранилище на Linux ======+====== Файловый сервер на Linux ======
  
-В этой статье мы расскажем как установить и настроить файловый сервер на операционной системе Linux, а точнее будет использована серверная Ubuntu 16.04 LTS. Аналогичным образом настраивается большинство deb-based дистрибутивов.+В этой статье мы расскажем как установить и настроить файловое хранилище на операционной системе Linux, а точнее будет использована серверная Ubuntu 16.04 LTS. Аналогичным образом настраивается большинство deb-based дистрибутивов.
  
 Такой сервер можно использовать для сетевой установки файловой базы 1С:Предприятие - это гораздо надежнее, чем хранить ее на одном из рабочих компьютеров пользователей. Или такой сервер можно приспособить под сетевое хранилище резервных копий. Такой сервер можно использовать для сетевой установки файловой базы 1С:Предприятие - это гораздо надежнее, чем хранить ее на одном из рабочих компьютеров пользователей. Или такой сервер можно приспособить под сетевое хранилище резервных копий.
Строка 21: Строка 21:
 <note important>За неимением лучшего, можно использовать любой старый компьютер, но помните, что Вы это делаете на свой страх и риск. Самое уязвимое место файлового сервера - дисковая подсистема. Если она у Вас будет состоять из одного единственного старого диска, Вы очень сильно рискуете.</note> <note important>За неимением лучшего, можно использовать любой старый компьютер, но помните, что Вы это делаете на свой страх и риск. Самое уязвимое место файлового сервера - дисковая подсистема. Если она у Вас будет состоять из одного единственного старого диска, Вы очень сильно рискуете.</note>
  
-<note tip>Если не удалось найти RAID-контроллер, можно попробовать настроить [[ubnt>программный_raid|программный RAID]] средствами операционной системы. Учтите, что это повысит требования к процессору и оперативной памяти.</note>+<note tip>Если не удалось найти RAID-контроллер, можно настроить [[ubnt>программный_raid|программный RAID]] средствами операционной системы. Учтите, что это повысит требования к процессору и оперативной памяти, зато Вам будет не страшен выход из строя контроллера.</note>
 ===== Установка операционной системы ===== ===== Установка операционной системы =====
  
Строка 105: Строка 105:
  
 Для дистанционного управления сервером с рабочей станции Windows мы будем использовать [[http://www.putty.org/|PuTTy]]. Скачайте, установите и подключайтесь. Адрес сервера в нашем примере указывается так ''user@192.168.1.9'', где ''user'' - имя суперпользователя, порт по умолчанию ''22''. Для дистанционного управления сервером с рабочей станции Windows мы будем использовать [[http://www.putty.org/|PuTTy]]. Скачайте, установите и подключайтесь. Адрес сервера в нашем примере указывается так ''user@192.168.1.9'', где ''user'' - имя суперпользователя, порт по умолчанию ''22''.
 +
 +{{  :putty.png  }}
  
 Мы не будем использовать анонимный доступ к нашему файловому серверу, для того, что бы что-то записать или прочитать с сервера потребуется указать логин и пароль. И нам потребуется создать пользователя на сервере, от имени которого будут производиться все соответствующие файловые операции в хранилище. Мы не будем использовать анонимный доступ к нашему файловому серверу, для того, что бы что-то записать или прочитать с сервера потребуется указать логин и пароль. И нам потребуется создать пользователя на сервере, от имени которого будут производиться все соответствующие файловые операции в хранилище.
Строка 121: Строка 123:
  
 Добавим пользователя в Samba Добавим пользователя в Samba
 +
 <code> <code>
-smbpasswd -a storageuser+$ sudo smbpasswd -a storageuser
 </code> </code>
 +
 - тут нужно указать пароль пользователя Samba, и включим пользователя - тут нужно указать пароль пользователя Samba, и включим пользователя
 +
 <code> <code>
-smbpasswd -e storageuser+$ sudo smbpasswd -e storageuser
 </code> </code>
- 
  
 Сделаем на всякий случай копию файла настроек и приступим к настройкам файлового сервера Samba. Сделаем на всякий случай копию файла настроек и приступим к настройкам файлового сервера Samba.
Строка 141: Строка 145:
 <code> <code>
 [global] [global]
- workgroup = WORKGROUP # Здесь укажите имя рабочей группы одноранговой сети +    workgroup = WORKGROUP        # Здесь укажите имя рабочей группы одноранговой сети 
- server string = %h server (Samba, Ubuntu) +    server string = %h server (Samba, Ubuntu) 
-        name resolve order = wins lmhosts hosts bcast +    name resolve order = wins lmhosts hosts bcast 
- dns proxy = no+    dns proxy = no
  
-        wins support = yes              # только если в сети нет Wins сервера (он может быть, например, в роутере) +    wins support = yes              # только если в сети нет Wins сервера (он может быть, например, в роутере) 
-        ;wins server = 192.168.1.1      # только если wins support = no и по указанному адресу действительно есть Wins сервер+   ;wins server = 192.168.1.1      # только если wins support = no и по указанному адресу действительно есть Wins сервер
  
- log file = /var/log/samba/log.%m +    log file = /var/log/samba/log.%m 
- max log size = 1000 +    max log size = 1000 
- syslog = 0 +    syslog = 0 
- panic action = /usr/share/samba/panic-action %d+    panic action = /usr/share/samba/panic-action %d
  
- server role = standalone server +    server role = standalone server 
- passdb backend = tdbsam +    passdb backend = tdbsam 
- obey pam restrictions = yes+    obey pam restrictions = no
  
- unix password sync = yes+    unix password sync = yes
  
- passwd program = /usr/bin/passwd %u +    passwd program = /usr/bin/passwd %u 
- passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .+    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
  
- pam password change = yes+    pam password change = yes
  
- security = user +    security = user 
- username map = /etc/samba/smbusers+    username map = /etc/samba/smbusers
  
- map to guest = bad user +    map to guest = bad user
- +
- usershare allow guests = yes+
  
 +    usershare allow guests = yes
  
 [storage] [storage]
- comment = nas storage +    comment = nas storage 
- writable = yes +    writable = yes 
- browseable = yes +    browseable = yes 
- public = yes +    public = yes 
- path = /home/storageuser/nas +    path = /home/storageuser/nas 
- guest ok = no +    guest ok = no 
- directory mask = 755 +    directory mask = 755 
- create mask = 644 +    create mask = 644 
- valid users = @storageuser+    valid users = @storageuser
 </code> </code>
  
 Перезапустим службу Перезапустим службу
 +
 <code> <code>
 $ sudo service smbd restart $ sudo service smbd restart
Строка 192: Строка 196:
 Пробуем зайти с какой-либо рабочей станции Windows, указав в проводнике путь ''\\192.168.1.9''. Пробуем зайти с какой-либо рабочей станции Windows, указав в проводнике путь ''\\192.168.1.9''.
  
-<note> +<note> В сетевом окружении сервер появится через какое-то время, когда служба Wins обновит свои данные. </note>
-В сетевом окружении сервер появится через какое-то время, когда служба Wins обновит свои данные. +
-</note>+
  
 Windows сначала попробует открыть папку под своей локальной учетной записью, у нее это не получится и она запросит логин и пароль для доступа к сетевому ресурсу - это как раз тот пользователь, которого мы создали специально для доступа к сетевому хранилищу. Windows сначала попробует открыть папку под своей локальной учетной записью, у нее это не получится и она запросит логин и пароль для доступа к сетевому ресурсу - это как раз тот пользователь, которого мы создали специально для доступа к сетевому хранилищу.
  
-{{ :winlogon.png |}}+{{  :winlogon.png  }}
  
 Готово! Готово!
  
 При необходимости можно добавить новых пользователей и новые разделы. Разграничение доступа к разделам производится через опцию ''valid users'' в соответствующем блоке конфигурационного файла Samba. При необходимости можно добавить новых пользователей и новые разделы. Разграничение доступа к разделам производится через опцию ''valid users'' в соответствующем блоке конфигурационного файла Samba.
 +
  
 ===== Антивирус ===== ===== Антивирус =====
Строка 222: Строка 225:
 <code> <code>
 $ sudo mkdir /quarantine $ sudo mkdir /quarantine
-$ sudo chmode 600 /quarantine+$ sudo chmod 600 /quarantine
 </code> </code>
  
Строка 256: Строка 259:
  
 Добавьте две строчки Добавьте две строчки
 +
 <code> <code>
 0 1 * * * freshclam 0 1 * * * freshclam
Строка 263: Строка 267:
 Каждый день в 1:00 ночи будет автоматически запускаться обновление сигнатур, а в 2:00 ночи будет запущено сканирование всех домашних папок пользователей, инфицированные файлы будут перемещены в папку карантина. Каждый день в 1:00 ночи будет автоматически запускаться обновление сигнатур, а в 2:00 ночи будет запущено сканирование всех домашних папок пользователей, инфицированные файлы будут перемещены в папку карантина.
  
-<note tip>Есть вопросы, нужна консультация или помощь в настройке - [[https://lineris.bitrix24.ru/pub/form/4_obratnaya_svyaz/c4960i/|обращайтесь]], будем рады помочь.</note> 
  
-~~socialite~~+===== Мониторинг ===== 
 + 
 +==== Регулярность резервного копирования ==== 
 + 
 +Если Вы пользуетесь мессенджером Telergam, у нас для Вас есть утилита мониторинга резервного копирования. Она умеет сканировать папки сетевого хранилища и сообщать о наличии или отсутствии новых файлов. Например, если резервное копирование запланировано на ночь, а утром в сетевом хранилище нет новых файлов, значит что-то пошло не так и нужно с этим разобраться. 
 + 
 +Утилита написана на Python, сам Python в Ubuntu установлен по-умолчанию, нужно установить дополнительный модуль. 
 + 
 +<code> 
 +$ sudo apt install python-pip 
 +$ sudo pip install --upgrade pip 
 +$ sudo pip install python-telegram-bot 
 +</code> 
 + 
 +Сама утилита устанавливается из репозитория GitHib 
 + 
 +<code> 
 +$ cd ~ 
 +$ git clone https://github.com/kuleshovdv/backtracker.wiki.git 
 +$ cd backtracker 
 +</code> 
 + 
 +Создайте для себя нового Telegram бота. Подробная инструкция как это сделать приведена [[https://core.telegram.org/bots|тут]] (англ). 
 + 
 +Свяжитесь с [[https://telegram.me/ForbesBot|Отцом Ботов]], отправьте ему сначала команду ''/start'', затем ''/newbot''. Далее отвечайте на вопросы Отца Ботов, в итоге Вы получите от него токен и ссылку на Вашего бота. 
 + 
 +Открываем конфигурационный файл 
 +<code> 
 +$ nano backtracker.conf 
 +</code> 
 + 
 +и настраиваем 
 + 
 +<code> 
 +[Telegram] 
 +token = # Тут нужно указать токен telegram-бота, полученный от Отца Ботов 
 +failonly = # False если хотите получать сообщения о наличии новых файлов или True если только об их отсутствии 
 + 
 +[Scan] 
 +path = # Укажите путь к сканируемым папкам 
 +hours = # Укажите "свежесть" файлов в часах, например 8 
 +</code> 
 + 
 +Запускайте утилиту 
 + 
 +<code> 
 +$ ./backtracker.ry 
 +</code> 
 + 
 +Первый запуск нужен для того, что бы автоматически определить ID абонента Telegram, который будет получать сообщения (это не номер его телефона). Подключайтесь к своему боту по ссылке, которую Вам дал Отец Ботов и отправляйте ему команду ''/start''. В ответ Вы получите сообщение, что Ваш ID определен, а утилита самонастроится и закроется. Запустите ее повторно для выполнения сканирования. 
 + 
 +После настройки и проверки работы утилиты, добавьте ее в расписание демона cron 
 + 
 +<code> 
 +$ crontab -e 
 +</code> 
 + 
 +Добавьте строчку 
 +<code> 
 +0 8 * * * ~/backtracker/backtracker.py 
 +</code> 
 + 
 +Проверка будет запускаться каждый день в 8 утра. Если ночью что-то пошло не так, Вы узнаете об этом. 
 + 
 +==== Системные ресурсы ==== 
 + 
 +Мониторить ресурсы сервера можно консольной утилитой ''top'' или ее более красочной версией ''htop''. Установим и запустим ее 
 +<code> 
 +$ sudo apt install htop 
 +$ htop 
 +</code> 
 + 
 +{{  :htop.png?600  }} 
 + 
 +Периодически контролируйте использование оперативной памяти. Если часто наблюдается загруженность около 100%, настройте файл подкачки. 
 + 
 +<code> 
 +$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 
 +$ sudo chmod 600 /swapfile && sudo mkswap /swapfile 
 +$ sudo swapoff -a 
 +$ sudo swapon /swapfile 
 +$ echo "/swapfile swap swap defaults 0 0"| sudo tee -a /etc/fstab 
 +</code> 
 + 
 +Здесь ''count=1024'' - размер файла подкачки в мегабайтах. 
 + 
 +==== Дисковое пространство ==== 
 + 
 +Для мониторинга файловой системы удобно пользоваться файловым менеджером Midnight Commander. Если Вы застали времена MS DOS и Notron Commander, то объяснять ничего не нужно. 
 + 
 +Устанавливаем и запускаем 
 + 
 +<code> 
 +$ sudo apt install mc 
 +$ mc 
 +</code> 
 + 
 +{{  :mc.png?600  }} 
 + 
 +Так удобно наблюдать за файловым хранилищем, карантином, свободным дисковым пространством. 
 + 
nas_linux.1494343379.txt.gz · Последнее изменение: 2017/05/09 15:22 — kuld

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki