ldap slapd ldapscripts samba smbldap-tools migrationtools cifs-utils libpam-mount sssd
Настройка Сервера
Установить SLDAP
apt install slapd -y
dpkg-reconfigure slapd Установка
apt install samba smbldap-toolsНастройка
Копирование необходимых файлов
cd /usr/share/doc/samba/examples/LDAP/
# Копируем схему
cp samba.schema /etc/ldap/schema/
# Копируем файл настрйоки в любой удобный каталог
cp samba.ldif ~/
# Добавляем
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ~/samba.ldif
cd /usr/share/doc/smbldap-tools/examples/
# заменям smb.conf на ldap'по подобный
cp smb.conf.example /etc/samba/smb.conf
cp smbldap.conf /etc/smbldap-tools/
cp smbldap_bind.conf /etc/smbldap-tools/Настройка файла smb.conf
Приводим файл /etc/samba/smb.conf к подобному виду
[global]
workgroup = vm13.local # домен сервера ldap
netbios name = hq-noc # имя устройства
log level = 2 # уровень логирования (чем выше тем круче)
# ..че-то там..
# поменять доменное имя
passdb backend = ldapsam:"ldap://ldap.vm13.local/"
ldap ssl = no # если нет сертификатов
ldap admin dn = cn=admin,dc=vm13,dc=local # админ ldap'а
# ..че-то там..
ldap suffix = dc=vm13,dc=local # меняем доменное имя
# комментим что не надо
# ldap user suffix = ou=Users
# ldap group suffix = ou=Groups
# ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Idmap
# ....
# Папка пользователей
[PROFILES]
path = /share/profiles/%u
browseable = no
writeable = yes
create mask = 0611
directory mask = 0700
profile acls = yes
csc policy = disable
map system = yes
map hidden = yes- Также не забыть создать папку
mkdir -p /share/profiles
chmod 777 /share/profiles/Применение настроек
smbpasswd -W
systemctl restart smbd.service
# Без ошибок должно бытьsmbldap-config
# В целом, можно протыкивать все дальше,
# при этом нужно смотреть что данные соответствуют, данным в smb.conf
# Возможно нужно будет что то с SSID сделать
# Ибо он должен соответствовать тому что выдает эта команда
# Но вроде этой командой он сам его нормально добавил
# ....
. logon path: directory where roaming profiles are stored. Ex:'\\hq-noc\profiles\%U'
logon path (press the "." character if you don't want roaming profiles) [\\hq-noc\profiles\%U] >
. home directory prefix (use %U as username) [/home/%U] >
. default users' homeDirectory mode [700] >
. default user netlogon script (use %U as username) [] >
. default password validation time (time in days) [45] >
. ldap suffix [dc=firmatpolska,dc=pl] >
. ldap group suffix [] >
. ldap user suffix [] >
. ldap machine suffix [] >
. Idmap suffix [ou=Idmap] >
. sambaUnixIdPooldn: object where you want to store the next uidNumber
and gidNumber available for new users and groups
sambaUnixIdPooldn object (relative to ${suffix}) [sambaDomainName=firmatpolska.pl] >
. ldap master server: IP address or DNS name of the master (writable) ldap server
ldap master server [ldap.firmatpolska.pl] >
. ldap master port [389] >
. ldap master bind dn [cn=admin,dc=firmatpolska,dc=pl] >
. ldap master bind password [] >
. ldap slave server: IP address or DNS name of the slave ldap server: can also be the master one
ldap slave server [ldap.firmatpolska.pl] >
. ldap slave port [389] >
. ldap slave bind dn [cn=admin,dc=firmatpolska,dc=pl] >
. ldap slave bind password [] >
. ldap tls support (1/0) [0] >
. SID for domain firmatpolska.pl: SID of the domain (can be obtained with 'net getlocalsid hq-noc')
SID for domain firmatpolska.pl [S-1-5-21-782873100-53651731-553527799] >
. unix password hash: hash used for unix passwords
If set to "exop", use LDAPv3 Password Modify (RFC 3062) extended operation.
unix password hash (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT) [SSHA] >
. default user gidNumber [513] >
. default computer gidNumber [515] >
. default login shell [/bin/bash] >
. default skeleton directory [/etc/skel] >
. default domain name to append to mail address [] >
. treat shadowAccount object or not (1/0) [1] >
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
backup old configuration files:
/etc/smbldap-tools/smbldap.conf->/etc/smbldap-tools/smbldap.conf.old
/etc/smbldap-tools/smbldap_bind.conf->/etc/smbldap-tools/smbldap_bind.conf.old
writing new configuration file:
/etc/smbldap-tools/smbldap.conf done.
/etc/smbldap-tools/smbldap_bind.conf done.vi /etc/smbldap-tools/smbldap.conf
# изменить параметры
usersdn="${suffix}" #103 строка
computersdn="${suffix}" #108 строка
groupsdn="${suffix}" #113 строка
# после чего выполнить команду
smbldap-populateОбращение к pam
apt install libpam-ldapd
# Выбрать (нажать пробел) (далее = Enter)
*passwd *group *shadow
# IP сервера
<ip address>
# Доменное имя сервера
<domain name>
# Включить создание каталога для пользователя
pam-auth-update
# выбрать (нажать пробел) (далее = Enter)
*create home directory on login
# Перезапустить
rebootДобавление групп
smbldap-groupadd adminsДобавление пользователей
smbldap-useradd -a -P admin -G admins -o "Admins" -md /share/profiles/admin -M admin@vm.local
# -a автоматически заполнить поля (id, uid и прочие)
# -P Имя пользователя
# -G Группа
# -o OU т.е. организационный юнит
# -M email
# -md тут сразу два
# -m Создавать директорию если её нет
# -d Местонахождение домашней директории
SLDAP + SAMBA
LDAPS + сделать то что выше
vi /etc/samba/smb.conf
passdb backend = ldapsam:"ldaps://ldap.lego.dk/"
ldap ssl = no
#ldap ssl = start tls
vi /etc/smbldap-tools/smbldap.conf
# Можно перед каждым пользователем менять его userdn
usersdn="${suffix}" # Изначальный userdn
#usersdn="ou=Billund,dc=lego,dc=dk" # userdn для пользователя frida