Active Directory: Установка на Raspberry Pi, Odroid и подобное.
Создаём или редактируем /etc/dhcpcd.conf
Очищаем место под конфиги, которые сгенерируются сами
https://www.kerstner.at/2018/11/setting-up-an-active-directory-domain-controller-with-samba-4-on-a-raspberry-pi-3/
https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller#Installing_Samba
# explicitely use eth0 and set static IPs, as well as domain specifics
interface eth0
static routers=192.168.1.1
static domain_name_servers=127.0.0.1
static domain_name_servers=192.168.1.1
static ip_address=192.168.1.2
static domain_search=my.domain.local
Устанавливаем необходимые пакеты
apt-get install samba smbclient winbind krb5-user krb5-config krb5-locales winbind libpam-winbind libnss-winbind samba-dsdb-modules samba-vfs-modules bind9 dnsutils
Останавливаем и отключаем сервисы, иначе будут ошибки
systemctl stop samba-ad-dc.service smbd nmbd winbind
systemctl disable samba-ad-dc.service smbd nmbd winbind
Очищаем место под конфиги, которые сгенерируются сами
mv /etc/samba/smb.conf /etc/samba/smb.conf.backup
rm /etc/krb5.conf
Удалим все файлы *.tdb и *.ldb из ниже найденных директорий
# smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"
LOCKDIR: /usr/local/samba/var/lock/
STATEDIR: /usr/local/samba/var/locks/
CACHEDIR: /usr/local/samba/var/cache/
PRIVATE_DIR: /usr/local/samba/private/
Запускаем создание домена
samba-tool domain provision --dns-backend "BIND9_DLZ" --use-rfc2307 --interactive
Создаём ссылку в нужном месте
ln -sf /var/lib/samba/private/krb5.conf /etc/krb5.conf
Подключим и запустим службу
systemctl unmask samba-ad-dc
systemctl status samba-ad-dc
systemctl enable samba-ad-dc
systemctl status samba-ad-dc
systemctl start samba-ad-dc
Редактируем /etc/resolv.conf
search my.domain.local
nameserver 192.168.1.2
Что бы не было проблем после перезагрузки запретим изменения
chattr +i /etc/resolv.conf
Редактируем /etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
DOMAIN.LOCAL = {
kdc = 192.168.1.2
}
Редактируем /etc/samba/smb.conf
[global]
dns forwarder = 192.168.1.2
netbios name = DC
realm = DOMAIN.LOCAL
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
workgroup = DOMAIN
idmap_ldb:use rfc2307 = yes
kerberos method = system keytab
client ldap sasl wrapping = sign
allow dns updates = nonsecure and secure
nsupdate command = /usr/bin/nsupdate -g
local master = yes
os level = 255
preferred master = yes
log level = 3
username map = /etc/samba/username.map
[netlogon]
path = /var/lib/samba/sysvol/domain.local/scripts
read only = No
[sysvol]
path = /var/lib/samba/sysvol
read only = No
Создаём или редактируем /etc/samba/username.map
root=DOMAIN\Administrator
Редактируем /etc/bind/named.conf
// include Active Directory support
include "/var/lib/samba/bind-dns/named.conf";
include "/etc/bind/rndc.key";
Перезагружаем сервер и проверяем что можем залогиниться под админом, смотрим зону
kinit Administrator@DOMAIN.LOCAL
dig -t axfr domain.local
Полезные ссылки:https://www.kerstner.at/2018/11/setting-up-an-active-directory-domain-controller-with-samba-4-on-a-raspberry-pi-3/
https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller#Installing_Samba
Заранее спасибо!
Используем для маленьких предприятий которые не могут или не хотят тратить большие деньги на полноценный сервер. В основном там около 20-30 сотрудников и необходимость разграничивать права в общих папках по отделам, группам или отдельным пользователям.
Производительности на такое количество человек достаточно, очень редко бывает конечно система подвисает, спасает перезагрузка по питанию.