Собирался поднять контроллер домена, но в итоге сделал просто парольные шары. Однако, кое какие наработки были. Делал на Samba3. Качайте-читайте: в формате
.odt и
.pdf.
ps: кстати на debian это делается даже еще проще, чем на Ubuntu (о которой я и писал). Но в debian я использовал пакеты
nss-ldapd и
libpam-ldapd. Это небольшое отличие. Кроме того отличие в том, что slapd в debian уже имел сконфигурированный "остов" ldap, к примеру модуль hdb уже присутствовал. Я только создал начальную схему:
root@smb:~/ldap# cat startldap.ldif
dn: ou=Users,dc=urfu
objectClass: top
objectClass: organizationalUnit
ou: Users
dn: ou=Computers,dc=urfu
objectClass: top
objectClass: organizationalUnit
ou: Computers
dn: ou=Groups,dc=urfu
objectClass: top
objectClass: organizationalUnit
ou: Groups
А после окончания добавил индексы, так как slapd ругался в лог (но работал прекрасно):
root@smb:~/ldap# cat smbindex.ldif
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: loginShell eq
olcDbIndex: uid eq,pres,sub
olcDbIndex: memberUid eq,pres,sub
olcDbIndex: uniqueMember eq,pres
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaGroupType eq
olcDbIndex: sambaSIDList eq
olcDbIndex: sambaDomainName eq
olcDbIndex: default sub
olcDbIndex: cn eq
Ну и в документах, на которые я дал ссылку в принципе описан один (из по крайне мере 2х) способов получить схему Samba, которую можно скормить ldap-у. Я подключал в итоге в минимальном порядке:
root@smb:~/ldap# cat samba.conf
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema
Сделал так, потому что Gosa решил не использовать, очень уж замудрено для моих банальных задач. Никаким веб-инструментом рулить не стал. Пользователей мало, а побочные эффекты присутствуют. К примеру, если добавлять в ldap запись о поьзователе через LAM (ldap-account-manager), то LAM почему-то не считает нужным посмотреть уже существующие записи и увеличить uid для пользователя. Из-за того, что каждая тулза работает по своим правилам - лучше не смешивать то и другое. Я остановился на использовании ldapscripts и самопального скрипта, который заводит пользователей из файла со строками вида: имяЮзера Пароль Группа. Вот такая вот банальщина (прогер из меня никакой):
root@smb:~/ldap# cat /etc/samba/scripts/addUsers
#!/bin/bash
cat /etc/samba/scripts/userList | while read userName userPasswd userGroup
do
echo "---------------------------------------------------------------"
if [ $(getent group $userGroup) ]
then
echo "Группа $userGroup для пользователя $userName уже существует"
else
echo "ВНИМАНИЕ! Создается группа $userGroup"
ldapaddgroup $userGroup &> /dev/null
fi
if [ $(getent passwd $userName) ]
then
echo "ОШИБКА! Пользователь $userName уже существует!"
else
echo "Пользователь $userName:$userGroup добавляется в ldap/Samba"
#ldapadduser $userName $userGroup &> /dev/null
#ldapsetpasswd $userName $userPasswd &> /dev/null
echo -e $userPasswd"\n"$userPasswd | smbpasswd -a -s $userName &> /dev/null
ldapsetprimarygroup $userName $userGroup $> /dev/null
fi
done
echo "---------------------------------------------------------------"
В общем если будет нужно - по своему документу постараюсь объяснить что смогу. Это все конечно касается samba3, а на горизонте уже samba4RC, в которой изкоробки функционал AD из Windows Server 2008 с приятными и вкусными утилитами менеджмента. Но там нужно настроить bind, kerberos и еще важные вещи всякие. Я сам пока не пробовал и не интересовался, к тому же с моим уровнем "недоадмина" мне даже кажется, что не осилю, хотя.. может быть когда-то и поковыряю, штука судя по всему просто фантастическая и кардинально отличающаяся от samba3 удобством использования и отсутствием костылей.
ps: была у меня мысль заюзать Zentyal, но... на этом же сервере у меня dhcp, dns на 2 зоны, squid, роуты и еще что-то там. А настраивать это через веб Zentyal .. хз, зачем оно. Но в качестве быстрого DC он конечно выглядет весьма вкусно.
pps: было бы неплохо кстати чисто ради интереса скооперироваться и попробовать поднять DC на samba4 в Debian, а потом, пройдя сей тернистый путь, написать реальное руководство, которое позволит без костылей, копипастой сделать то же самое. Ну и описать что для чего и как было сделано. Многим людям пригодилось бы как и нам самим.