Linux файловый сервер домен windows

Linux файловый сервер домен windows

Файловый сервер Samba в домене Windows

В данной статье будет рассмотрен вариант развёртывания файлового сервера Samba на базе операционной системы UBUNTU и организация его взаимодействия с доменов Windows.

Для примера использован следующие исходные данные:

дистрибутив: UBUNTU 16.04.4
имя сервера Linux: 2UBUNTU-16
домен Windows: TESTDOMAIN.LOCAL
контроллеры домена: 2SRV1.TESTDOMAIN.LOCAL , 2SRV2.TESTDOMAIN.LOCAL
администратор контроллера домена: adm

Подготовка

После установки дистрибутива выполняем обновление информации о пакетах и сами пакеты:

sudo apt-get update
sudo apt-get upgrade

Для удобства работы с сервером можно дополнительно установить Webmin (систему управления сервером LINUX через web-интерфейс).

Если есть необходимость, то меняем имя сервера:

hostnamectl set-hostname 2UBUNTU-16

Добавляем доменное имя сервера в файл hosts

127.0.0.1 localhost
127.0.1.1 2ubuntu-16 2ubuntu-16.testdomain.local

После этого перезагружаем сервер:

Установка Samba

Помимо установки Samba, так же устанавливаем пакеты Kerberos и Winbind (для возможности подключения и взаимодействия с доменом на Windows):

sudo apt install krb5-user winbind samba libnss-winbind libpam-winbind

При установке Kerberos будет запрошена область по умолчанию — нужно указать адрес домена (в нашем случае TESTDOMAIN.LOCAL)

Kerberos5 install

Проверяем доступность контроллера домена:

Для успешной работы с доменом нужно установить синхронизацию времени с контроллером домена.

Настраиваем файл конфигурации службы ntp

Нужно закомментировать все текущие указанные серверы проверки время и добавить свой домен ( pool TESTDOMAIN.LOCAL)

Перезапускаем службу времени и проверяем статус синхронизации:

sudo systemctl restart ntp
ntpq -p

Запрашиваем тикет у Kerberos у контроллера домена:

kinit Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.

Читайте также:  В линукс есть терминальный сервер

Если не отобразилась информация об ошибке, то запрос прошёл верно и можно проверить результат:

klist

Настройка Samba

Сохраним резервную копию файла конфигурации:

sudo cp /etc/samba/smb.conf /etc/samba/smb.default.conf

Далее редактируем файл конфигурации:

sudo nano /etc/samba/smb.conf

Пример заполнения раздела [global]

[global]
security = ADS
workgroup = TESTDOMAIN
realm = TESTDOMAIN.LOCAL
encrypt passwords = yes
# Default idmap config for local BUILTIN accounts and groups
idmap config * : backend = tdb
idmap config * : range = 3000-7999
# idmap config for the TESTDOMAIN domain
idmap config TESTDOMAIN : backend = rid
idmap config TESTDOMAIN : range = 10000-999999
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes

После сохранения изменений в файле smb.conf выполняем проверку:

testparm

Взаимодействие Samba с доменом Windows

Если ошибок не обнаружено, то подключаем сервер к домену:

sudo net ads join -U Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.

ads join

В случае отсутствия ошибок проверяем наличия сервера в списке компьютеров домена на стороне контроллера.

2ubuntu 16

Перезагружаем сервис Winbind:

Проверяем связь с контроллером домена, а затем список пользователей и групп домена Windows:

wbinfo —ping-dc
wbinfo -u
wbinfo -g

ping вс

Чтобы UBUNTU могла использовать не только локальные группы и пользователей, но и доменные данные, нужно отредактировать настройки диспетчера службы имен NSS (Name Services Switch)

sudo nano /etc/nsswitch.conf

Необходимо дописать следующие значения:

passwd: compat winbind
group: compat winbind

После этого можно проверить возможность просмотра пользователей и групп:

getent passwd adm
getent group «пользователи домена»

getent

Добавляем папку общего ресурса:

sudo mkdir -p /srv/samba/public

Назначаем имя владельца и группу для созданной папки:

sudo chown «adm»:»пользователи домена» /srv/samba/public

Редактируем файл конфигурации Samba, чтобы добавить поддержку Windows ACLs и сетевую папку public

Читайте также:  Копирование файлов терминале linux

sudo nano /etc/samba/smb.conf

[global]
# Windows ACLs Support
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes

[Public]
path = /srv/samba/public/
read only = no

Перезапустим службу Samba (чтобы применить изменения):

service smbd restart && service nmbd restart

Для удобства удалённой настройки разрешений сетевых ресурсов добавим администраторам домена привилегию SeDiskOperatorPrivilege:

net rpc rights grant «TESTDOMAIN\администраторы домена» SeDiskOperatorPrivilege -U «TESTDOMAIN\adm»

Проверяем подключение привилегий:

net rpc rights list privileges SeDiskOperatorPrivilege -U «TESTDOMAIN\adm»

rpc rights list

Теперь управлять разрешениями для общих ресурсов можно удалённо с сервера Windows. Для этого запускаем оснастку «Управление компьютером» от имени администратора домена, выбираем «Подключиться к другому компьютеру…» и выбираем имя сервера Linux ( 2UBUNTU-16.TESTDOMAIN.LOCAL)

В разделе «Служебные программы» — «Общие папки» — «Общие ресурсы» будут отображаться сетевые ресурсы, доступные на сервере Linux.

Дополнительно:

Дополнительно можно подключать «корзину» для отдельных ресурсов (чтобы сохранять удалённые файлы и папки).

Проверяем наличие соответствующего модуля:

dpkg -l |grep samba-vfs-modules

Устанавливаем, если он отсутствует:

apt install samba-vfs-modules

Добавляем поддержку корзины для общего ресурса Public

sudo nano /etc/samba/smb.conf

[Public]
path = /srv/samba/public/
read only = no
vfs object = recycle
recycle: repository = .recycle/%U
recycle: touch = yes
recycle: keeptree = yes
recycle: versions = yes

«vfs object = recycle» – включение корзины для общего ресурса;
«recycle: repository = .recycle/%U» – папка, куда будут перемещаться удаленные файлы;
«recycle: touch = yes» – обновлять дату при перемещении файла в корзину;
«recycle: keeptree = yes» – сохранять структуру каталогов удаленного файла;
«recycle: versions = yes» – при перемещении в корзину файла с существующим именем, добавлять к началу имени файла префикс «Copy #».

Источник

Оцените статью
Adblock
detector