вторник, 18 января 2011 г.

NAS сервер для дома или малого офиса на базе FreeNAS

Принципиальная структура ресурсов файлового сервера

  1. Авторизация на сервере проводится по личным логинам пользователей.
  2. Создана общая папка «share» с полным доступом для всех пользователей. Т.е. чтение/запись. (она же файловая помойка)
  3. Созданы личные папки с полным доступом для хозяина и закрытым доступом для всех остальных.
  4. Создана папка «dsp» для помещения туда материалов для служебного пользования.  Ограниченный доступ к папке для в всех пользователей.  Пользователь «dspdata» имеет право писать, остальные только читают.
  5. Создана скрытая папка «shadow». Может использоваться как админский ресурс для хранения дистрибутивов, как общий диск для систем баз данных и т.д. Полный доступ для всех, но пака не видна в «сетевом окружении».

Принципиальная структура ресурсов FTP сервера

  1. Авторизация на сервере проводится по личным логинам пользователей.
  2. Организован полный доступ к личным папкам для пользователей по протоколу FTP.
  3. Организован полный доступ к папке «share» из-за пределов локальной сети.
  4. К папке «shadow»  доступ из вне локальной сети, закрыт.
  5. К папке «dsp» есть доступ со строго ограниченных IP.


Установка FreeNAS на сервер
  1. Загружаемся
  2. выбираем пункт 9 (Install/Upgrade to hard drive/flash device, etc)
  3. Выбираем пункт 3 (Install ‘full’ OS on HDD + DATA + SWAP partition)
  4. Подтверждаем выбор метода установки.
  5. Выбираем расположение дистрибутива откуда ставимся.
  6. Выбираем физическое устройство на которое устанавливаем OS.
  7. Начинается разбиение
а. Основная партиция OS (корень «/») (размер. Лично я предпочитаю не экономить. Если есть возможность, ставлю от 512 до 1024.. а если химичить потом, то и больше)
б. Подтверждаем создание SWAP (файл подкачки) (равен двум оперативам)
Система установлена. Инсталлятор сам создаст нужные слайсы, но подмонтирует только корень «/».
Разбиение диска будет следующее:
«/» (корень) - размер вами указанный
SWAP (файл подкачки) – размер вами указанный
DATA (под данные) – оставшееся место на диске
Внимание! При установке OS займёт всё указанное физическое устройство.
  1. Выходим из инсталлятора.
  2. Перезагружаем компьютер. Пункт 7 (Reboot system)
Установка OS завершена.

Первичная настройка одного из сетевых интерфейсов для работы по Web интерфейсу.

1.      После перезагрузки выбираем пункт 1 (Assign interfaces)
2.      Выбираем интерфейс по которому будете проводить дальнейшую настройку (подсказка: тот который подключён к какой то сети, помечен “(up)”)
3.      Выходим из этого конфигуратора выбрав «none Finish and exit configuration». Остальные интерфейсы потом из GUI настроим.
4.      Подтверждаем выбор интерфейса как интерфейса LAN.
5.      Нас возвращают в первичное меню.

Теперь настроим выбранный интерфейс.
1.      Выбираем пункт 2 (Set LAN IP Address) для настройки выбранного интерфейса.
2.      Запрос о DHCP. Отказываемся выбирая No
Если машина в локалке где есть DHCP можете выбрать. Настройка интерфейса будет сделана автоматически.
Но я рекомендую даже в этом случае отказаться от DHCP и настроить статически выбрав IP машины самостоятельно.
В этом случае IP можно выбрать «красивый» и при последующей работе сервера с клиентами вероятность сбоя ниже.

3.      Указываем IP адрес из нашей сети (к примеру 192.168.100.10) Жмём ввод (Enter)
4.      Указываем маску (по умолчанию 24)  Жмём ввод (Enter)
5.      Указываем IP шлюза локалки
6.      Указываем IP DNS сервера (потом, в GUI, остальные допишем)
7.      Запрос на конфигурацию IP6 рассматривать не будем. Отказывается: No
Кто знает что это такое, тот знает и нужно ли это ему.
8.      Немного ждём пока всё введённое нами пропишется.
9.      Нас возвращают в основное меню.
Перезагружаем машину и прощаемся с консолью. Далее всё можно делать из GUI и консоль нам понадобится только при форс-мажоре.

Настройка сервера

Настройка системы.
После перезагрузки в любом браузере набираем IP сервера (192.168.100.10). Появляется страничка с приглашением залогинится.
Данные для авторизации после установки:
Usernameadmin
Password - freenas
  1. Меняем пароль.
Если вы решили хоть немного серьёзно заняться «серверо-строительством», то вы должны «затвердить как отче наш» !ЕФОЛТНЫЕ ПАРОЛИ МЕНЯЮТСЯ СРАЗУ!! и не на qwerty или 1234, а на грамотный пароль. Что есть «грамотный пароль»? Это пароль из 10 и более знаков состоящий из цифернобуквенной комбинации. Желательно буквы в разном регистре. Внешне пароль должен быть бессмысленным. Такие пароли как «Basia12» так же не надёжны. Для создания пароля можно применить любую утилиту генерации паролей или OnLine сервис типа http://pasw.ru/
  1. Меняем язык интерфейса. (господа «*NIX-оиды», статья пишется не для вас. Вы и так всё знаете, и предполагаемая целевая аудитория может и не знать английского)

Итак, меняем пароль.
System – General – Password
В строке Old password вводим freenas (свой старый пароль, в данном случае дефолтный)
В строках Password вводим новый пароль
Жмём на «Save». Появляется надпись «The changes have been applied successfully».
Пароль сменён.

Меняем интерфейс на русский и проводим основные системные настройки

SystemGeneral
Имя компьютера / Hostname
Любая машина имеет DNS имя  в формате name.doman (как сайты office.oootupak)
Имя компьютера / Hostname – это понятно. Имя компа и есть (File к примеру)
Домен / Domain сложнее. На практике можно именем конторы (oootupak к примеру или оставляем local)
Настройки DNS / DNS settings
IPv4 DNS-серверы / IPv4 DNS servers  - это понятно ваши DNS сервера
IPv6 DNS-серверы / IPv6 DNS servers - ваши DNS сервера по IP6. Кто в курсе проставит. Мы оставляем пустыми
            Web-интерфейс / WebGUI
Имя пользователя / Username Username администратора при залогинивании. По дефолту admin. Меняем на желательное
Протокол / Protocol  можно (желательно) выбрать HTTPS
Порт / Port указываем порт по которому мы будем коннектится для администрирования сервера к примеру 89 (чтобы не занимать 80-й. Может Web сервер захотите запустить)
Язык / Language выбираем Russian
            Время / Time
Часовой пояс / Time zone – Часовой пояс, где находится машина
Системное время / System time – системное время на машине.
Включить NTP / Enable NTP – (Network Time Protocol) кто знает, тот знает, включать ему или нет. Мы оставляем выключенным по дефолту.
Жмём «Сохранить/Save»
Таким образом мы провели конфигурацию системы.
Перезагружаем компьютер для вступления в силу внесённых изменений.

Перезагрузка

Система/ System – перезарузка/Rebootподтвердить перезагрузку.

Теперь, если вы попробуете зайти на сервер http://192.168.100.10, то вас постигнет неудача.
Согласно нашим изменениям, входить теперь нужно https://192.168.100.10:89 Обратите внимание на добавленную s и указанный порт “:89”.
Некоторый браузеры могут не пустить.
К примеру IE8 «очень умный» и может посчитать «этот сайт опасным» из-за протокола HTTPS (Hypertext Transfer Protocol Secure) – на самом деле более это безопасный протокол чем http.
HTTPS поддерживает шифрование, на обмен ключами к которому (сертификаты) и ругаются «особоВумные браузеры».
В этом случае «объясните» IE, что вы знаете что делаете. Там всплывающее окошко выплывает.

Настройка и перенастройка сетевых карт (интерфейсов)

Все наши последующие действия будут «отложенными».
Все последующие изменения вступят в силу только после перезагрузки системы.
Рассмотрим вариант сервера с 2-мя сетевыми картами, что удобно и практично.
Настройка второй сетевой карты.
Сеть – Управление интерфейсами
Видим минитабличку
Интерфейс |  Сетевой порт
LAN             |  le0 (00:00:00:00:00:00)
Жмём крестик
В табличке появляется OPT1
Жмём «Сохранить»
Теперь обе сетевые карты подключены, но одна из них не настроена, а вторая настроена «не правильно».
На данный момент у вас основной интерфейс(сетевая карта) по которому машина ходит в Internet настроен на внутреннюю, локальную сеть. Нам же по идее надо, что бы он был повёрнут на прямую в Internet, а второй, дополнительный интерфейс, в локалку.

Перенастраиваем интефейсы.

Сеть – OPT1
Конфигурация IP4 – ставим галку «активировать»
Тип Static
Описание – можно оставить, но я переименовываю.
IP-адрес – вписываем IP вашей внутренней подсети 192.168.100.10 к примеру(да, да. Пока он совпадает с IP на LAN, не страшно).
Выставляем маску. Это выпадающее меню после “/”. Маски бывают разные, вам скорее всего нужна 24, что соответствует 255.255.255.0. Если нужна другая, посмотрите соответствия в Internent.
Конфигурация IPv6  и т.д. – не трогаем.
Жмём «Сохранить»

Сеть – LAN
Тип Static
IP-адрес – вписываем один из наших внешних адресов и соответствующую маску.
Шлюз – вписываем шлюз для наших внешних IP.
Жмём «сохранить»

Сеть – Управление интерфейсами
Видим минитабличку
Интерфейс |  Сетевой порт
LAN            |  le0 (00:00:00:00:00:00)
OPT1           |  le1 (00:00:00:00:00:00)
Использую выпадающие менюшки, меняем местами интерфейсы.
Жмём «сохранить»
Таким образом мы:
  1. Подключили второй интерфейс (сетевую карту)
  2. Провели настройку и перенастройку второго и первого интерфейсов, соответственно.
  3. Поменяли интерфейсы местами.
Ранее - интерфейс le0 был главным и смотрел в локальную сеть офиса. Весь трафик с него в интернет шёл через шлюз локальной сети, что нам не нужно.
Интерфейс  le1 был отключён.
Теперь - интерфейс le0 стал вторым, а le1 первым. Таким образом выход в интернет для этого сервера производится с интерфейса le1 напрямую в Internet со своим статическим IP адресом, а le0 служит для предоставления доступа к ресурсам из локальной сети офиса.

Перезагружаем сервер.
Система/ System – перезарузка/Reboot – подтвердить перезагрузку.
После перезагрузки логинимся по тому же IP или уже по внешнему. Это ваше дело.

Настройка FireWall

Сеть – Firewall
Видим табличку в которой уже есть ряд правил, но они не активны. Firewall так же выключен.
Жмём на серый крестик.
Обращаем внимание что «Правило Firewall» стоит галочка «включить».
Этой галочкой вы в последствии можете включать/отключать правила.
Правило Firewall - ставим галочку «включить»
Номер правила – не трогаем
Действие – переключаем на «запретить»
Интерфейс – ставим LAN
Протокол – ставим UDP
Направление – любое
Описание - UDP Internet Deny
Жмём «сохранить»
Этим правилом мы закрыли любое общение по UDP протоколу для интерфейса LAN, который у нас напрямую в Internet смотрит. Нечего там UDP делать.
Теперь закроем «Самбу» (SMB) на интерфейсе Internet
Жмём на серый крестик.
Правило Firewall - ставим галочку «включить»
Номер правила – не трогаем
Действие – переключаем на «запретить»
Интерфейс – ставим LAN
Протокол – ставим «все»
Порт назначения139
Направлениелюбое
Описание - Deny SMB from Internet (LAN)
Жмём «сохранить»
Так же создаём правило для порта 445

Так же настраиваем другие правила, которые вам нужны.
К примеру, можно закрыть все порты со стороны Internet, оставив только те, который вам нужны. 21 – FTP, 80 – HTTP, 89 – (ваш HTTPS для администрирования, а можете и его закрыть снаружи.), ….
Пример 1
Правило разрешающее работу FTP для/через/на интерфейсе LAN, который у нас в Internet смотрит.
Жмём на серый крестик.
Правило Firewall - ставим галочку «включить»
Номер правила – не трогаем
Действие – переключаем на «разрешить»
Интерфейс – ставим LAN
Протокол – ставим TCP
Порт назначения – 21
Направление – любое
Описание - Alloy FTP from Internet (LAN)
Жмём «сохранить»
Пример 2
Правило запрещающее любое общение по интерфейсу LAN.
Жмём на серый крестик.
Правило Firewall - ставим галочку «включить»
Номер правила – не трогаем
Действие – переключаем на «запретить»
Интерфейс – ставим LAN
Протокол – ставим «все»
Порт назначения – оставляем пустым
Направление любое
Описание – Deny All from Internet (LAN)
Жмём «сохранить»
Теперь по интерфейсу LAN вашей машины не существует.

Теперь влючаем Firewall
Firewallставим галочку «включить»
Жмём «применить изменения» и «сохранить и перезапустить»

Внимание!!
Обработка правил Firewall осуществляется по принципу «до первого совпадения».
Т.е. Если вы сначала поставите правило «закрыто» на 5555 порт, а потом откроете его, то 5555 порт останется закрытым.
Таким образом при настройке Firewall «всё закрыто, открыты только указанные порты» нужно сначала ставить разрешающие правила, а потом правило запрещающее всё.

Включаем SWAP и Монтируем DATA
Дополнительно – Команда
В строке «Команда» вводим fdisk и нажимаем «выполнить»
В результате выполнение получаем карту диска.
$ fdisk
******* Working on device /dev/da0 *******
parameters extracted from in-core disklabel are:
cylinders=512 heads=128 sectors/track=32 (4096 blks/cyl)
parameters to be used for BIOS calculations are:
cylinders=512 heads=128 sectors/track=32 (4096 blks/cyl)
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 1044162 (509 Meg), flag 80 (active)
         beg: cyl 0/ head 1/ sector 1;
         end: cyl 64/ head 254/ sector 63
The data for partition 2 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 1048635, size 220500 (107 Meg), flag 0
         beg: cyl 65/ head 70/ sector 1;
         end: cyl 78/ head 254/ sector 63
The data for partition 3 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 1271844, size 816606 (398 Meg), flag 0
         beg: cyl 79/ head 43/ sector 1;
         end: cyl 129/ head 254/ sector 63
The data for partition 4 is:
<UNUSED>

Нас интересуют строки «The data for partition * is» и далее по каждой партиции.
The data for partition 1 is: - корень. 
The data for partition 2 is: - Data
The data for partition 3 is: - тот самый SWAP

Ориентироватся можно по размеру партиции. Вы же помните какой размер задавали корню и SWAP? Ну а третий оставшийся – DATA.
Система/ System – Дополнительно – Файл подкачки
Ставим галочку на «включить» 
«Тип» переводим на «устройство» 
«Устройство» указываем на основе полученной информации (Working on device /dev/da0 (устройство da0)  The data for partition 3 (3-я партиция) is: … получаем /dev/da0s3) /dev/da0s3 – нажимаем «Сохранить».
Должно появится сообщение «Изменения были применены успешно» / «The changes have been applied successfully».
Если пишет «Ошибка: Изменения не могут быть применены (код ошибки 1).», значит не правильно указали устройство
SWAP подключён.
Подключение и монтирование DATA.
Диски – Управление  
Крестик «добавить диск» 
«Диск» выбираем наш диск на котором стоит OS. 
«Уже имеющаяся файловая система» ставим UFS (GPT  and Soft Updates)
Жмём «Добавить» 
Жмём «применить изменения»  - в колонке «состояние» должно появится «OnLine»
Подключили. Теперь монтируем.
Диски – Точка монтирования 
Крестик «добавить …»
Тип – Диск
Диск – Выбрать нужный, с которым работаем на данный момент.
Тип разделаMBR
Номер раздела – 2
Файловая системаUFS
Имя точки монтированияdata (совет. Не пишите с заглавной буквы. Потом не нужно будет за регистром букв следить при наборе в командной строке, если что. Тут не Windows. Тут буквы “D” и “d” это разные буквы)
Описание – можно оставить пустым или что то написать.
Остальное не трогаем.
Жмём на «Добавить»
Жмём на «применить изменения»
В колонке «состояние» должно появится «Ok»
DATA подмонтирован.

Создание папок для организации сетевых ресурсов.

Дополнительно – Файловый менеджер.
Здесь нам придётся снова залогинится.
Username: root
Password: ваш пароль на «admin»
Language: можете выбрать любой.
Логинимся и попадаем в корень «/».
Переходим: mnt / data
В правом верхнем углу в выпадающем меню, выбираем «Directory / Каталог».
Рядом пишем «dsp» (без кавычек)
Жмём «Create / Создать»
Так же создаём папку «share», «users» и «shadow»

Создание базы пользователей.
Доступ – Пользователи и группы.
Крестик «добавить …» -
Имя – логин пользователя. (к примеру test)
Полное имя – ФИО пользователя. (к примеру Andrey Test)
Пароль – пароль пользователя.
Идентификатор пользователя – не трогаем. (гы.. не доросли ещё.. ;-))
Командная оболочка (shell)nologin (всё равно пользователя кроме как по самбе и FTP пускать не будем)
Основная группаstaff
Дополнительная группаftp (иначе по FTP не войдёт. Так уж FreeNAS настроен, можно и перенастроить, если хотите)
Домашний каталог – Каталог пользователя. Будьте осторожны. Указывайте  личный каталог, а не общую папку. 
Жмём на кнопку «…» Попадаем в /mnt. Входим в подмонтированный диск «data»(/mnt/data), входим в  /users (получается /mnt/data/users). Дописываем /test (получается /mnt/data/users/test)
Жмём «Ок».
Жмём «Сохранить».
Создаём таким образом всю базу пользователей.

Создаём пользователя dspdata
(для загрузки служебных документов в  папку «dsp» на сервере)
крестик «добавить …» -
Имя – логин пользователя. (dspdata)
Полное имя – описание (к примеру office admin)
Пароль – пароль пользователя.
Идентификатор пользователя – не трогаем.
Командная оболочка (shell) – nologin
Основная группаstaff
Дополнительная группаftp
Домашний каталог – Каталог пользователя.
Жмём на кнопку «…» Попадаем в /mnt. Входим в подмонтированный диск «data»(/mnt/data), входим в  /dsp (получается /mnt/data/dsp).
Жмём «Ок».
Жмём «Сохранить».

Создав все аккаунты, жмём на «применить изменения».
База создана.
Помните, пока не нажмёте «применить изменения» внесённые изменения не действительны и пользовательские папки не создаются.

Настройка служб (демонов, как их называют в среде *NIX)

Настройка SMB (Samba) позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS.
Службы - CIFS/SMB - ставим галочку на «включить»
Аутентификация – Локальный пользователь.
NetBIOS-имя – Имя сервера как оно будет видно в Сетевом Окружении Windows. К примеру Server
Рабочая группа – рабочая группа в которой будет значится сервер.
Описание – описание сервера.
Кодовая страница DOS - !! Внимание!! Ставим CP866
Кодовая страница Unix - !! Внимание!! Ставим UTF-8
Уровень журналирования – пока не трогаем
Локальный основной обозреватель сети – очень не простая настройка. Если у вас уже есть нормально и стабильно работающий локальный основной обозреватель сети, то ставим «Нет». Определяется просто. Все ли и ВСЕГДА видны машины в локальной сети. Если нет, то «локальный основной обозреватель сети» не один и в сети бардак! В этом случае можете поставить тут «Да». Может сильно помочь…. А может и не помоч
Сервер времени – тут как хотите.
Гостевая учетная запись – не трогаем
Размер буфера отправки – не трогаем
Размер буфера приема – не трогаем
Чтение/запись большими блоками – если в сети нет древних машин с 9* и NT4, то можно включить.
Использовать параметр 'sendfile' – оставляем.
Остальное тоже не трогаем.
Жмём «сохранить и перезапустить»
Видим сообщение «Изменения были применены успешно
Идём дальше.
Службы - CIFS/SMB - Общие ресурсы
крестик «добавить …»  (Тут мы вспоминаем данные созданных нами пользователей и заполняем соответственно)
Имя – имя ресурса как его будут видеть в Сетевом Окружении Windows. Вот тут уже можете писать хоть прописными, хоть строчными.
Комментарий – Комментарий кому принадлежит
Путь – путь к ресурсу. Жмём на кнопку «…» Попадаем в /mnt. Входим в /mnt/data/users/(созданная ранее папка пользователя).
Жмём «Ок».
Только чтение – ну это вам решать. Вдруг вы не хотите что бы пользователь мог писать в эту папку?
Просматриваемый – хитрый параметр. О его возможном использовании позже
Ну остальное пока оставляем.
Жмём «Добавить»
Создаём по образу остальные личные ресурсы пользователей.
!! Внимание!! В отличии от оболочки по созданию пользователей, эта НЕ МОЖЕТ сама создавать папки. Только использовать уже имеющиеся.
Создав все ресурсы, жмём «применить изменения». Не забываем! Иначе ничего не будет.

Создание ресурсов ДСП, Shadow и «файловой помойки».
Реализация ограничений на доступ к ресурсам пользователей.
Изменение владельца на некоторые папки.

В результате выше проведённых действий мы получили сетевые ресурсы пользователей с доступом к ним по личному логину/паролю.
Теперь нам нужно создать дополнительные ресурсы «shadow», «share» и «dsp», которые будут общими для всех сотрудников, но будут обладать разным уровнем доступа.
Службы - CIFS/SMB - Общие ресурсы
Создание ресурса «dsp»
крестик «добавить …» 
Имя – dsp
КомментарийDSP Data Folder
Путь – путь к ресурсу. Жмём на кнопку «…» Попадаем в /mnt. Входим в /mnt/data/dsp.
Жмём «Ок».
Жмём «Добавить»
Создание ресурса «share»
крестик «добавить …» 
Имяshare
КомментарийShare Folder
Путь – путь к ресурсу. Жмём на кнопку «…» Попадаем в /mnt. Входим в /mnt/data/share.
Жмём «Ок».
Жмём «Добавить»
Создание ресурса «shadow»
крестик «добавить …» 
Имя shadow
КомментарийShadow Folder
Путь – путь к ресурсу. Жмём на кнопку «…» Попадаем в /mnt. Входим в /mnt/data/share.
Просматриваемый – убираем галку. Таким образом этот ресурс будет существовать, функционировать, но не будет отображаться в сетевом окружении, что очень удобно.
Зайти на него можно будет прописав в строке файлового менеджера полный путь \\server\Shadow
Жмём «Ок».
Жмём «Добавить»
Жмём «применить изменения»

По умолчанию на этих ресурсах стоит ограничение «хозяин пишет и читает, другие только читают». Это не всегда нам подходит.
Смена прав на ресурсы

Меняем права доступа к ресурсам с целью добиться декларированной выше структуры файлового сервера.
А именно.
а. Все пользователи имеют полный доступ к личной папке. Для остальных пользователей личная папка означенного пользователя, недоступна.
б. Все пользователи имеют полный доступ к папке «share».файловая помойка» офиса)
в. Все пользователи имеют доступ на чтение к папке «dsp» и ограниченный круг на запись. (ресурс ДСП)
г. Все пользователи имеют полный доступ к папке «shadow». Папка скрыта.

Переходим в окно файлового менеджера
Дополнительно – Файловый менеджер
Папки пользователей
Идём в /mnt/data/users
Видим табличку вида файл – размер – тип – изменён – права доступа – действия
В колонке «права доступа» видим строчки типа «drwxr-xr-x».
По очереди кликаем мышкой на них и в появившемся окошке удираем все галочки кроме верхнего ряда «владелец».
Жмём «изменить».
Получаем «drwx------».

Общие папки
Идём в /mnt/data
Настраиваем  ресурс ДСП.
dsp - кликаем мышкой на drwxrwxr-x.
В появившемся окне убираем галочки с нижней строки «общий». Оставляем две галочки «r» и «x» убрав «w» в строке «группа». В строке «владелец» все три галочки должны стоять.
Жмём «изменить».
Получаем «drwxr-x---».
Настраиваем  ресурс share
share - кликаем мышкой на drwxrwxr-x.
В появившемся окне убираем галочки с нижней строки «общий», оставляем все галочки «r», «x» и «w» в строках «группа» и «владелец».
Жмём «изменить».
Получаем «drwxrwxrwx».

Настраиваем  ресурс shadow
shadow - кликаем мышкой на drwxrwxr-x.
В появившемся окне убираем галочки с нижней строки «общий», оставляем все галочки «r», «x» и «w» в строках «группа» и «владелец».
Жмём «изменить».
Получаем «drwxrwx---».

Смена владельцев.
Чуть выше мы сменили права на доступ, но этого мало.
Папки shadow,  share и dsp имеют владельца root, т.к. мы их создавали именно под этим пользователем.
Теперь нам необходимо сменить владельца этих папок для того, что бы наша структура «прав доступа» работала правильно.
К сожалению я не нашёл где и как в QuiXplorer это можно сделать.
Придётся делать это из командной строки.
!!!ВНИМАНИЕ!!! далее довольно опасная команда! Внимательно прописывайте путь (/mnt/data****). В противном случае можете угробить систему.
Гм. И вообще привыкайте. В *NIX угробить  систему можно практически любой консольной командой, если выполнить её не правильно.
Любой *NIX это иллюстрация поговорки «семь раз отмерь, один раз отрежь». Всегда нужно понимать что ты делаешь.

Дополнительно – Команда
В строке «Команда» вводим chown -R dspdata:staff /mnt/data/dsp  
Нажимаем «выполнить»
В строке «Команда» вводим chown -R dspdata:staff /mnt/data/share
Нажимаем «выполнить»
В строке «Команда» вводим chown -R dspdata:staff /mnt/data/shadow
Нажимаем «выполнить»
Для проверки сменился владелец или нет.
В строке «Команда» вводим lsl /mnt/data
Получаем рапорт в виде таблички
$ ls -l /mnt/data
total 16
drwxrwxr-x  2 root     operator  512 Apr 14 18:37 .snap
drwxr-x---  2 dspdata  staff     512 Apr 20 20:05 dsp
drwxrwxr-x  2 dspdata  staff     512 Apr 29 21:15 share
drwxr-xr-x  2 root     whell     512 Apr 14 21:26 users
drwxrwxr-x  2 dspdata  staff     512 Apr 29 21:15 shadow
Смотрим владельца и группу в третьей и четвёртой колонках. Если что то не так, пробуем опять.
Таким образом мы настроили доступ по CIFS/SMB для ресурсов нашего сервера.
(chown– команда смены владельца. R  - рекурсивно, т.е. включая все вложенные папки и файлы. dspdata:staffсоответственно пользовательруппа через двоеточие. /*** - путь откуда нужно  начинать работать в глубь.)


Обеспечиваем доступ к папке «share» непосредственно из папки пользователя
Удобно, практично, позволяет без проблем получиь доступ к «share» по FTP.
Сначала создаём в папках всех пользователей папку !-share.
Для этого  
Дополнительно – Файловый менеджер.
Здесь нам придётся снова залогинится.
Username: root
Password: ваш пароль на «admin»
Language: можете выбрать любой.
Логинимся и попадаем в корень «/».
Переходим: mnt/data/users/
Там по очереди заходим в нужные папки пользователей и создаём папки «!-share» 
В правом верхнем углу в выпадающем меню, выбираем «Directory / Каталог».
Рядом пишем «!-share»  (без кавычек)
Жмём «Create / Создать»
Переходим по очереди в папки других пользователей и так же создаём «!-share» .

Теперь создаём точки монтирования самой папки «share» во вновь созданные папки «!-share» .
Система – Дополнительно – Командные скрипты  
Нажимаем серый крестик
В строку «команда» вводим  mount_nullfs /mnt/data/share  mnt/data/users/***/!-share 
где *** - папка пользователя
В выпадающем меню «Тип» переключаем на «PostInit»
Нажимаем «Добавить».
Повторяем операцию меняя папку пользователя
Таким образом мы создаём точку монтирования папки «share» в корневых папках указанных пользователей и теперь они могут по FTP пользоваться папкой «share».
Если этого не сделать, то доступа к файловому обменнику «share» то FTP, не будет.
(Небольшое пояснение.
«софт линки», они же «мягкие ссылки», они же «symlink» в данном случае не годятся, т.к. в настройках FTP мы будем ставить «Использовать chroot() для всех, кроме root» запирая пользователей в каталоге. 
Так же нельзя использовать монтирование в fstab, т.к. FreeNAS просто не использует его. Это вот такая приколка от разработчиков)


Настройка FTP доступа.
Переходим к настройке доступа по FTP. Данный доступ будет осуществляться из любой точки Internet.
Службы – FTP
Ставим галочку «включить»
TCP-портпорт по которому будет осуществляться доступ. Оставляем как есть (21-й).
Количество клиентовкак хотите, для малого офиса 10 и хватит
Количество соединений с IP-адреса  не ставьте 1. Ставьте 2 или более. Но не слишком много. Я ставлю 2-3.
Максимум попыток входаставим 5 блондинко», это уже диагноз)
Таймаут - оставляем
Разрешать вход с учетной записью root никогда! Геморроя нам не нужно.
Только анонимные пользователиНам это не нужно. У нас же не анонимный паблик FTP.
Только локальные пользователи – Ставим галку.
Приветствие можно чтонибудь написать, можно нет. На работу не влияет.
Расширенные настройки
Создать маскухитрая настройка. Пока оставляем дефолт.
Маска каталогааналогично
FXPнам это не нужно. Не ставим. (кому это нужно, он об этом знает и знает зачем ему это нужно)
Возобновлениеставим галку.
Корневой каталог по умолчаниюставим галку.
Протокол идентификациине ставим.
Обратный поиск DNS, Маскарадный адрес, Номера портов в пассивном режимеэто всё не трогаем. Кто знает, тот сам знает.
Ограничение скорости локальных пользователейдумаем сами. Я редко ставлю. Но если пользователи не дисциплинированы, то нужно ставить.
SSL/TLSВ принципе это полезная и НУЖНАЯ вещь. Пока не ставим, но советую продумать это дело (почитайте в Internet).
Дополнительные параметрыВот тут широкое поле для деятельности.
Итак прежде всего пишем.
UseEncoding UTF-8 cp1251  # Обеспечение корректного отображения кириллицы как по FTP, так и по SMB
DenyFilter  \*.*/  # Параметр безопасности. Блокирует попытку «положить» сервер командами "ls */../*/../*/..." («хитрый» листинг каталогов)
Далее настраиваем ограничение доступа к ресурсу ДСП cо строго определенных IP. К примеру с удалённого офиса. Именно к папке «dsp».
Ко всем остальным (личным) папкам, доступ из любой точки internet.

<Directory /mnt/data/dsp/ >
<Limit ALL>
        Order allow,deny
       Allow from 192.168.100.0/24 # разрешение на доступ из вашей локальной сети. (обязательно) 
       Allow from 222.222.131.22 # разрешение на доступ с определенного IP (удалённый офис)
                     deny from all
                </Limit>
</Directory>

Жмём «сохранить и перезапустить».

Обеспечиваем регулярную чистку «файловой помойки»

            Как известно, общие ресурсы типа «файловая помойка» очень часто разрастаются, там скапливаются никому не нужные файлы, хозяева которых давно забыли об их существовании.
            Что бы предотвратить захламление ресурса Share  можно настроить регулярную очистку файлов и папок возраст которых будет превышать оговорённый.
            Затем вы можете оповестить сотрудников, что файлы в Share хранятся, к примеру 30 дней, а затем удаляются.
            Итак приступим.
    1. Создаём файл скрипта
      Дополнительно – Файловый менеджер.
Переходим в /mnt и создаём файл clean.sh
В правом верхнем углу в выпадающем меню, выбираем «File / Файл».
Рядом пишем «clean.sh»  (без кавычек)
Жмём «Create / Создать»
                        кликаем мышкой на drwxrwxr-x.
В появившемся окне убираем галочки со строк «общий» и «группа», ставим все галочки «r», «x» и «w» в строке «владелец».
Жмём «изменить».
Получаем «-rwx------». (последний «х» делает файл исполняемым)


    1. Приступаем к редактированию
      Дополнительно – Файловый редактор
Жмём на кнопочку в виде трёх точек «…»
Открывается всплывающее окошко.
В этом окне переходим в /mnt и кликаем по созданному файлу clean.sh
Жмём «Ок»
Возвращаемся в Файловый редактор и жмём «загрузить»
Пишем следующие строки:

#!/bin/sh

DIR=/mnt/data/share
find $DIR -mtime +30 -mindepth 1 –delete


Сее означает:
Первая строка – идентификатор языка скрипта
Вторая строка – переменная указывающая на папку которую нужно чистить
Третья строка – найти в пути все файлы старше 30 дней и удалить их.
Внимание!!! Во избежание сбоя в работе скрипта, НЕ КОПИРУЙТЕ «копипастом» текст в скрипт, а набирайте вручную.
Так называемые «не читаемые символы» у Windows и *NIX по разному читаются системой и при копипасте получите сбой в скрипте.  
Жмём «сохранить». Должно появится сообщение «Файл сохранен в /mnt/clean.sh»
    1. Прописываем сам запуск.
Система – Дополнительно – Cron
Нажимаем серый крестик
В строку «команда» вводим  /mnt/clean.sh
В выпадающем меню «Пользователь» ставим «root»
Описание – «clean share»
«Запланированное время» - Ставим:
Минуты – «0»
Часы – «0»
Дни, Месяцы, Дни недели – «Все»
Для проверки нажимаем «Выполнить сейчас». Должно появится сообщение «Задание Сron'а было выполнено успешно.»
Нажимаем «Добавить».
Теперь каждый день, в полночь (0 часов 0 минут), будет запускаться скрипт clean.sh


P.S.
В принципе сервер готов.
Можно ещё включить P2P обменник Torrent. Но об этом отдельно.
Кстати, как мудро было замечено одним из критиков статьи, под хранение данных нужно бы создать отдельный массив.
Об этом тоже отдельно.  
Почему ZFS или на чём собрать массив. 

Статья взята от сюда

Комментариев нет:

Отправить комментарий