Неплохая возможность сэкономить штуку баксов, хотя уже меньше — Microsoft не успевает подтягивать цены за инфляцией! Samba 4.1 как AD DC Контроллер Домена позволяет решать организационные вопросы, полностью как Windows Server 2012 — конечно она не может решать функциональные DNS, DHCP, NAT, IPSEC и пр — это надо отдельно прекручивать.
А вот политики GPO (не функциональные, а организационные) пожалуйста — аутентификация, ввод в домен, добавить/ заблокировать пользователя, прописать шары, принтеры! Кстати тут надо поблагодарит Microsoft эти возможности Samba огромная заслуга Команды Разработчиков Samba, но и чуть-чуть Microsоft благодаря её открытости и непротивлению по этому вопросу.
А надо сразу сказать что это 15 версия этой статьи, и ровно 15-ая установка SAMBA4(4.1 теперь уже) во всех других была одна проблема домен переставал работать после перезагрузки сервера.
Эта установка отличается от других следующим:
— Я не добавлял пользователей в AD в консоли Samba на сервере
— Я в качестве Realm брал произвольное имя домена и имя реального хоста = SAMBA.ITCOOKY_VPS(далее подробнее)
Подтверждать взаимосвязи уже сил не было, работает главное!
Для развертывания Samba как AD нужно выполнить пару условий
— включить на диске ACL(не знаю почему)
— у всех клиентов должно быть настроено NTP автоматическая настройка точного время — это и при любых реализациях AD надо делать — главное чтобы на сервере было точное, а Win ПК подтянут из интернета автоматически(должны бы).
Идем в fstab
vi /etc/fstab
И добавляем ACL в параметры присоединения дисков
# </code>Device Mountpoint FStype Options Dump Pass# /dev/ada0p2 / ufs rw,acls 1 1
Чтобы не перезагружать, подсоединим
mount -o acls /
Установка Samba 4.1
А надо сразу сказать что это очень свежий порт — февральский так что надо обновить порты
portsnap fetch extract && portsnap fetch update
Идем в порты
cd /usr/ports/net/samba41
make
По умолчанию всё подходит, попытаемся использоваться встроенный в Samba DNS сервер. Долго подкачивает что надо — может и сорваться, тогда еще раз make нажмите. При выборе местами проскакивает поддержка X11 графического интерфейса это точно не нужно можно не ставить.
make install
Когда я говорил «Долго» не предполагал что настолько!
А надо сразу сказать что при установке не создаются нужные для работы папки делаю их вручную
mkdir /var/db/samba4/
mkdir /var/log/samba4/
Отключаем наш DNS сервер(если он есть), так как мы выбрали SAMBA-овский
в rc.conf комментируем
#named_enable="YES" #named_flags="-u bind"
И перезагружаемся!
Запускаем утилиту по запуску домена.
/usr/local/bin/samba-tool domain provision
Название Realm SAMBA.ITCOOKY_VPS формируется из:
SAMBA — имя домена — произвольное, именно оно будет служит именем домена для ввода ПК
ITCOOKY_VPS — название хоста сервера, его посмотреть можно командой:
uname -n
Вводим только то что жирным, где пусто там enter устраивает по-умолчанию.
Realm: SAMBA.ITCOOKY_VPS
Domain [samba]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
DNS forwarder IP address (write ‘none’ to disable forwarding) [212.188.4.10]: DNS вашего провайдера
Administrator password:
Пароль должен быт сложным типа 123qweQWE это требование AD
В папке /var/db/samba4/private создается файл krb5.conf скопируем его в /etc
cp /var/db/samba4/private/krb5.conf /etc/krb5.conf
Он простой
[libdefaults] default_realm = SAMBA.ITCOOKY_VPS dns_lookup_realm = false dns_lookup_kdc = true
Отредактируем файл resolv.conf
vi /etc/resolv.conf
В него надо добавить строки
search SAMBA.ITCOOKY_VPS domain samba.itcooky_vps
Добавляем в rc.conf…
samba_server_enable="YES"
Автоматом появился файл /usr/local/etc/smb4.conf его не трогаем пока
# Global parameters [global] workgroup = SAMBA realm = SAMBA.ITCOOKY_VPS netbios name = ITCOOKY_VPS server role = active directory domain controller dns forwarder = 212.188.4.10 [netlogon] path = /var/db/samba4/sysvol/samba.bsd/scripts read only = No [sysvol] path = /var/db/samba4/sysvol read only = No
Запускаем Samba
/usr/local/sbin/samba start
Попробуем
/usr/local/bin/smbclient -L localhost -U%
Domain=[SAMBA] OS=[Unix] Server=[Samba 4.1.4] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba 4.1.4) Domain=[SAMBA] OS=[Unix] Server=[Samba 4.1.4] Server Comment --------- ------- Workgroup Master --------- -------
Делаем
/usr/local/bin/smbclient //localhost/netlogon -U Administrator -P -c 'ls'
Domain=[SAMBA] OS=[Unix] Server=[Samba 4.1.4] . D 0 Tue Mar 11 15:32:19 2014 .. D 0 Tue Mar 11 15:32:30 2014 37649 blocks of size 262144. 8570 blocks available
Теперь опять редактируем
vi /etc/resolv.conf
Раньше тут был DNS провайдера, пишем IP SAMBA DOMENA он же будет и DNS и он же при установке спрашивал на какой DNS провайдера перекидывать запросы. Должно выглядеть так:
search SAMBA.ITCOOKY_VPS domain samba.itcooky_vps nameserver 192.168.1.200
Кстати в /etc/host пусть будет(ну она там и была) запись:
192.168.1.200 ITCooky_VPS
Проверяем
host -t SRV _ldap._tcp.SAMBA.ITCooky_VPS
_ldap._tcp.SAMBA.BSD has SRV record 0 100 389 itcooky_vps.samba.itcooky_vps.
Делаем
samba_dnsupdate --verbose | grep Failed
Видим ругается на второй интерфейс… пока не понятно, что это влечет!
Failed to find matching DNS entry A samba.bsd 192.168.2.200 Failed to find matching DNS entry A itcooky_vps.samba.itcooky_vps 192.168.2.200 Failed to find matching DNS entry A gc._msdcs.samba.itcooky_vps 192.168.2.200 /usr/bin/nsupdate: cannot specify -g or -o, program not linked with GSS API Library /usr/bin/nsupdate: cannot specify -g or -o, program not linked with GSS API Library /usr/bin/nsupdate: cannot specify -g or -o, program not linked with GSS API Library Failed nsupdate: 1 Failed nsupdate: 1 Failed nsupdate: 1 Failed update of 3 entries
Вставляем в раздел [global] в smb4.conf
nsupdate command = /usr/local/bin/samba-nsupdate -g
После перезагрузки Samba и пару раз запуска предыдушей команды, ошибки исчезают
В любом случае DNS записи можно добавить(но лучше этого не делать)
/usr/local/bin/samba-tool dns add
Usage: samba-tool dns add
Теперь проверим авторизацию
kinit administrator@SAMBA.ITCOOKY_VPS
Если после ввода запроса ничего не напишет значит все хорошо!
klist
Тоже что-то показывает(а мог и не показать) и это хорошо!
Credentials cache: FILE:/tmp/krb5cc_0 Principal: administrator@SAMBA.ITCOOKY_VPS Issued Expires Principal Mar 6 11:40:07 Mar 6 21:40:07 krbtgt/SAMBA.ITCOOKY_VPS@SAMBA.ITCOOKY_VPS
Делаем
net ads info
Вроде хорошо
LDAP server: LDAP server: 192.168.1.200 LDAP server name: itcooky_vps.samba.itcooky_vps Realm: SAMBA.ITCOOKY_VPS Bind Path: dc=SAMBA,dc=ITCOOKY_VPS LDAP port: 389 Server time: Mon, 17 Mar 2014 19:03:36 MSK KDC server: 192.168.1.200 Server time offset: 0
Проверяем
net ads testjoin
kerberos_kinit_password SAMBA@SAMBA.ITCOOKY_VPS failed: Client not found in Kerberos database kerberos_kinit_password SAMBA@SAMBA.ITCOOKY_VPS failed: Client not found in Kerberos database Join to domain is not valid: Improperly formed account name
Не приятно конечно, но не на что это не влияет, видимо это про какой-то другой джоин!
Домен работает!
Им можно управлять из консоли(лучше не надо), но я попытался установит граф. интерфейс phpLDAPadmin! С одной стороны он как то странной не работал, а сдругой на элементарно простое действие добавить пользователя выдавал анкету где надо было заполнить не прсто имя а еще ктоникто не знает что… поэтому решил воспользоваться инструментом от Microsft!
Ставлю по совету Samba AD management from windows а именно Remote Server Administration Tools for Windows 8.1
А надо сразу сказать что это тулза будет работать только с ПК введенного в Домен если на него войти под Доменным Администратором потому что при заходе она пароль не спрашивает, а пытается ввести тот что по учетке.
А надо сразу сказать что к Windows 8 и SAMBA4 это не касается, а вот в Windows 7,Vista, иногда XP и SAMBA3 не войти в домен если в реестре оных ПК по адресу
HKLM\System\CCS\Services\LanmanWorkstation\Parameters
недобавить или не отредактировать DWORD строки
DomainCompatibilityMode = 1
DNSNameResolutionRequired = 0
И в локальных политиках gpedit.msc не поменять на:
Computer Config > Windows Settings > Security Settings > Local Policies > Security Options
Тут выбираем как написано:
Network Security: LAN Manager Auth. Level: Send LM&NTLM use NTLMv2 session sec. if negociated
И два раза убрать галочку в с:
Network Security: Minimum session...clients:
NO Required 128b encryption
Network Security: Minimum session... servеr:
NO Required 128b encryption
А в случае Windows Enterprase 8.1 и Samba 4 зашел сам с полпинка — специально проверил на свежей установке, потому что тестовую уже успел поковырять пока Samba настраивал. Может ругнуться на DNS чего-то там но это не существенно.
А надо сразу сказать что первый вход под доменным пользоватлем, Windows 8 испытывает терпение(этого самого пользователя) на прочность словом Welcome и выигрывает я перезагрузился(хотя можно и дождаться). Тут тоже надо сразу сказать, что выключаться она тоже не хочет и приходится грубо её вырубать! Зато второй раз заходится за 37,5 секунд!
А надо сразу сказать что что после установки и перезагрузки ярлыка на эту тулзу нигде нет, даже в плитиках надо в консоли писать:
dsa.msc
Та да дан, не смотря на постоянную ругань винды(это было актуально на 3-11 установке сейчас не ругается) вижу и могу управлять тем что на Windows Server 2012 называется Active Directory Users and Computers
В упор не вижу тут настроек GPO, но может они вызываются другими тайными словами…
И точно, ничего скачивать не надо запускаем
gpmc.msc
это наша GPO мы её видим правим как Админ Домена
Попытаемся создать шары для разных групп пользователей, и прописать их сетевыми дисками через GPO
Создаем папки на свой вкус одна будет для админов другая для юзеров
mkdir /usr/samba_share
mkdir /usr/samba_share/admin
mkdir /usr/samba_share/users
Даем все права, наверное не самый лучший способ, но права будут определятся Доменом
chmod 777 /usr/samba_share/users
chmod 777 /usr/samba_share/users
Добавляем в smb4.conf
vi /usr/local/etc/smb4.conf
внизу
[Users] path = /usr/samba_share/users read only = no [Admins] path = /usr/samba_share/admin read only = no
Перечитываем конфиг самбы, чтобы изменения вступили в силу
smbcontrol all reload-config
Дальнейшие настройки мы будем делать с Win ПК для этого, как пишут, надо группе Доменных админу дать права SeDiskOperatorPrivilege не забываем писать свой домен вместо SAMBA
net rpc rights grant 'SAMBA\Domain Admins' SeDiskOperatorPrivilege -Uadministrator
Права можно посмотреть командой
net rpc rights list accounts -Uadministrator
Теперь, еще раз благодорим Metro Интерфейс все нужные програмы до которых раньше можно было добраться мышкой теперь неизвестно где и учим команды.
Запускаем Computer Managment
[WIN]+[R]
compmgmt.msc
Тут выбираем Action > Connect to another computer вводим IP сервера и мы видем его шары! Нажимаем на нужную шару выбираем Properties
Удаляем Everyone группу из списка, добавляем Add группа Normalusers я её ранее добавил через дсаэмсыца, ставим права чтение запись — полные права не ставим(это права на изменение прав).
Прописываем в Домене, есть такой пункт почемуб не прописать
Повторяем также для админов.
Запускаем
gpmc.msc
Выбираемм Defautl Domaine Policy и Edit её
В User Configuration > Preferences > Windwos Settings > Drive Maps выбираем New > Mapped Driver
Настраиваем по желанию главное Action > Create и буковку диска выбрать, чтобы она с другими дисками не совпадала
Повторяем также для админов.
Теперь я загружаю второю или третью(да по этой теме третью) виртуальную машину захожу под юзером User в надежде что у меня появится два сетевых диска K и J, на один который я смогу войти, а на другйо нет потому что он для группы админов.
Ура! Юзерская шара-сетевой диск K появился и в него пишется, диск L даже не появился — правильно он для группы админов. По прямой ссылке \\192.168.1.200\Admins не заходит спрашивает парль юзерский не подходит!
Я еще пару дней понаблюдаю за Samba, пару раз по перезагружаю, но по-моему достойная замена Windows Server 2012 для управления большим парком ПК, а главное бесплатная и главное можно управлять также как Windows Serevr — пользоваться той же базой знаний!
UPD: Пока работает
Или вот еще что, полезная вещь запретить всем нормальным доменным пользователям менять настройки Network!
Заходим под админом домена в ПК введенный в домен. Запускаем:
[WIN]+[R]
gpmc.msc
Я хочу группе пользователей Normalusers запретить редактировать настройки сети. При этом я хочу чтобы они как участники Authenticated Users получали сетевые диски (чтобы их еще раз не настраивать для GPO Normalusers) — чтоже на это скажет логика GPO.
Для начала просто делаю еще одну GPO под названием NormalUsers где в Securuty Filter прописываю группу Normalusers
Редактируют эту GPO и в User Configuration > Polices > Administrative Templates > Network > Network Connections и включаю Enable запрет на Prohibit TCP/IP advenced configuration
Закрываю. Включаю другой ПК и захожу под User на комп, все отлично сетевые диски есть, появился вдруг как отключенный админский, при попытке открыть Propertis сетевого соединения просит пароль админа домена.
Логика GPO видимо следующая: для одной группы пользователей две GPO, но они не конфликтуют потому что большая часть настроек в ней не определены. Пользователю берется для него то что в GPO определено из обоих. Надо пользовать GPO Default Domain Policy для общих правил для всех, и GPO Normalusers конкретно под конкретную группу. Интересно что будет если правила начнут противоречить, но до этого можно и не доводить — только помнить что, где отмечено, за чем и для кого эммм.
Спасибо, очень интересно, я ставил уже версия 4,11 видимо поэтому в реестре вин7 ничего не пришлось править сам вошел в домен, хотя ругнувшись. samba_dnsupdate —verbose | grep Failed на это тоже не ругался.
Статья классная .. была задача (чисто для себя) поднять полноценный домен .. делал всё на ощупь, но всё вроде работает .. есть одно НО .. по ссылке \10.0.3.1shara всё ок, а вот \dc.intrashara — матерится и не пускает … не в курсе почему такие приколы? .. был бы очень признателен )))
Спасибо.
После этой команды: «/usr/local/bin/smbclient //localhost/netlogon -U Administrator -P -c ‘ls'» выскакивает ошибка: «ERROR: Unable to fetch machine password for DS-SAMBA$@ITO.DS-SAMBA in domain ITO »
В чём может быть причина?
Разобрался. Спасибо)
Блин…А написать- как именно разобрался что мешает???
Уважаемый автор, я новичок в линукс. Подскажите вот установил я kubuntu есть два диска /dev/sda1 с точкой монтирования на которой линукс, /dev/sda5 второй пустой диск, /dev/sda6/ — swap
Застрял на этом шаге
И добавляем ACL в параметры присоединения дисков
# Device Mountpoint FStype Options Dump Pass#
/dev/ada0p2 / ufs rw,acls 1 1
делаю у себя у меня другая картина
Добрый день! Да, но установка описана не для линукса, а для FreeBSD поэтому и файлы разные.
Основной недостаток таких вот статей- они описывают какую-то часть настроек, причем все пишут одно и то же. Т.е. если все делать по этой статье- самбу вы поставите. А потом можете ее снести и забыть, потому что не описано главное: как вводить комп в домен? под каким юзером? Это автор почему-то пропускает. Возможно, потому что сам он этого не делал.
Все описанное, было опробовано и работало в 2014 — недостаток в том что в 2020 все изменилось версии и того и этого, и не факт что будет работать как работало в 2014
Вводить под админом сервера… Administrator 123qweQWE
Мда… Кроме копипаст вы что-то пробовали?:))) Administrator конечно-вы хоть почитали б про самбу или в суть того что копируете для установки и проверки самбы вникли!Если охота кнопочку NEXT и ОК только жать, так это винда а не фряха:)
Ну правда я бы вот и обиделся и пристыдился бы, но это было в 2014 году, сейчас я ни то что не помню как настраивал, а даже не могу понять кому может понадобиться AD в плане обычной офисной работы, когда все в O365 и тп.
Я бы немного изменил инструкцию.
1. Если ваш домен будет называться test.ru, то после запуска утилиты пишете test.ru , жмете энтер, дальше он спросит [test]- это будет короткое имя домена(жмем энтер)
2. После того, как ввели пароль- пойдет много строчек- нужно будет проследить, что прописался IP вашего контроллера домена, и потом этот адрес вы и будете прописывать в resolv.conf. Чтобы потом посмотреть- точно ли(и какой именно) прописался- запустите samba-tool dns query 127.0.0.1 test.ru @ ALL -U Administrator — там будет строчка типа «A: 192.168.3.21…» — это вот этот айпишник и есть.
3. Что делать, если он не прописался(или прописался не тот)- я не знаю. При запуске утилиты она сама выбирает, какой IP прописывать, и даже если вы в диалоге его укажете- ей пофигу 🙁
4. Если нужно завести в домен компы под ХР- в smb4.conf пропишите строки:
client min protocol = NT1
server min protocol = NT1
5. Если что-то поменяли в smb4.conf- подождите 60 сек. и изменения вступят в силу.
6. Вообще, понять, что вашу самбу видно с других компов, можно так: открываете Проводник и в адресной строке вводите \\ваш_сервер\ , жмете Энтер. Должен выйти запрос логина/пароля, вводите test\administrator —
и должно что-нибудь открыться. После этого уже можно загонять компы в домен
Вот если бы кто мне ответил по пункту 3.- как изменить IP-шник- было бы здорово..
Спасибо!
If ip doesnt updated you can use regular DNS admin tool on win ( Just install RSAT)
https://docs.microsoft.com/ru-ru/troubleshoot/windows-server/system-management-components/remote-server-administration-tools
Что бы включить комп в домен пришлось прописать ДНС-сервер на нем самбовский. До того не стабильно видел шары на самбе и вообще не хотел присоединятся
А так все поднялось в полпинка и как мне надо работает. Спасибо
FreeBSD 13.1 Samba 4.16.7
Клиенты под Win10