Введение
Ранее я рассказывал как сделать очень простую и быструю настройку самбы, когда доступ ограничивается либо внутренними пользователями самбы, либо с помощью ip. Если вас такой формат эксплуатации файлового сервера устраивает, то читать дальше не обязательно. Используйте приведенную статью, и у вас все получится очень быстро.
Для более сложной настройки самбы с авторизацией в Active Directory будем разбираться дальше. Существует как минимум 2 способа добавления linux сервера в домен Windows Server:
- Использовать известное и универсальное средство winbind.
- Либо воспользоваться менее популярным, но как мне кажется, более удобным и простым в настройке — sssd.
Пример добавления linux сервера в домен с помощью winbind я приводил в одной из своих статей по . Утилиту sssd я использовал, когда настраивал авторизацию в linux с помощью доменный учетных записей. В этой статье я воспользуюсь sssd для интеграции в виндовый домен.
Если у вас еще нет готового сервера, то можете воспользоваться моими материалами на эту тему — установка и настройка centos 7. Так же рекомендую настроить iptables для корректной работы сервера с доменом windows. Далее я не буду касаться этого вопроса, мы просто отключим фаерволл, потому что его настройка не тема этой статьи.
Настраивать файловую шару samba будем на сервере под управлением CentOS 7 следующей версии:
Вводные слова я все сказал. Начнем настройку самбы с ввода сервера в домен.
3. Как это работает
Проект с открытым исходным кодом обычно включает три этапа. Давайте быстро рассмотрим каждый этап.
Этап 1. Содействие
Если вы хотите участвовать в проекте с открытым исходным кодом, вы можете начать с обращения в организацию, которая находится за самим программным обеспечением, и спросить, какие возможности у них есть. Этот метод будет хорошо работать для небольших проектов или стартапов, однако вы должны знать, что большинство проектов с открытым исходным кодом не будут платить за вашу работу и что все делается на добровольной основе.
Раньше, когда я работал над проектами с открытым исходным кодом, мне приходилось ждать недели (и в одном случае, два месяца), прежде чем я получил ответ, но вы должны сидеть там и ждать, пока получите все важные электронные письма с подтверждением.
Альтернативно, для крупномасштабных проектов вы можете просто начать кодирование и разветвление собственной версии программного обеспечения
Вам следует с осторожностью относиться к тому, что если многие люди работают над одним и тем же проектом, что и вы, то ваш тяжелый труд не может быть включен в окончательную версию продукта, поэтому будьте готовы к отказу
Если вы ищете вдохновение в проекте, над которым нужно начать работать, всегда есть много интересных проектов, особенно если вы смотрите на сайтах, таких как GitHub, SourceForge и Google Code.
Прежде чем приступить к фактической работе над проектом, вы должны ознакомиться с тем, как выполняется проект и какова его структура, чтобы вы знали, к кому обратиться, если вам требуется в чем-либо помощь. Кроме того, рекомендуется проверить, правильно ли вы все делаете, прежде чем начинать, поскольку вы же не хотите запутаться в чем-то, либо потратить время на работу над функцией, над которой уже работает кто-то другой.
Этап 2: фиксация
Когда вы внесли необходимые изменения или внедрили функцию, которую вы задумали, вы передаете свои изменения основному проекту и отправите их разработчикам проекта для просмотра.
Это можно сделать с помощью GitHub или на платформе SourceForge. Обычно ваши изменения получают ответ от организации или команды, отвечающей за проект: да или нет, указывая, будут ли ваши изменения включены в проект. Если да, то настало время для стадии распространения. Если нет, то возвращаемся на первую стадию.
Этап 3. Распространение
Возможно, наиболее сложным этапом является распространение проекта с открытым исходным кодом. Здесь окончательная версия передается в репозиторий, где был размещен проект, а обновленные версии для не-разработчиков обновляются. На данный момент организация и разработчики попрощались с их напряженной работой и передали ее общественности для общего пользования, и, конечно, критики.
Настройка Samba в Ubuntu 16.04
Начнем, как обычно, с установки. Установка Samba Ubuntu вместе со всеми необходимыми компонентами выполняется командой:
Когда все будет установлено, можно переходить к настройке. Сначала создайте резервную копию оригинального файла конфигурации Samba:
После создания резервной копии, создайте свой файл конфигурации, этой командой:
Сначала укажем глобальные настройки файлового сервера. Для этого вставьте в файл такие строки:
Рассмотрим подробнее что значат эти строки.
- workgroup — рабочая группа, как уже говорилось должна одинакова на всех машинах
- netbios name — имя компьютера, которое будет отображаться в Windows;
- log file — адрес файла, куда будут складываться сообщения об ошибках и другая информация;
- security — по умолчанию выполнять аутентификацию на уровне пользователя;
- name resolve order — очередность разрешения IP адресов по NetBIOS имени. bcast — означает отправить в локальную сеть широковещательный запрос. Если все компьютеры между которыми планируется взаимодействие находятся в одной сети этот вариант оптимальный;
- passdb backend — способ хранения паролей пользователей;
- unix password sync — синхронизация паролей пользователей samba с локальными паролями Unix;
- map to guest — указывает, когда пользователю будет предоставляться гостевой доступ. Доступно три значения — never — никогда, bad user — когда такого пользователя не существует, bad password — когда пароль введен неверно,
Когда завершите создание конфигурационного файла, переходим к вопросу как расшарить папку Ubuntu для Windows.
Настройка сервера
Создайте структуру каталогов. Лучше использовать отдельный раздел с содержанием всех сетевых директорий, например /srv.
Переведите SeLinux в режим disabled.
На время настройки сервиса переведите selinux в режим disabled. Для этого измените содержимое конфигурационного файла:
nano /etc/selinux/config
Заменив текст на
Более подробно см.ссылкуНе забудьте включить selinux после завершения настройки.
Создайте общий каталог.
# mkdir /srv/obmen
Создайте приватный каталог пользователя
# mkdir /srv/user1
Создайте пользователя user1 и adminsmb
# useradd -d /dev/null -s /usr/sbin/nologin user1 # useradd -d /dev/null -s /usr/sbin/nologin adminsmb
Задайте пароль пользователю user1 и adminsmb
# smbpasswd -a user1 # smbpasswd -a adminsmb
Создайте общую группу пользователей
# groupadd obmen
Добавьте пользователя user1 в группу obmen. Последующих пользователей, так же добавляйте в эту группу. Это позволит им подключаться к общей сетевой папке obmen. Пользователя adminsmb в группу пользователя user1.
# usermod -a -G obmen user1 # usermod -a -G user1 adminsmb
Проверьте успешное добавление
# groups user1
Установите группу obmen в качестве владельца папки /srv/obmen и предоставьте право на запись
# chown -R :obmen /srv/obmen # chmod 777 /srv/obmen
Так же установите права и группу на каталог пользователя user1.
# chown -R user1 /srv/user1 # chmod 777 /srv/user1
Проверить права и владельцев можно следующей командой
# ll /srv/
В файл /etc/samba/smb.conf добавьте разделы для созданных сетевых папок.
# nano /etc/samba/smb.conf
workgroup = WORKGROUP # имя рабочей группы server string = Samba Server %v # описание сервера netbios name = redos #netbios-имя сервера security = user passdb backend = tdbsam # Создаем лог файл log file = /var/log/samba/log.%m max log size = 50
comment = Obmen share with authenticated access path = /srv/obmen browsable = yes writable = yes guest ok = no valid users = @obmen adminsmb # указываем группу и конкретное имя пользователя для доступа force directory mode = 0777 force create mode = 0676 vfs objects = full_audit
comment = Private share with user #описание общей папки path = /srv/personal/user1 browsable = yes # «yes» — означает, что общая папка не будет скрытой writable = yes # общая папка доступна для записи guest ok = no # разрешен ли гостевой доступ valid users = user1 adminsmb # указываем доступ для пользователей force directory mode = 0775 force create mode = 0674
Перезагрузите службу samba для вступления изменений в силу.
# sudo systemctl restart smb
# sudo systemctl enable smb
Настройка Samba с интеграцией в AD через sssd
Устанавливаем сам файловый сервер самба.
# yum install samba
Рисуем ему примерно такой конфиг.
# cat /etc/samba/smb.conf
workgroup = XS server string = Samba Server Version %v log file = /var/log/samba/log.%m log level =3 max log size = 500 security = ads encrypt passwords = yes passdb backend = tdbsam realm = XS.LOCAL load printers = no cups options = raw printcap name = /dev/null comment = My shared folder path = /mnt/shara public = no writable = yes guest ok = no valid users = @"[email protected]"
Запускаем службу smb.service и добавляем в автозагрузку.
# systemctl start smb.service # systemctl enable smb.service
Теперь идем проверять подключение к сетевому диску с какой-нибудь виндовой машины. Здесь меня ждало полное разочарование. Ничего не работало. Я бился над решение проблемы примерно 2 дня, но не смог победить. Перелопатил весь гугл по запросу «sssd samba», но не смог заставить работать эту связку.
Через поиск нашел как людей, которые бились над решением проблемы с теми же ошибками, что и у меня, так и тех у кого все работало нормально. Я проверил все гайды и конфиги, где люди говорили, что такая связка работает, но у меня она все равно не работала. Видел сообщения людей, которые так же как я, не смогли победить ошибки. Думаю, проблема кроется в различных версиях софта.
Мне стало жаль тратить время на поиски готового решения с sssd, хотя мне очень хотелось получить рабочий вариант, так как с winbind достаточно часто возникают проблемы. Я надеялся от них избавиться переходом на sssd, но не получилось. Статью не стал переделывать, сохранив то, что уже настроил. Может быть у вас заработает.
Попутно узнал, что sssd не поддерживает NTLM авторизацию, только kerberos. Я не знаю, по какой причине, но у меня самба, судя по логам, упорно пыталась авторизовать пользователя по ntlm. В итоге, я прекратил попытки и вернулся к старому проверенному варианту с winbind. Далее расскажу, как настроить файловый сервер samba для работы в домене windows с помощью winbind.
Установка и запуск Samba
Установка выполняется из репозитория одной командой:
dnf install samba
Разрешаем автостарт сервиса и запускаем его:
systemctl enable smb —now
И проверим, что сервис запустился:
systemctl status smb
Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:
* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.
Если мы настроили сервер правильно, система должна запросить пароль на подключение к Samba. Отказываемся его вводить. На данном этапе проверка закончена.
Решение проблем
Проблемы подключения к Windows 7 — mount error(12): cannot allocate memory
Известная ошибка Windows 7 «mount error(12): cannot allocate memory» может быть исправлена установкой пары ключей в реестре системы Windows:
- (установить значение )
- (установить значение )
В качестве альтернативы можно запустить командную строку от имени Администратора и выполнить следующее:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "LargeSystemCache" /t REG_DWORD /d 1 /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "Size" /t REG_DWORD /d 3 /f
Выполните одно из следующих действий, чтобы изменения вступили в силу:
- Перезагрузите Windows
- Перезапустите службу на сервере через services.msc
- Выполните в командной строке и ; после остановки служба может перезапуститься автоматически
Примечание: Поиск решения в интернете подскажет другое решение, рекомендующее пользователям добавить ключ, изменяющий размер «IRPStackSize». Это неправильное решение для устранения проблемы в Windows 7. Не применяйте его
Проблемы получения доступа к ресурсам, защищенным паролем, из Windows
Обратите внимание, что это должно быть добавлено в локальный файл smb.conf, а не в файл сервера
# lanman fix client lanman auth = yes client ntlmv2 auth = no
Диалоговое окно появляется с большой задержкой
У меня была проблема, связанная с тем, что диалоговое окно для ввода пароля появлялось с задержкой около 30 секунд, когда я пытался установить соединение из Windows XP/Windows 7. Когда я посмотрел файл error.log на сервере, я увидел:
[2009/11/11 06:20:12, 0] printing/print_cups.c:cups_connect(103) Unable to connect to CUPS server localhost:631 - Interrupted system call
Эта опция предотвращает поиск cups и файла /etc/printcap:
printing = bsd printcap name = /dev/null
Ошибка: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Если вы являетесь домашним пользователем, используете samba исключительно для организации общего доступа к файлам с сервера или NAS и не заинтересованы в организации общего доступа к принтерам, вы можете исправить эту ошибку, добавив следующие строки в файл /etc/samba/smb.conf:
load printers = No printing = bsd printcap name = /dev/null disable spoolss = Yes
Перезапустите samba:
systemctl restart smbd
…проверьте ваши логи:
cat /var/log/samba/smbd.log
и больше ошибка не должна появляться.
Не удается предоставить общий доступ к папке
Проблема проявляется в том, что, когда вы пытаетесь предоставить общий доступ к папке через Dolphin (файловый менеджер), и вначале, вроде бы, все работает нормально, после перезапуска Dolphin иконка ресурса исчезла из папки, а в терминале (Konsole) вы видите следующий вывод:
‘net usershare’ returned error 255: net usershare: usershares are currently disabled
Для решения проблемы включите пользовательские общие ресурсы, как это описано в разделе .
И вы используете firewall (iptables), поскольку не доверяете вашей локальной (школа, университет, отель) сети. Это может происходить по следующей причине: когда smbclient просматривает локальную сеть, он посылает широковещательный запрос на udp-порт 137. Затем серверы сети отвечают вашему клиенту, но, поскольку исходный адрес ответа отличается от адреса назначения, который видел iptables при отправке запроса, iptables не признает ответ как «установленное соединение» или «относящийся к запросу», и, следовательно, пакет отбрасывается. Возможное решение — добавление:
iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns
в вашу конфигурацию iptables.
Подключение к серверу завершилось неудачей: (Error NT_STATUS_UNSUCCESSFUL)
Вероятно, вы указываете неправильное имя сервера. Чтобы узнать его, запустите на сервере команду и найдите строку «Transient hostname».
основные черты
XigmaNAS — это дистрибутив на основе FreeBSD, специально предназначенный для работы в качестве высокопроизводительного NAS-сервера. Эта операционная система может быть установлена на любой платформе x64, благодаря FreeBSD у нас будет совместимость с широким спектром оборудования. NAS означает Cеть Подключенное хранилище, и эта операционная система значительно упрощает использование и настройку различных серверов для легкого доступа через Samba, FTP, NFS и многие другие сетевые протоколы. Эта операционная система позволяет Windows, Linux or Мак клиенты для локального или удаленного подключения и работы с файлами в сети.
- CIFS / SMB (Samba)
- Контроллер домена Active Directory (Samba)
- FTP (Proftpd)
- NFS
- TFTP
- AFP
- RSYNC
- Унисон
- iSCSI (инициатор и цель)
- На сетевом уровне у нас есть HAST, CARP, Bridge и Link Aggregation, он также поддерживает 802.1Q и WoL VLAN.
- UPnP
- BitTorrent-клиент с передачей
- Встроенный межсетевой экран и возможность создавать статические маршруты
- Сервер iTunes / DAAP
- iPerf3 для измерения производительности локальной сети
- RRDtool для графической статистики
- IPMItools
- Syncthing
- Медиа-сервер DLNA с Fuppes и miniDLNA (тот или иной).
- Веб-сервер с HTTP и HTTPS (Lighttpd)
- VirtualBox с VNC-сервером, а также phpVirtualBox и noVNC (клиент HTML5 / WebSocket VNC) для управления виртуальной машиной.
- ГАЙКА для контроля ИБП (источника бесперебойного питания).
- Внутренний файловый менеджер в операционной системе.
Мы также хотели бы подчеркнуть, что XigmaNAS позволит нам установить любой пакет FreeBSD вручную, чтобы еще больше расширить возможности этой замечательной операционной системы. Все настройки выполняются через графический интерфейс пользователя, за исключением дополнительного программного обеспечения, которое вы решите установить.
Что касается разработки этой операционной системы, она активнее, чем когда-либо, и каждый месяц они выпускают одно или несколько обновлений операционной системы, включая последние версии внутреннего программного обеспечения и исправляя различные ошибки, недостатки безопасности программного обеспечения и многие другие улучшения. сделать так. действительно быстро. В настоящее время у нас есть две версии XigmaNAS: версия XigmaNAS 12.1 основана на FreeBSD 12.2, а версия XigmaNAS 11.4 основана на версии FreeBSD 11.4, поэтому, в зависимости от того, какую базу выбрать, мы должны установить одну или другую. Мы рекомендуем вам использовать версию XigmaNAS 12.2.
XigmaNAS допускает два режима установки: «Встроенная установка» позволяет нам интегрировать установку на SD-карту, USB-ключ или SSD / HDD. В этом режиме установки вы не можете устанавливать дополнительное программное обеспечение или расширенные настройки на уровне системы. В случае установки операционной системы в режиме «Полная установка» мы выполним обычную установку, в которой у нас будет часть «ДАННЫЕ», где у нас будет все дополнительное программное обеспечение, которое мы можем установить, а также «Своп» ”На случай, если нам не хватит памяти Оперативная память. Оба метода установки позволяют легко обновлять, но это нужно делать «вручную», загружая последнюю версию, и это не совсем автоматический процесс, как на коммерческих NAS.
3) Русификация консоли и терминала
Начнем с консоли:
Проверяем локали в системе
locale -a | grep ruru_RU.CP1251
ru_RU.CP866
ru_RU.ISO8859-5
ru_RU.KOI8-R
ru_RU.UTF-8
1 |
locale-a|grep ruru_RU.CP1251 ru_RU.CP866 ru_RU.ISO8859-5 ru_RU.KOI8-R ru_RU.UTF-8 |
Использовать будем ru_RU.UTF-8
Смотрим доступные keymaps
ls -Al /usr/share/vt/keymaps/ | grep ru
-r—r—r— 1 root wheel 16228 20 янв. 11:41 ru.kbd
-r—r—r— 1 root wheel 16234 20 янв. 11:41 ru.shift.kbd
-r—r—r— 1 root wheel 16232 20 янв. 11:41 ru.win.kbd
1 |
ls-Alusrsharevtkeymaps|grep ru -r—r—r—1root wheel1622820янв.1141ru.kbd -r—r—r—1root wheel1623420янв.1141ru.shift.kbd -r—r—r—1root wheel1623220янв.1141ru.win.kbd |
- keymap=“ru” — переключение на русский клавишей CAPS Lock;
- keymap=“ru.shift” — переключение на русский клавишей CAPS Lock, но верхний ряд на клавиатуре by default будет цифровой;
- keymap=“ru.win” — переключение на русский клавишами CTRL+SHIFT.
Выбираем понравившийся для указания в /etc/rc.conf
Выбираем шрифт, посмотреть доступные можно командой
ls -Al /usr/share/vt/fonts/
total 176
-r—r—r— 1 root wheel 8452 7 дек. 2018 gallant.fnt
-r—r—r— 1 root wheel 1845 20 янв. 11:41 INDEX.fonts
-r—r—r— 1 root wheel 76248 7 дек. 2018 terminus-b32.fnt
-r—r—r— 1 root wheel 1318 7 дек. 2018 tom-thumb.fnt
-r—r—r— 1 root wheel 36408 7 дек. 2018 vgarom-16×32.fnt
-r—r—r— 1 root wheel 8742 7 дек. 2018 vgarom-8×14.fnt
-r—r—r— 1 root wheel 9864 7 дек. 2018 vgarom-8×16.fnt
-r—r—r— 1 root wheel 5384 7 дек. 2018 vgarom-8×8.fnt
-r—r—r— 1 root wheel 5400 7 дек. 2018 vgarom-thin-8×16.fnt
-r—r—r— 1 root wheel 2704 7 дек. 2018 vgarom-thin-8×8.fnt
1 |
ls-Alusrsharevtfonts total176 -r—r—r—1root wheel84527дек.2018gallant.fnt -r—r—r—1root wheel184520янв.1141INDEX.fonts -r—r—r—1root wheel762487дек.2018terminus-b32.fnt -r—r—r—1root wheel13187дек.2018tom-thumb.fnt -r—r—r—1root wheel364087дек.2018vgarom-16×32.fnt -r—r—r—1root wheel87427дек.2018vgarom-8×14.fnt -r—r—r—1root wheel98647дек.2018vgarom-8×16.fnt -r—r—r—1root wheel53847дек.2018vgarom-8×8.fnt -r—r—r—1root wheel54007дек.2018vgarom-thin-8×16.fnt -r—r—r—1root wheel27047дек.2018vgarom-thin-8×8.fnt |
Из них:
- vgarom-8×8.fnt — матрица 8×8 с поддержкой русских символов;
- vgarom-8×14.fnt — матрица 8×14 с поддержкой русских символов;
- vgarom-8×16.fnt — матрица 8×16 с поддержкой русских символов (используется по умолчанию);
- vgarom-16×32.fnt — матрица 16×32 с поддержкой русских символов (для wide мониторов).
Итак в файле /etc/rc.conf должно получится нечто следующее
ee /etc/rc.conf
1 | eeetcrc.conf |
keymap=»ru.win»
font8x16=»vgarom-8×16″ #можно не указывать
1 |
keymap=»ru.win» font8x16=»vgarom-8×16″#можно не указывать |
Для терминала:
Будем использовать login class, открываем файл
ee /etc/login.conf
1 | eeetclogin.conf |
и приводим класс к следующему виду
russian|Russian Users Accounts:\
:charset=utf-8:\
:lang=ru_RU.UTF-8:\
:tc=default:
1 |
russian|Russian Users Accounts\ charset=UTF-8\ lang=ru_RU.UTF-8\ tc=default |
после этого нужно синхронизировать базу
cap_mkdb /etc/login.conf
1 | cap_mkdbetclogin.conf |
Для существующего пользователя меняем класс.
pw user mod <strong>user_name</strong> -L russian
1 | pw user mod<strong>user_name<strong>-Lrussian |
Где user_name имя пользователя
Так-же добавляем строчку чтобы консоль загрузилась в графическом режиме если кириллица все еще не отображается нормально
ee /boot/loader.conf
1 | eebootloader.conf |
hw.vga.textmode=0
1 | hw.vga.textmode= |
И перезапуск
После настройки SSH, можно подключиться удобным терминалом и настраивать сервер более приятным способом.
⇡#Общие папки, пользователи и права доступа
OMV использует традиционную систему прав доступа, состоящую из групп и входящих в них пользователей. По умолчанию есть только один — администратор. Для других людей лучше всего завести отдельные аккаунты, которые будут входить в группу users. Для них достаточно задать имя и пароль. Опционально им можно запретить менять свои данные, а для пущей безопасности в качестве оболочки выбрать false или nologin. Кроме того, для некоторых служб вроде того же клиента BitTorrent создаются отдельные служебные аккаунты. Всё это нужно для управления правами доступа к папкам, которые имеют три уровня: чтение + запись, только чтение, отсутствие доступа вообще. Есть также опция, запрещающая исполнение файлов, но нам она не нужна.
При создании общих каталогов как раз и выбирается их имя, их местоположение (путь + диск или раздел) и задаются права доступа. В диалоге создания приведены только базовые параметры доступа для администраторов, обычных пользователей и всех остальных аккаунтов (служебных в основном). В разделе ACL можно более тонко настроить распределение прав и применить их к текущему каталогу или ко всем вложенным папкам тоже (рекурсивно). Вот тут важна аккуратность, а иначе пользователи или приложения не смогут использовать разрешённые директории или, наоборот, получат слишком много свободы.
Кроме того, для удобства пользователей можно завести им личные каталоги. Для этого надо создать ещё один общий ресурс и указать его в качестве пути для таких каталогов.
TrueNAS настройка Samba
Рассмотрим, как происходит настройка TrueNAS CORE в роли файлового сервера Samba, что может быть полезно государственным и муниципальным компаниям, которых первыми обязуют отказаться от Windows.
Итак, зайдем на сервер и авторизуемся под пользователем root. Поскольку мы пробуем настроить Samba на чистой ОС, то сперва нам необходимо создать пул для хранения данных, для этого перейдем:
Хранилище => Пулы => Добавить.
Далее назначим имя пула, диски и нажимаем кнопку «СОЗДАТЬ».
Сразу добавим папку, которую будем расшаривать по сети.
Создадим нового пользователя. Для этого откроем секцию «Учетные записи», в ней содержится вся информация о пользователях и группах.
Учетные записи => Пользователи => Добавить.
Откроется страница, где укажем имя пользователя, пароль, домашний каталог пользователя или создадим его без домашней папки (/nonexistent).
Осталось открыть общий доступ к папке. Для этого:
«Общий доступ» => «Ресурсы Windows (SMB)» => Добавить.
Выберем папку.
Если у вас до этого не была включена служба Samba, то после этого шага, система предложит сделать это.
Укажем права для сетевого ресурса.
Откроется страница:
Где мы можем указать пользователей, группы и назначить права для сетевого ресурса. В этом примере мы разрешили доступ к папке «exchange»:
- Создатель каталога (root) и его группу (wheel);
- Группу СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ (owner@), ГРУППА-СОЗДАТЕЛЬ (group@);
- Пользователю «usr» полные права.
Для проверки откроем свойства сетевого ресурса и проверим установленные права доступа:
Настройка Samba в TrueNAS CORE закончена. Видно, что функциональность ОС позволяет настраивать гибкие правила доступа к сетевым папкам.
Настройка общих ресурсов Samba
У каждого ресурса есть свой раздел в файле конфигурации /etc/samba/smb.conf. Разделы ресурсов расположены после глобальных параметров и имеют следующий вид
share_name — имя ресурса, используемое при доступе.path — полный путь к ресурсу в файловой системе.browsable — опоеделяет видимость ресурса для других пользователей, но не дает им прав доступа.read only — определяет возможность доступа на запись для пользователей, указанных в параметре valid users.force create mode — задает указанные права доступа к любому файлу, создаваемому в ресурсе.force directory mode — задает указанные права доступа к любой директории, создаваемой в ресурсеvalid users — список пользователей, имеющих доступ к ресурсу. Здесь можно указывать имена или группы, перед группами нужно указывать символ @, например, @admins.
Для настройки конфигурации ресурса нужно в любом текстовом редакторе добавить в файл конфигурации блоки следующего вида для каждого пользователя:
Для ресурса everyone блок будет выглядеть следующим образом:
Все пользователи будут иметь доступ на чтение и запись, так как были добавлены в группу sambashare при создании. Теперь нужно протестировать параметры
$testparm
Если все настроено корректно, результат будет следующим:
После проверки конфигурации запустим сервер и добавим его в автозагрузку командой systemctl:
$sudo systemctl start smbd.service $sudo systemctl enable smbd.service
Сервер работает и готов принимать пользователей.
Управление томами
Сработаются ли они с вашими дисками?
Файлы, хранящиеся в центральном хранилище и легко доступные с нескольких компьютеров — главная функция NAS. Поскольку большинство дистрибутивов в нашем списке занимают целый установочный диск, лучше всего, если вы начнете как минимум с двухдискового NAS. Хотя можно разбить ваш диск на разные разделы, установить NAS на один из них и использовать оставшиеся разделы для хранения, это не рекомендуется. Более того, такие дистрибутивы, как FreeNAS и Rockstor, работают только с целыми дисками, а не с разделами.
При выборе места установки вашего дистрибутива NAS помните, что дистрибутивы NAS предлагают web-интерфейс администратора, доступ к которому можно получить с любого компьютера в сети, и таким образом, не предлагают собственной графической среды. А значит, эти дистрибутивы не требуют слишком много места на диске для себя, поэтому вряд ли будет разумно отводить под установку диск с большой емкостью. Почти все дистрибутивы в нашем обзоре могут практически так же легко быть установлены на USB-диск, что оставляет вам возможность использовать диски только для установки. Если у вас есть SSD-диск, на него вы также можете установить эти дистрибутивы, и они будут прекрасно работать. Вы также можете установить эти дистрибутивы в VirtualBox и при необходимости добавить виртуальные диски для хранения.
FreeNAS, как многие другие решения NAS, создан на файловой системе ZFS. Она обеспечивает многие из расширенных функций, типичных для NAS, например: целостность данных, создание мгновенных снимков, дедупликация (возможность удалять дублирующиеся копии данных) и т. д.
NAS4Free и Rockstor поддерживают все те же разделы, что и FreeNAS. Благодаря ее функциям копирования при записи и мгновенных снимков, Btrfs считается сильным конкурентом файловой системы ZFS, и в EasyNAS и Rockstor является системой по умолчанию.
В дополнение к поддержке файловых систем ЕХТЗ/4, XFS и JFS в OpenMediaVault вы также получите опцию создания квот для каждого настроенного тома и списка контроля доступа (ACL).
Выбранная вами файловая система также зависит от функций NAS, которые вы хотите задействовать. Например, многие функции ZFS, такие как дедупликация. очень сильно нагружают ОЗУ.
Конфигурация ИБП с ГАЙКОЙ
NUT — это программное обеспечение, которое позволяет нам контролировать системы бесперебойного питания, также известные как UPS или UPS. Этот NUT позволяет нам отправлять уведомления по электронной почте при отключении питания, а также настраивать сам сервер NAS на отключение, если в течение определенного времени он не вернулся на электричество. По логике вещей нам нужно будет подключить ИБП к серверу через USB-кабель, чтобы правильно его контролировать.
В зависимости от используемой модели ИБП нам придется выполнить конфигурацию NUT или другую, но почти всегда используемый контроллер — это «blazer_usb», как вы можете видеть здесь. Конечно, мы можем добавить более продвинутые дополнительные параметры, определить электронную почту для уведомлений и многое другое.