Linux in samba domain

Samba в домене Active Directory на примере Linux Ubuntu. Простая инструкция для начинающих

В статье есть не обязательные пункты, можете их пропустить, а если не будет работать вернуться к ним.

За основу была взятая информация товарища @gotch из послесловия к статье.

muz.ru — пример нашего домена

(не обязательный пункт) Вполне возможно потребуется создать на сервере DNS запись вида а*aaa.

Заходим в диспетчер серверов -> средства > dns. Зоны прямого просмотра -> выбираем имя домена -> нажимаем правой кнопкой -> создать узел (А или АААА) — вводим имя и айпи компьютера.

Перед установкой желательно обновиться:

sudo aptitude update sudo aptitude upgrade

Нужно обязательно синхронизировать время с контроллером домена.

(не обязательный пункт) Автоматическая же синхронизация настраивается с помощью ntpd, это демон будет периодически выполнять синхронизацию.

Для начала его необходимо установить:

sudo aptitude install ntp Теперь исправьте файл /etc/ntp.conf, добавив в него информацию о вашем сервере времени:

#You do need to talk to an NTP server or two (or three). server dc.muz.ru

После чего перезапустите демон ntpd:

Теперь пора настраивать непосредственно взаимодействие с доменом.

  1. Устанавливаем нужные пакеты: sudo apt install realmd samba-common-bin samba-libs smbclient sssd-tools krb5-user adcli cifs-utils
  2. (не обязательный пункт) Редактируем (проверяем) файл /etc/hosts, указываем FQDN для данного хоста: 127.0.0.1 localhost 127.0.1.1 имякомпьютера.muz.ru имякомпьютера
  3. Проверяем, что наш домен виден в сети: realm discover muz.ru
  4. Вводим машину в домен: sudo realm —verbose join muz.ru -U логинадминадомена —install=/
  5. Редактируем настройки PAM: sudo pam-auth-update Оставим по умолчанию.
Читайте также:  Buffer overflow kali linux

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

Для того чтоб при входе не указывать дополнительно к логину домен, можно добавить суффикс по умолчанию.

В файле /etc/sssd/sssd.conf, в блоке [sssd] добавляем строку:

Даём root права суперюзеру.

Проще всего будет выдать данное разрешение не для конкретного пользователя, а сразу для указанной доменной группы. Создаём группу на контролере домена, например linuxadmins и включаем туда нужных пользователей и группы. Редактируем /etc/sudoers:

Приведу фрагмент файла, в котором описываются пользователь и группа имеющие возможность выполнять sudo (здесь была добавлена последняя строчка фрагмента):

#includedir /etc/sudoers.d MUZ\user1 ALL=(ALL:ALL) ALL %MUZ\linuxadmins ALL=(ALL) ALL

После сохранения файла снова входим в систему доменным пользователем и пробуем выполнить любую команду с sudo.

Монтирование сетевых папок.

Cоздадим на нашем Linux директорию, к которой мы будем монтировать сетевой ресурс. Назовем ее myshare и расположена она будет в каталоге /mnt.

Монтирование общих папок проводим через редактирование фаила /etc/fstab

В этих примерах монтируем 2 директории — smbt и отдел экспозиц. Обратите внимание на различия в синтаксисе.

//192.168.0.5/smbt /mnt/share cifs username=логинадмина,password=парольадмина,domain=muz.ru, vers=3.0,iocharset=utf8,filemode=0777,dirmode=0777 0 0

//192.168.0.5/отдел\040экспозиц /mnt cifs username=логинадмина,password=парольадмина, domain=muz.ru,vers=3.0,iocharset=utf8,filemode=0777,dirmode=0777 0 0

iocharset=utf8 — эта кодировка позволяет работать с именами файлов, в которых используются не только латинские буквы. vers=3.0, — версия протокола smb По умолчанию сетевой ресурс монтируется с полными правами (rwx или 777). Если Вы хотите установить иные права, используйте опции dirmode и filemode.

Следующей командой запустим монтирование всех точек, описанных в /etc/fstab

Всем крепких нервов и здоровья.

Источник

Системное администрирование Linux

Настрйока области Kerberos

После чего можно править /etc/samba/smb.conf, приводим его к виду:

[global] # Указываем домен без конечного суффикса .un workgroup = TEST # Указываем ads режим безопасности (сервер будет вести себя как член домена) security = ads # Указываем область домена (полностью) realm = TEST.UN # Указываем что сервер будет только членом домена (не контроллером) domain master = no local master = no preferred master = no # Отключение CUPS. printcap name = /etc/printcap load printers = no # Указываем диапозон преобразования UID доменных пользователей idmap config * : range = 10000-99999 idmap config * : backend = tdb # Включаем отображение доменных пользователей winbind enum users = yes winbind enum groups = yes # Это разрешает доменным пользователям логиниться на сервере #без указания домена, как локальным пользователям winbind use default domain = yes # Наследование групп winbind nested groups = yes winbind refresh tickets = yes # Возможность логиниться, если сервер оффлайн winbind offline logon = true # Шаблон пользовательской директории, #где %D - имя домена, %U - имя пользователя template homedir = /home/%D/%U # Указание оболочки для доменного пользователя #(/bin/false - пользователь не сможет залогиниться на сервере) template shell = /bin/false client use spnego = yes client ntlmv2 auth = yes encrypt passwords = yes restrict anonymous = 2 log file = /var/log/samba/samba.log log level = 2 winbind separator = ^

Сохраняем изменения и перезапускаем демоны:

Читайте также:  Lenovo b50 30 linux

systemctl restart winbind

И не забудем поставить демоны в автозагрузку:

Добавление сервера в домен

Перед добавление не забываем проверить что у нас получен TGT и синхрогизированно время между сервером и контролерром домена

Выполняем команду и после вводим пароль:

net ads join -U Administrator

Enter Administrator"s password: Using short domain name -- TEST Joined "DEBIAN8" to dns domain "test.un" No DNS domain configured for debian8. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

Все сервер добавлен в домен

Снова перезапускаем демоны:

systemctl restart winbind

Провереям отображение пользователей и групп

administrator guest krbtgt test1 test2
winrmremotewmiusers__ domain computers domain controllers schema admins enterprise admins cert publishers domain admins domain users domain guests group policy creator owners ras and ias servers allowed rodc password replication group denied rodc password replication group read-only domain controllers enterprise read-only domain controllers cloneable domain controllers protected users dnsadmins dnsupdateproxy samba

Создание общих папок на файловом сервере и огранизация доступа к ним

Созданим директории, которые будем делать общими:

Теперь идем в файл /etc/samba/smb.conf и добавляем настройки для общих папок

[share] # коментарий к директории comment = Shared samba storage # Путь к директории path = /share # Не только для чтения read only = no # Параметр устанавливает, будет ли общий ресурс отображаться в списке доступных общих ресурсов в сетевом окружении и в списке просмотра browseable = yes # ресурс будет доступен для пользователей домена состоящих в группе samba #и для пользователя user1, user2 valid users = "@TEST^samba", "TEST^user1", "TEST^user2" # При создании нового файла, владельцем будет назначена группа samba force group = samba # маска доступа для создания нового файла force create mode = 0660 # маска доступа для создания новой директории force directory mode = 0770 # гостевой доступ запрещен guest ok = no # Пользователь user2 имеет доступ к сетевому ресурсу только для чтения read list = "TEST^user2" # write list = "@TEST^samba" - пользователи группы имеют право писать #в директорию (действие по-умолчанию, поэтому можно и не указывать) # Домашние директории пользователей домена [home] # Путь к диретории %D - имя домена, %U - имя пользователя path = /home/%D/%U read only = no browseable = yes # Любой текущий пользователь домена valid users = TEST^%U force create mode = 0644 force directory mode = 0744

Создание домашней директории пользователя при входе доменного пользователя на сервер

Для автоматического создания домашней директории для доменного пользователя необходими подключить модуль pam_mkhomedir.so
Для этого вносим изменения в файл конфигурации PAM /etc/pam.d/common-account, добавляем строку

Читайте также:  Показать только скрытые файлы linux

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

Теперь при первом входе доменного пользователя на сервер будет создана домашняя директория по пути указанном в директиве «template homedir» в файле /etc/samba/smb.conf (если для пользователей домена задана оболочка)

Источник

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