статья ldap+samba+ddns+dhcp [бета-версия]
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Я с cups тоже работал. Согласен что удобно. Но хочется попробовать варианты
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-01 15:06:14
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Здравствуйте, вот вопросы:
1) можно ли организовать доступ к шарам винды по группам домена samba? По юзерям работает, но это ж не серьезно. Пробовал влкючать дом. группу/дом. юзеров в локальную группу и давать ей права, не фурычит. Может есть какая-то хитрость?
2) в домене около 50 компов, все работает ок, не тупит, но ввожу на контроллере dmesg -a
и так почти постоянно, ночью почти нет. особо не напрягает, но наверняка ж чтото не так. конфиги со статьи. лдап 2.4
Еще, кому интересно написал скрипт создания удаления юзеря
1) можно ли организовать доступ к шарам винды по группам домена samba? По юзерям работает, но это ж не серьезно. Пробовал влкючать дом. группу/дом. юзеров в локальную группу и давать ей права, не фурычит. Может есть какая-то хитрость?
2) в домене около 50 компов, все работает ок, не тупит, но ввожу на контроллере dmesg -a
Код: Выделить всё
Dec 12 09:51:41 mx smbd[11967]: nss_ldap: could not search LDAP server - Server is unavailable
Dec 12 09:52:14 mx smbd[11967]: nss_ldap: could not search LDAP server - Server is unavailable
Dec 12 09:53:52 mx smbd[14831]: nss_ldap: could not search LDAP server - Server is unavailable
Еще, кому интересно написал скрипт создания удаления юзеря
Код: Выделить всё
#! /bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
PROFILESDIR=/home/samba/profiles
HOMESDIR=/home/samba/homes
LDAPHOST=127.0.0.1
LDAPPORT=389
LDAPGROUPSBIND='ou=groups,dc=bsz,dc=local'
case $1 in
add)
if [ $# -ne 3 ]
then
echo "usage: `basename $0` add user primary_group"
exit 1
fi
USER=$2
GROUP=$3
# проеряем нет ли уже такого пользователя
pw user show $USER > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo "Can not properly check if user exists."
exit 2
fi
# проверяем наличие указанной группы
pw group show $GROUP > /dev/null
if [ $? -ne 0 ]
then
exit 2
fi
# добавляем юзеря в лдап (скриптом также создается хом-каталог)
ldapadduser $USER $GROUP
if [ $? -ne 0 ]
then exit 3
fi
# добавляем юзеря в его примари группу (чтоб нормально работали
# утилиты типа net rpc group members)
ldapaddusertogroup $USER $GROUP
if [ $? -ne 0 ]
then exit 3
fi
# создаем юзера в самбе
smbpasswd -a $USER
if [ $? -ne 0 ]
then exit 4
fi
# создаем каталог профиля если еще нет (хомяк создается ldapadduser)
if [ ! -e $PROFILESDIR/$USER ]
then
mkdir $PROFILESDIR/$USER && \
chown -R $USER:$GROUP $PROFILESDIR/$USER && \
chmod 700 $PROFILESDIR/$USER
elif [ -d $PROFILESDIR/$USER ]
then
echo "Directory $PROFILESDIR/$USER already exists. Setting rights."
chown -R $USER:$GROUP $PROFILESDIR/$USER && \
chmod 700 $PROFILESDIR/$USER
else
echo "Can not create $PROFILESDIR/$USER. It already exists (not a directory)."
exit 5
fi
echo OK
;;
del)
if [ $# -ne 2 ]
then
echo "usage: `basename $0` del user"
exit 1
fi
USER=$2
# проверяем наличие юзеря
pw user show $USER > /dev/null
if [ $? -ne 0 ]
then
exit 2
fi
# Удаляем юзеря из групп в лдапе, где он был
MEMBEROFGROUPS=`ldapsearch -LLL -h $LDAPHOST -p $LDAPPORT -b \
"$LDAPGROUPSBIND" "(memberuid=$USER)" cn \
| grep "cn:" | awk '{print($2)}'`
for g in $MEMBEROFGROUPS
do
ldapdeleteuserfromgroup $USER $g
done
# Удаляем юзеря из лдапа
ldapdeleteuser $USER > /dev/null 2>&1
if [ $? -ne 0 ]
then
exit 3
fi
# Удаляем каталоги юзеря
if [ -d $PROFILESDIR/$USER ]
then
rm -R -d $PROFILESDIR/$USER
fi
if [ -d $HOMESDIR/$USER ]
then
rm -R -d $HOMESDIR/$USER
fi
;;
*)
echo "usage: `basename $0` add|del user [primary_group]"
exit 1
;;
esac
exit 0
и нет не поэтому, и да и поэтому тоже
-
- проходил мимо
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Вот цитата из конфига smb.conf, приведенного в обсуждаемой статье
Обрати внимание на последние две строчки. Ответил на твой вопрос?[data]
comment = Dump of files
path = /data
create mode = 660
directory mode = 770
public = yes
writeable = yes
write list = @people
read list = @people
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-09-01 15:06:14
Re: статья ldap+samba+ddns+dhcp [бета-версия]
нет(. Я имел ввиду, как делать шары по группам в винде.Andrew21 писал(а):Ответил на твой вопрос?
и нет не поэтому, и да и поэтому тоже
-
- рядовой
- Сообщения: 12
- Зарегистрирован: 2008-12-15 18:47:34
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Народ, помогите! Пытался разобраться сам, да что-то не получается.
Ldap настроил, все нормально работает, вот только named ругается в логах:
FreeBSD 6.3
fserv# pkg_info
bind9-sdb-ldap-9.3.2 The well known Bind9, patched for use of an LDAP based back
ldapscripts-1.8.0_1 Scripts to manage posix accounts in an OpenLDAP directory
nss_ldap-1.257 RFC 2307 NSS module
openldap-client-2.3.43 Open source LDAP client implementation
openldap-server-2.3.43 Open source LDAP server implementation
Ldap настроил, все нормально работает, вот только named ругается в логах:
- named[1113]: starting BIND 9.3.2 -c /etc/namedb/named.conf -t /var/named -u bind
Dec 15 18:43:56 fserv named[1113]: command channel listening on 127.0.0.1#953
Dec 15 18:43:56 fserv named[1113]: LDAP sdb zone '0.0.127.in-addr.arpa': bind failed
Dec 15 18:43:56 fserv named[1113]: zone 0.0.127.in-addr.arpa/IN: could not find NS and/or SOA records
Dec 15 18:43:56 fserv named[1113]: zone 0.0.127.in-addr.arpa/IN: has 0 SOA records
Dec 15 18:43:56 fserv named[1113]: zone 0.0.127.in-addr.arpa/IN: has no NS records
Dec 15 18:43:56 fserv named[1113]: LDAP sdb zone '100.168.192.in-addr.arpa': bind failed
Dec 15 18:43:56 fserv named[1113]: zone 100.168.192.in-addr.arpa/IN: could not find NS and/or SOA records
Dec 15 18:43:56 fserv named[1113]: zone 100.168.192.in-addr.arpa/IN: has 0 SOA records
Dec 15 18:43:56 fserv named[1113]: zone 100.168.192.in-addr.arpa/IN: has no NS records
Dec 15 18:43:56 fserv named[1113]: LDAP sdb zone 'rk-antey.ru': bind failed
Dec 15 18:43:56 fserv named[1113]: zone rk-antey.ru/IN: could not find NS and/or SOA records
Dec 15 18:43:56 fserv named[1113]: zone rk-antey.ru/IN: has 0 SOA records
Dec 15 18:43:56 fserv named[1113]: zone rk-antey.ru/IN: has no NS records
Dec 15 18:43:56 fserv named[1113]: running
- acl lan { 192.168.100.0/24; };
acl transfers { 127.0.0.1; };
acl trusted { 192.168.100.0/24; };
key "rndc-key" {
algorithm hmac-md5;
secret "Lvv9zgyj87oWGtH73KQBSg==";
};
controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
};
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
listen-on { 127.0.0.1; };
listen-on { 192.168.100.1; };
forward only;
forwarders { 192.168.100.5; 195.34.224.1; 195.34.224.2; };
allow-query { lan; trusted; };
allow-recursion { trusted; lan; };
query-source address * port 53;
};
zone "." {
type hint;
file "named.root";
};
zone "rk-antey.ru" {
type master;
database "ldap ldap://127.0.0.1/zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};
zone "100.168.192.in-addr.arpa" {
type master;
database "ldap ldap://127.0.0.1/zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,dc=ru 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};
zone "0.0.127.in-addr.arpa" {
type master;
database "ldap ldap://127.0.0.1/zoneName=0.0.127.in-addr.arpa,ou=DNS,dc=rk-antey,dc=ru 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};
- dn: ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: organizationalUnit
ou: DNS
description: Domain Zones
# zone rk-antey
dn: zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: rk-antey.ru
# SOA
dn: relativeDomainName=@,zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: @
nSRecord: fserv.rk-antey.ru.
sOARecord: fserv.rk-antey.ru. root.fserv.rk-antey.ru. 1 8H 2H 1W 1D
# fserv IN A 192.168.100.1
dn: relativeDomainName=fserv,zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: fserv
dNSClass: IN
aRecord: 192.168.100.1
# termserv IN A 192.168.100.3
dn: relativeDomainName=termserv,zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: termserv
dNSClass: IN
aRecord: 192.168.100.3
# iserv IN A 192.168.100.5
dn: relativeDomainName=iserv,zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: iserv
dNSClass: IN
aRecord: 192.168.100.5
# addr-arpa
dn: zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: 100.168.192.in-addr.arpa
# SOA for addr-arpa
dn: relativeDomainName=@,zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: @
nSRecord: fserv.rk-antey.ru.
sOARecord: fserv.rk-antey.ru. root.fserv.rk-antey.ru. 1 8H 1H 1W 1D
# PTR for .1
dn: relativeDomainName=1,zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: 1
pTRRecord: fserv.rk-antey.ru
# PTR for .3
dn: relativeDomainName=3,zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: 3
pTRRecord: termserv.rk-antey.ru
# PTR for .5
dn: relativeDomainName=5,zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: 5
pTRRecord: fserv.rk-antey.ru
- dn: ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: organizationalUnit
ou: DNS
description: Domain Zones
dn: zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: rk-antey.ru
dn: relativeDomainName=@,zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: @
nSRecord: fserv.rk-antey.ru.
sOARecord: fserv.rk-antey.ru. root.fserv.rk-antey.ru. 1 8H 2H 1W 1D
dn: relativeDomainName=fserv,zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: fserv
dNSClass: IN
aRecord: 192.168.100.1
dn: relativeDomainName=termserv,zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: termserv
dNSClass: IN
aRecord: 192.168.100.3
dn: relativeDomainName=iserv,zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: iserv
dNSClass: IN
aRecord: 192.168.100.5
dn: zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: 100.168.192.in-addr.arpa
dn: relativeDomainName=@,zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,
dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: @
nSRecord: fserv.rk-antey.ru.
sOARecord: fserv.rk-antey.ru. root.fserv.rk-antey.ru. 1 8H 1H 1W 1D
dn: relativeDomainName=1,zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,
dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: 1
pTRRecord: fserv.rk-antey.ru
dn: relativeDomainName=3,zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,
dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: 3
pTRRecord: termserv.rk-antey.ru
dn: relativeDomainName=5,zoneName=100.168.192.in-addr.arpa,ou=DNS,dc=rk-antey,
dc=ru
objectClass: top
objectClass: dNSZone
zoneName: 100.168.192.in-addr.arpa
relativeDomainName: 5
pTRRecord: fserv.rk-antey.ru
dn: relativeDomainName=localhost,zoneName=rk-antey.ru,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
zoneName: rk-antey.ru
relativeDomainName: localhost
dNSClass: IN
aRecord: 127.0.0.1
dn: zoneName=0.0.127.in-addr.arpa,ou=DNS,dc=rk-antey,dc=ru
objectClass: top
objectClass: dNSZone
relativeDomainName: 0.0.127.in-addr.arpa
zoneName: 0.0.127.in-addr.arpa
dn: relativeDomainName=@,zoneName=0.0.127.in-addr.arpa,ou=DNS,dc=rk-antey,dc=r
u
objectClass: top
objectClass: dNSZone
relativeDomainName: @
zoneName: 0.0.127.in-addr.arpa
nSRecord: fserv.rk-antey.ru.
sOARecord: fserv.rk-antey.ru. root.fserv.rk-antey.ru. 1 3H 1H 12W 1H
dn: relativeDomainName=1,zoneName=0.0.127.in-addr.arpa,ou=DNS,dc=rk-antey,dc=r
u
objectClass: top
objectClass: dNSZone
relativeDomainName: 1
pTRRecord: localhost.rk-antey.ru
zoneName: 0.0.127.in-addr.arpa
FreeBSD 6.3
fserv# pkg_info
bind9-sdb-ldap-9.3.2 The well known Bind9, patched for use of an LDAP based back
ldapscripts-1.8.0_1 Scripts to manage posix accounts in an OpenLDAP directory
nss_ldap-1.257 RFC 2307 NSS module
openldap-client-2.3.43 Open source LDAP client implementation
openldap-server-2.3.43 Open source LDAP server implementation
-
- рядовой
- Сообщения: 12
- Зарегистрирован: 2008-12-15 18:47:34
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Проблема разрешилась: нужно было создавать файл rndc.key, а не rndc.conf как указано в статье.
Возникла другая проблема ldap долго запускается и named и dhcpd на этапе загрузки из rc.conf не могут подключиться к ldap, соответственно или не запускаются или запускаются некорректно. Есть ли выход из этой ситуации?
Возникла другая проблема ldap долго запускается и named и dhcpd на этапе загрузки из rc.conf не могут подключиться к ldap, соответственно или не запускаются или запускаются некорректно. Есть ли выход из этой ситуации?
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2008-12-25 7:12:30
Re: статья ldap+samba+ddns+dhcp [бета-версия]
По поводу поднятия DHCP:
Если поднимать как cn=mail.artpaint - dhcpd ругается:
Если вместо этого указать cn=mail без всяких точек - то всё нормально поднимается...
Бага аль фича, но я что-то упустил?
И еще - если все настроить как тут - то ни named, ни dhcpd нормально не стартуют, пока не запустится slapd.
Почему не осветили rcorder?
Я решил проблему так:
в файле /etc/rc.d/named добавил значение slapd в строку REQUIRE
в файле /usr/local/etc/rc.d/isc-dhcpd добавил значение slapd в строку REQUIRE
ну и самбу тоже хорошо бы запускать после slapd - в файле /usr/local/etc/rc.d/samba добавил значение slapd в строку REQUIRE
надеюсь кому-то поможет... А то после ребута запускать ручками dhcp как-то некрасиво было
Код: Выделить всё
...
dhcpSecondaryDN: cn=mail.artpaint,ou=dhcp,dc=artpaint,dc=spb,dc=ru
...
dn: cn=mail.artpaint, ou=dhcp, dc=artpaint,dc=spb,dc=ru
dhcpServiceDN: cn=conf, ou=dhcp, dc=artpaint,dc=spb,dc=ru
objectClass: top
objectClass: dhcpServer
cn: mail.artpaint
...
Код: Выделить всё
Error: Cannot find LDAP entry matching (&(objectClass=dhcpServer)(|(cn=mail)(cn=mail)))
Бага аль фича, но я что-то упустил?
И еще - если все настроить как тут - то ни named, ни dhcpd нормально не стартуют, пока не запустится slapd.
Почему не осветили rcorder?
Я решил проблему так:
в файле /etc/rc.d/named добавил значение slapd в строку REQUIRE
Код: Выделить всё
# REQUIRE: SERVERS cleanvar slapd
Код: Выделить всё
# REQUIRE: DAEMON slapd
Код: Выделить всё
# REQUIRE: NETWORKING SERVERS DAEMON ldconfig resolv slapd
# REQUIRE: cupsd
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2008-12-25 7:12:30
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Не понял вопроса... Тебе на винде шару создать надо или на самбе?urusha писал(а):можно ли организовать доступ к шарам винды по группам домена samba? По юзерям работает, но это ж не серьезно. Пробовал влкючать дом. группу/дом. юзеров в локальную группу и давать ей права, не фурычит. Может есть какая-то хитрость?
Если на винде - тогда в чем проблема - группы там есть.
Если на самбе - то тоже не проблема.
Если тебе "много групп надо на отдельные папки ставить" - тогда ACL включи на разделе. mount -o acls /dev/... и т.д. или в /etc/fstab пропиши у этого раздела acls и далее командами getfacl и setfacl настраивай... либо в винде по сети, если окошки удобнее ))
Если тебе на конкретную шару надо, то в smb.conf
Код: Выделить всё
[public]
...
valid users = "@Domain Admins", "@Domain Users"
[reseption]
...
valid users = "@Domain Admins", "@Reception"
-
- проходил мимо
Re: статья ldap+samba+ddns+dhcp [бета-версия]
доброго времени суток!
При запуске скрипта dhcpd2ldap.pl он вываливает вот такое:
При запуске скрипта dhcpd2ldap.pl он вываливает вот такое:
И соответственно ниче никуда не добавляет. Никто не сталкивался с такой граблей?srvdm# /root/dhcp/dhcpd2ldap.pl
Initializing LDAP Connection...Done
Timestamp change or AUTO_VERIFY triggered...
Removing inaccurate records for alex_book...
failed to remove entry: No such object at /root/dhcp/dhcpd2ldap.pl line 150.
failed to remove entry: No such object at /root/dhcp/dhcpd2ldap.pl line 152.
Adding entry for alex_book at 10.1.10.117...
failed to add entry: parent does not exist at /root/dhcp/dhcpd2ldap.pl line 167.
failed to remove entry: No such object at /root/dhcp/dhcpd2ldap.pl line 170.
failed to add entry: parent does not exist at /root/dhcp/dhcpd2ldap.pl line 181.
-
- проходил мимо
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Alex_kozlov писал(а):доброго времени суток!
При запуске скрипта dhcpd2ldap.pl он вываливает вот такое:
И соответственно ниче никуда не добавляет. Никто не сталкивался с такой граблей?srvdm# /root/dhcp/dhcpd2ldap.pl
Initializing LDAP Connection...Done
Timestamp change or AUTO_VERIFY triggered...
Removing inaccurate records for alex_book...
failed to remove entry: No such object at /root/dhcp/dhcpd2ldap.pl line 150.
failed to remove entry: No such object at /root/dhcp/dhcpd2ldap.pl line 152.
Adding entry for alex_book at 10.1.10.117...
failed to add entry: parent does not exist at /root/dhcp/dhcpd2ldap.pl line 167.
failed to remove entry: No such object at /root/dhcp/dhcpd2ldap.pl line 170.
failed to add entry: parent does not exist at /root/dhcp/dhcpd2ldap.pl line 181.
Пардон.... грабли называются кривыми руками
Проблема снята.
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2009-02-18 17:47:08
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Господа, у меня получилось ввести ПК (и сервер с самбой и лдапом тоже) в домен только после того, как я добавил их в базу LDAP командой # ldapadduser имя_ПК$ computers
иди через LdapAdmin в ou-computers через New->Computers
Это нормально? Запись в базе LDAP должна создаваться автоматом или ее руками надо создавать, как в моем случае?
Если не трудно, на пальцах объясните, кто и что вносит записи в базу лдап при введении ПК в домен...
иди через LdapAdmin в ou-computers через New->Computers
Это нормально? Запись в базе LDAP должна создаваться автоматом или ее руками надо создавать, как в моем случае?
Если не трудно, на пальцах объясните, кто и что вносит записи в базу лдап при введении ПК в домен...
-
- проходил мимо
Re: статья ldap+samba+ddns+dhcp [бета-версия]
поправь пути в smb.conf..
add machine script = /usr/local/sbin/ldapaddmachine '%u' computers
add user script = /usr/local/sbin/ldapadduser '%u' users
add group script = /usr/local/sbin/ldapaddgroup '%g'
add user to group script = /usr/local/sbin/ldapaddusertogroup '%u' '%g'
delete user script = /usr/local/sbin/ldapdeleteuser '%u'
delete group script = /usr/local/sbin/ldapdeletegroup '%g'
delete user from group script = /usr/local/sbin/ldapdeleteuserfromgroup '%u' '%g
set primary group script = /usr/local/sbin/ldapsetprimarygroup '%u' '%g'
rename user script = /usr/local/sbin/ldaprenameuser '%uold' '%unew'
add machine script = /usr/local/sbin/ldapaddmachine '%u' computers
add user script = /usr/local/sbin/ldapadduser '%u' users
add group script = /usr/local/sbin/ldapaddgroup '%g'
add user to group script = /usr/local/sbin/ldapaddusertogroup '%u' '%g'
delete user script = /usr/local/sbin/ldapdeleteuser '%u'
delete group script = /usr/local/sbin/ldapdeletegroup '%g'
delete user from group script = /usr/local/sbin/ldapdeleteuserfromgroup '%u' '%g
set primary group script = /usr/local/sbin/ldapsetprimarygroup '%u' '%g'
rename user script = /usr/local/sbin/ldaprenameuser '%uold' '%unew'
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2009-02-18 17:47:08
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Пути были аналогичные, но для пущей уверенности скопировал Ваши
Результат аналогичный:
На машине с XP при попытке ввести в домен, после запроса на логин/пароль администратора домена выскаивает ошибка:
"При присоединении к домену "home" произошла следйющая ошибка
Не найдено имя пользователя"
Вводится без проблем, если руками в базе создать учетку под ПК
Результат аналогичный:
На машине с XP при попытке ввести в домен, после запроса на логин/пароль администратора домена выскаивает ошибка:
"При присоединении к домену "home" произошла следйющая ошибка
Не найдено имя пользователя"
Вводится без проблем, если руками в базе создать учетку под ПК
-
- рядовой
- Сообщения: 25
- Зарегистрирован: 2008-01-17 18:17:41
Re: статья ldap+samba+ddns+dhcp [бета-версия]
сделал все по статье. затыкон на вводе в домен
аналогично при вводе в домен любой виндовой тачки.
И еще, по статье не понял как программкой LDAPAdmin коннектиться к базе: какие должны быть имя пользователя (root или admin) и пароль (rootpw или smbpasswd), тип авторизации?
У меня и на root и на admin ругается:
LDAP error! Недопустимый синтаксис DN: invalid DN
Анонимно пускает
Код: Выделить всё
# net rpc join -S mail -U administrator%password
[2009/03/02 13:50:34, 0] libsmb/clientgen.c:cli_receive_smb(111)
Receiving SMB: Server stopped responding
Could not connect to server inet
[2009/03/02 13:50:44, 0] libsmb/clientgen.c:cli_receive_smb(111)
Receiving SMB: Server stopped responding
Connection failed: NT_STATUS_IO_TIMEOUT
[2009/03/02 13:50:54, 0] libsmb/clientgen.c:cli_receive_smb(111)
Receiving SMB: Server stopped responding
Could not connect to server inet
Connection failed: NT_STATUS_IO_TIMEOUT
#
И еще, по статье не понял как программкой LDAPAdmin коннектиться к базе: какие должны быть имя пользователя (root или admin) и пароль (rootpw или smbpasswd), тип авторизации?
У меня и на root и на admin ругается:
LDAP error! Недопустимый синтаксис DN: invalid DN
Анонимно пускает
Код: Выделить всё
# ldapwhoami
anonymous
Result: Success (0)
# ldapwhoami -D "cn=root,dc=artpaint,dc=spb,dc=ru" -x -W
Enter LDAP Password:<пароль rootpw>
dn:cn=root,dc=artpaint,dc=spb,dc=ru
Result: Success (0)
-
- рядовой
- Сообщения: 30
- Зарегистрирован: 2009-03-04 19:13:15
- Откуда: Москва
- Контактная информация:
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Попробуйте cn=root,dn=blabla,dn=ru поскольку я пароли ставил одинаковые то х.з. но выбор-то небогатый...И еще, по статье не понял как программкой LDAPAdmin коннектиться к базе: какие должны быть имя пользователя (root или admin) и пароль (rootpw или smbpasswd), тип авторизации?
«Только песок не меняется, всё остальное изменчиво.» — Один из джав Анкорхеда
-
- проходил мимо
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Заметил следующую фичу:
Если контроллер подвешивается, после перезагрузки ПК отказываются в него входить.
После ввода доменного логина и пароля ПК долго думает на моменте применения личных параметров, потом выскаивает окошко, что перемещаемый профиль на сервере не найден, ПК грузится.... сетевай домашняя папка поключается...
Если вывести ПК из домена и ввести заново, работа восстанавливается...
странно....
Если не трудно, подскажите, какой именно лог в данном случае осматривать?
Если контроллер подвешивается, после перезагрузки ПК отказываются в него входить.
После ввода доменного логина и пароля ПК долго думает на моменте применения личных параметров, потом выскаивает окошко, что перемещаемый профиль на сервере не найден, ПК грузится.... сетевай домашняя папка поключается...
Если вывести ПК из домена и ввести заново, работа восстанавливается...
странно....
Если не трудно, подскажите, какой именно лог в данном случае осматривать?
- AndyS
- рядовой
- Сообщения: 30
- Зарегистрирован: 2008-10-23 15:55:11
- Откуда: Киев
- Контактная информация:
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Поправка по DHCP:
Строка 151 dhcpd2ldap.pl
Должно быть так:
Было так:
Если не удалить $third, то множатся обратные зоны для одного хоста.
С виндовыми компами все на ура проходит, вот с Ubuntu получал каждый раз новый айпишник, и обратная зона не удалялась.
Если два компа с одинаковым именем, то ругатся должно?
Что-то не ругается у меня.
Куда курить надо?
PS Пока что контроллер домена не тестил.
Строка 151 dhcpd2ldap.pl
Должно быть так:
Код: Выделить всё
$result = $ldap->delete("relativeDomainName=$fourth," . $REVERSE_BASE);
Код: Выделить всё
$result = $ldap->delete("relativeDomainName=$fourth.$third," . $REVERSE_BASE);
С виндовыми компами все на ура проходит, вот с Ubuntu получал каждый раз новый айпишник, и обратная зона не удалялась.
Если два компа с одинаковым именем, то ругатся должно?
Что-то не ругается у меня.
Куда курить надо?
PS Пока что контроллер домена не тестил.
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2009-04-14 17:31:56
Re: статья ldap+samba+ddns+dhcp [бета-версия]
во первых спасибо за статью как автору лично так и всем кто поспособствовал чтобы гугл мне ее выдал. теперь по делу - сделал я первую часть (ввел самбу в домен и тестовую машину на винХП тоже в этот же домен) и кроме кривых рук (моих) столкнулся с одним странным явлением, вроде все работало но компы упорно не хотели присоединяться в домент, вылетало сообщение "Creation of workstation account filed" попытавшись последить где же грабли я их нашел, оказалось что лдап-скрипты прописанные в конфиге самбы
у меня лягли в папку /usr/X11R6/sbin а не в /usr/local/bin, возможно потому что на машине стояли Х, тем не менее мне как чайнику было страшно что опять придется все переставлять и пробовать с нуля, думаю в статью можно добавить маленький комент что мол если на машине стоят Х то искать скрипты "тут" (если конечно это вызвано Х-сами) в любом случае может кому-то поможет.
п.с. Х-сы ставил чтобы можно было нормально читать эту статью и пробовать походу дела
п.п.с для ясности все таки напишу - после того как я поменял пути в конфиге самбы оба компа успешно присоединились к домену
п.п.п.с - да , они лежали и в local/sbin но поиском я нашел их именно там думал удалить пост, но мож кто-то такой же резкий как я увидит и сообразит, так что оставляю на усмотрение модеров, если эта тема уже раскрыта - удалите
Код: Выделить всё
# скрипты для добавления юзеров и групп (юзается в usermgr от nt4)
add machine script = /usr/local/bin/ldapaddmachine '%u' computers
add user script = /usr/local/bin/ldapadduser '%u' users
add group script = /usr/local/bin/ldapaddgroup '%g'
add user to group script = /usr/local/bin/ldapaddusertogroup '%u' '%g'
delete user script = /usr/local/bin/ldapdeleteuser '%u'
delete group script = /usr/local/bin/ldapdeletegroup '%g'
delete user from group script = /usr/local/bin/ldapdeleteuserfromgroup '%u' '%g'
set primary group script = /usr/local/bin/ldapsetprimarygroup '%u' '%g'
rename user script = /usr/local/bin/ldaprenameuser '%uold' '%unew'
п.с. Х-сы ставил чтобы можно было нормально читать эту статью и пробовать походу дела
п.п.с для ясности все таки напишу - после того как я поменял пути в конфиге самбы оба компа успешно присоединились к домену
п.п.п.с - да , они лежали и в local/sbin но поиском я нашел их именно там думал удалить пост, но мож кто-то такой же резкий как я увидит и сообразит, так что оставляю на усмотрение модеров, если эта тема уже раскрыта - удалите
- s-kAn
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2009-04-18 12:49:01
- Откуда: Московская область
- Контактная информация:
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Уважаемые...помогите пожалуйста ничинающему...все делаю по статье но при запуске slapd пишет вот такую штуку:
># /usr/local/etc/rc.d/slapd start
device: not found
device: not found
Starting slapd.
соответсвенно процесс не запускается и ничего не пашет...
Подскажите куда копать и что делать...
Заранее очень благодарен...
># /usr/local/etc/rc.d/slapd start
device: not found
device: not found
Starting slapd.
соответсвенно процесс не запускается и ничего не пашет...
Подскажите куда копать и что делать...
Заранее очень благодарен...
Стремись к немозможному и получишь максимум...
-
- мл. сержант
- Сообщения: 79
- Зарегистрирован: 2008-10-26 10:07:03
- Контактная информация:
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Dobroe vremya vsem.
Stalknulsya s takoy ne obyasnimoy vewuyu , kak v faile
dale vipolnyayu komandu
vidaet takoe :
a kogda po umolchaniyu
# Comment ICONVBIN to disable UTF-8 conversion
ICONVBIN="/usr/local/bin/iconv"
#ICONVCHAR="ISO-8859-15"
to pishet :
Kakie moi deystviya dolzhni bit , kak eto poborot ?
Ne prasilniy ICONVCHAR="KOI8-R" ?
Spasibo vsem
Stalknulsya s takoy ne obyasnimoy vewuyu , kak v faile
Код: Выделить всё
/usr/local/etc/ldapscripts/ldapscripts.conf
Код: Выделить всё
# Character set conversion : $ICONVCHAR <-> UTF-8
# Comment ICONVBIN to disable UTF-8 conversion
ICONVBIN="/usr/local/bin/iconv"
#ICONVCHAR="ISO-8859-15"
ICONVCHAR="KOI8-R"
Код: Выделить всё
ldapaddgroup admins
Код: Выделить всё
Error adding group admins to LDAP
# Comment ICONVBIN to disable UTF-8 conversion
ICONVBIN="/usr/local/bin/iconv"
#ICONVCHAR="ISO-8859-15"
to pishet :
Код: Выделить всё
You must set ICONVCHAR before running these scripts
Ne prasilniy ICONVCHAR="KOI8-R" ?
Spasibo vsem
-
- рядовой
- Сообщения: 24
- Зарегистрирован: 2009-06-01 22:41:44
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Подскажите как решить проблему.
домен работает, но криво
1. При добавлении
ldapaddgroup admins
ldapaddgroup users
ldapaddgroup computers
ldapadduser admin admins
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added group admins to LDAP
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added group users to LDAP
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added group computers to LDAP
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added user admin to LDAP
Successfully set password for user admin
Successfully created home directory for user admin
Но! при это если в /usr/local/etc/nss_ldap.conf
host 127.0.0.1
#host ldapi://%2fvar%2frun%2fldapi/
base dc=office,dc=lan
ldap_version 3
port 389
scope one
timelimit 30
bind_timelimit 10
bind_policy soft
nss_connect_policy persist
idle_timelimit 3600
nss_paged_results yes
pagesize 1000
nss_base_passwd ou=users,dc=office,dc=lan?one
nss_base_group ou=groups,dc=office,dc=lan?one
nss_base_passwd ou=computers,dc=office,dc=lan?one
nss_base_shadow ou=users,dc=office,dc=lan?one
То в /var/log/messages:
server slapd[1536]: nss_ldap: could not search LDAP server - Server is unavailable
Однако все начинает работать если в /usr/local/etc/nss_ldap.conf
host 127.0.0.1
#host ldapi://%2fvar%2frun%2fldapi/
заменить на
#host 127.0.0.1
host ldapi://%2fvar%2frun%2fldapi/
Но при этом получается следующее:
[root@server /home/enslaver]# ldapadduser test users
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added user test to LDAP
Successfully set password for user test
Successfully created home directory for user test
[root@server /home/enslaver]# id test
id: test: no such user
[root@server /home/enslaver]# smbpasswd -a test
Cannot locate Unix account for 'test'!
Если меняем обратно:
host 127.0.0.1
#host ldapi://%2fvar%2frun%2fldapi/
То добавляется:
[root@server /home/enslaver]# ldapadduser test users
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added user test to LDAP
Successfully set password for user test
Skipped home directory creation for user test (already exists)
[root@server /home/enslaver]# smbpasswd -a test
New SMB password:
Retype new SMB password:
Added user test.
[root@server /home/enslaver]# id test
uid=20002(test) gid=10002(users) groups=10002(users)
Но! Опять поялвляется: server slapd[2129]: nss_ldap: could not search LDAP server - Server is unavailable
Т.е. приходтся постоянно править nss_ldap.conf и перезапускать slapd. Ни как не пойду в чем дело.
Но что самое интересное, что несмотря на домен работает только если в nss_ldap.conf - host 127.0.0.1, хоть и server slapd[2129]: nss_ldap: could not search LDAP server - Server is unavailable. То есть пишется что сервер недоступен, но я из Win в домен комп ввожу и через LdapAdmin, и phpldapadmin конечусь ...
Ересь вот такая ... помогите плз ... я уже весь мозг сломал ...
могу предоставить необходимые сведения ....
Вот конфиги
[root@server /home/enslaver]# cat /etc/nsswitch.conf
group: files ldap
hosts: files dns
networks: files
passwd: files ldap
shadow: files ldap
shells: files
group_compat: nis
passwd_compat: nis
----------------------------------------------------------------------------------------------------
[root@server /home/enslaver]# cat /usr/local/etc/openldap/slapd.conf
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/openldap.schema
# схемы самбы берутся из самбы (потом скопируем), схемы dns и dhcp
# тоже позже скопируем. пока строчки закоментарим
include /usr/local/etc/openldap/schema/samba.schema
include /usr/local/etc/openldap/schema/dnszone.schema
include /usr/local/etc/openldap/schema/dhcp.schema
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
# Load dynamic backend modules:
modulepath /usr/local/libexec/openldap
#moduleload back_ldbm
moduleload back_bdb
access to attrs=userPassword
by self write
by anonymous auth
by * none
access to attrs=sambaLMPassword,sambaNTPassword
by dn="cn=root,dc=office,dc=lan" write
by * none
#Правило необходимое для работы phpLDAPadmin
access to *
by dn="uid=root,dc=office,dc=lan" write
by * read
access to *
by self write
by anonymous read
by * none
#######################################################################
# BDB database definitions
#######################################################################
#database ldbm
database bdb
suffix "dc=office,dc=lan"
rootdn "cn=root,dc=office,dc=lan"
#
# пароль на рута можно сгенерировать с помощью slappasswd
#
rootpw {SSHA}uFZPbh5q4LjGP073Cony+4LoEbsa582P
directory /var/db/openldap-data
# Indices to maintain
#index objectClass eq
#index cn eq
index objectClass,uid,uidNumber,gidNumber eq
index cn,mail,surname,givenname eq,subinitial
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
----------------------------------------------------------------------------------------------------
[root@server /home/enslaver]# cat /usr/local/etc/smb.conf
[global]
# имя домена
workgroup = office
# типа коментарий самба сервера
server string = server.office
#имя компа с самбой в сетевом окружении
netbios name = server
security = user
hosts allow = 192.168.0. 10.9.16. 127.
load printers = no
log file = /var/log/samba/log.%m
max log size = 50
acl compatibility = win2k
encrypt passwords = yes
admin users = admin
passdb backend = ldapsam:ldap://127.0.0.1/
# здесь описываем лдап
ldap suffix = dc=office,dc=lan
ldap user suffix = ou=users
ldap group suffix = ou=groups
ldap machine suffix = ou=computers
ldap admin dn = "cn=root,dc=office,dc=lan"
ldap delete dn = no
ldap ssl = off
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind separator = @
winbind use default domain = yes
# делаем PDC
socket options = TCP_NODELAY
local master = yes
os level = 64
domain master = yes
preferred master = yes
domain logons = yes
# если хоиите юзать логон скрипты, то раскоментариваете
; logon script = %m.bat
; logon script = %U.bat
# путь к перемещаемому профилю
logon path = \\%L\profiles
# путь к хомякам юзеров
logon home = \\%L\HOME
logon drive = H:
wins support = yes
dns proxy = yes
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866
timeserver = yes
# скрипты для добавления юзеров и групп (юзается в usermgr от nt4)
add machine script = /usr/local/sbin/ldapaddmachine '%u' computers
add user script = /usr/local/sbin/ldapadduser '%u' users
add group script = /usr/local/sbin/ldapaddgroup '%g'
add user to group script = /usr/local/sbin/ldapaddusertogroup '%u' '%g'
delete user script = /usr/local/sbin/ldapdeleteuser '%u'
delete group script = /usr/local/sbin/ldapdeletegroup '%g'
delete user from group script = /usr/local/sbin/ldapdeleteuserfromgroup '%u' '%g'
set primary group script = /usr/local/sbin/ldapsetprimarygroup '%u' '%g'
rename user script = /usr/local/sbin/ldaprenameuser '%uold' '%unew'
# делаем шару на хомяки
[HOME]
comment = Home Directories
path = /home/samba/homes/%U
read only = no
public = no
writable = yes
create mask = 0600
browseable = no
directory mask = 0700
# делаем шару на нетлогон (для запуска скриптов)
[netlogon]
comment = Network Logon Service
path = /usr/local/etc/samba/netlogon
guest ok = yes
writable = no
share modes = no
browseable = no
# делаем шару на перемещаемые профили
[profiles]
create mask = 0600
directory mask = 0700
path = /home/samba/profiles/%u
writeable = yes
browseable = no
locking = no
# csc policy = disable # эта строчка необходима чтобы отключить автономное кеширование
# просто так чтобы можно было на тачку заходить
[IPC$]
path = /tmp
hosts allow = 192.168.0.0/24 10.9.16.0/24 127.0.0.1
hosts deny = 0.0.0.0/0
домен работает, но криво
1. При добавлении
ldapaddgroup admins
ldapaddgroup users
ldapaddgroup computers
ldapadduser admin admins
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added group admins to LDAP
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added group users to LDAP
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added group computers to LDAP
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added user admin to LDAP
Successfully set password for user admin
Successfully created home directory for user admin
Но! при это если в /usr/local/etc/nss_ldap.conf
host 127.0.0.1
#host ldapi://%2fvar%2frun%2fldapi/
base dc=office,dc=lan
ldap_version 3
port 389
scope one
timelimit 30
bind_timelimit 10
bind_policy soft
nss_connect_policy persist
idle_timelimit 3600
nss_paged_results yes
pagesize 1000
nss_base_passwd ou=users,dc=office,dc=lan?one
nss_base_group ou=groups,dc=office,dc=lan?one
nss_base_passwd ou=computers,dc=office,dc=lan?one
nss_base_shadow ou=users,dc=office,dc=lan?one
То в /var/log/messages:
server slapd[1536]: nss_ldap: could not search LDAP server - Server is unavailable
Однако все начинает работать если в /usr/local/etc/nss_ldap.conf
host 127.0.0.1
#host ldapi://%2fvar%2frun%2fldapi/
заменить на
#host 127.0.0.1
host ldapi://%2fvar%2frun%2fldapi/
Но при этом получается следующее:
[root@server /home/enslaver]# ldapadduser test users
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added user test to LDAP
Successfully set password for user test
Successfully created home directory for user test
[root@server /home/enslaver]# id test
id: test: no such user
[root@server /home/enslaver]# smbpasswd -a test
Cannot locate Unix account for 'test'!
Если меняем обратно:
host 127.0.0.1
#host ldapi://%2fvar%2frun%2fldapi/
То добавляется:
[root@server /home/enslaver]# ldapadduser test users
Warning : using command-line passwords, ldapscripts may not be safe
Successfully added user test to LDAP
Successfully set password for user test
Skipped home directory creation for user test (already exists)
[root@server /home/enslaver]# smbpasswd -a test
New SMB password:
Retype new SMB password:
Added user test.
[root@server /home/enslaver]# id test
uid=20002(test) gid=10002(users) groups=10002(users)
Но! Опять поялвляется: server slapd[2129]: nss_ldap: could not search LDAP server - Server is unavailable
Т.е. приходтся постоянно править nss_ldap.conf и перезапускать slapd. Ни как не пойду в чем дело.
Но что самое интересное, что несмотря на домен работает только если в nss_ldap.conf - host 127.0.0.1, хоть и server slapd[2129]: nss_ldap: could not search LDAP server - Server is unavailable. То есть пишется что сервер недоступен, но я из Win в домен комп ввожу и через LdapAdmin, и phpldapadmin конечусь ...
Ересь вот такая ... помогите плз ... я уже весь мозг сломал ...
могу предоставить необходимые сведения ....
Вот конфиги
[root@server /home/enslaver]# cat /etc/nsswitch.conf
group: files ldap
hosts: files dns
networks: files
passwd: files ldap
shadow: files ldap
shells: files
group_compat: nis
passwd_compat: nis
----------------------------------------------------------------------------------------------------
[root@server /home/enslaver]# cat /usr/local/etc/openldap/slapd.conf
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/openldap.schema
# схемы самбы берутся из самбы (потом скопируем), схемы dns и dhcp
# тоже позже скопируем. пока строчки закоментарим
include /usr/local/etc/openldap/schema/samba.schema
include /usr/local/etc/openldap/schema/dnszone.schema
include /usr/local/etc/openldap/schema/dhcp.schema
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
# Load dynamic backend modules:
modulepath /usr/local/libexec/openldap
#moduleload back_ldbm
moduleload back_bdb
access to attrs=userPassword
by self write
by anonymous auth
by * none
access to attrs=sambaLMPassword,sambaNTPassword
by dn="cn=root,dc=office,dc=lan" write
by * none
#Правило необходимое для работы phpLDAPadmin
access to *
by dn="uid=root,dc=office,dc=lan" write
by * read
access to *
by self write
by anonymous read
by * none
#######################################################################
# BDB database definitions
#######################################################################
#database ldbm
database bdb
suffix "dc=office,dc=lan"
rootdn "cn=root,dc=office,dc=lan"
#
# пароль на рута можно сгенерировать с помощью slappasswd
#
rootpw {SSHA}uFZPbh5q4LjGP073Cony+4LoEbsa582P
directory /var/db/openldap-data
# Indices to maintain
#index objectClass eq
#index cn eq
index objectClass,uid,uidNumber,gidNumber eq
index cn,mail,surname,givenname eq,subinitial
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
----------------------------------------------------------------------------------------------------
[root@server /home/enslaver]# cat /usr/local/etc/smb.conf
[global]
# имя домена
workgroup = office
# типа коментарий самба сервера
server string = server.office
#имя компа с самбой в сетевом окружении
netbios name = server
security = user
hosts allow = 192.168.0. 10.9.16. 127.
load printers = no
log file = /var/log/samba/log.%m
max log size = 50
acl compatibility = win2k
encrypt passwords = yes
admin users = admin
passdb backend = ldapsam:ldap://127.0.0.1/
# здесь описываем лдап
ldap suffix = dc=office,dc=lan
ldap user suffix = ou=users
ldap group suffix = ou=groups
ldap machine suffix = ou=computers
ldap admin dn = "cn=root,dc=office,dc=lan"
ldap delete dn = no
ldap ssl = off
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind separator = @
winbind use default domain = yes
# делаем PDC
socket options = TCP_NODELAY
local master = yes
os level = 64
domain master = yes
preferred master = yes
domain logons = yes
# если хоиите юзать логон скрипты, то раскоментариваете
; logon script = %m.bat
; logon script = %U.bat
# путь к перемещаемому профилю
logon path = \\%L\profiles
# путь к хомякам юзеров
logon home = \\%L\HOME
logon drive = H:
wins support = yes
dns proxy = yes
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866
timeserver = yes
# скрипты для добавления юзеров и групп (юзается в usermgr от nt4)
add machine script = /usr/local/sbin/ldapaddmachine '%u' computers
add user script = /usr/local/sbin/ldapadduser '%u' users
add group script = /usr/local/sbin/ldapaddgroup '%g'
add user to group script = /usr/local/sbin/ldapaddusertogroup '%u' '%g'
delete user script = /usr/local/sbin/ldapdeleteuser '%u'
delete group script = /usr/local/sbin/ldapdeletegroup '%g'
delete user from group script = /usr/local/sbin/ldapdeleteuserfromgroup '%u' '%g'
set primary group script = /usr/local/sbin/ldapsetprimarygroup '%u' '%g'
rename user script = /usr/local/sbin/ldaprenameuser '%uold' '%unew'
# делаем шару на хомяки
[HOME]
comment = Home Directories
path = /home/samba/homes/%U
read only = no
public = no
writable = yes
create mask = 0600
browseable = no
directory mask = 0700
# делаем шару на нетлогон (для запуска скриптов)
[netlogon]
comment = Network Logon Service
path = /usr/local/etc/samba/netlogon
guest ok = yes
writable = no
share modes = no
browseable = no
# делаем шару на перемещаемые профили
[profiles]
create mask = 0600
directory mask = 0700
path = /home/samba/profiles/%u
writeable = yes
browseable = no
locking = no
# csc policy = disable # эта строчка необходима чтобы отключить автономное кеширование
# просто так чтобы можно было на тачку заходить
[IPC$]
path = /tmp
hosts allow = 192.168.0.0/24 10.9.16.0/24 127.0.0.1
hosts deny = 0.0.0.0/0
- Барбос
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2009-06-03 6:50:16
- Откуда: Екатеринбург
Re: статья ldap+samba+ddns+dhcp [бета-версия]
господа... такое дело.
в логон скрипте есть: net time \\srever /set /yes
команда не исполняется , так как у юзера нет прав на смену времени на машине
Подскажите какое место крутить в политиках?
если захожу кем-нить из группы админов то время синхронизирует.
в локальных политиках запрещено юзеру это делать.
в логон скрипте есть: net time \\srever /set /yes
команда не исполняется , так как у юзера нет прав на смену времени на машине
Подскажите какое место крутить в политиках?
если захожу кем-нить из группы админов то время синхронизирует.
в локальных политиках запрещено юзеру это делать.
Последний раз редактировалось Барбос 2009-06-04 5:35:02, всего редактировалось 1 раз.
- Барбос
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2009-06-03 6:50:16
- Откуда: Екатеринбург
Re: статья ldap+samba+ddns+dhcp [бета-версия]
Хлопцы,
еще есть вопрос...
я машинку включил, dhcp адрес раздал, в dns появилась прямая и PTR запись.
я ей имя поменял, PTR запись заменилась на запись с номым именем,
а вот прямая появилась с новым именем и со старым осталась.
нужно же чтоб удалялась старая?
еще есть вопрос...
я машинку включил, dhcp адрес раздал, в dns появилась прямая и PTR запись.
я ей имя поменял, PTR запись заменилась на запись с номым именем,
а вот прямая появилась с новым именем и со старым осталась.
нужно же чтоб удалялась старая?
-
- проходил мимо
Re: статья ldap+samba+ddns+dhcp [бета-версия]
пожалуйста, подскажите, что за:
и как поправить? Делал все по статье, дошел до данного шага пока что, форум почитал(данный топик), не нашел про это, погуглил, тоже не нашел ничего...
Код: Выделить всё
Warning : using command-line passwords, ldapscripts may not be safe
- AndyS
- рядовой
- Сообщения: 30
- Зарегистрирован: 2008-10-23 15:55:11
- Откуда: Киев
- Контактная информация:
Re: статья ldap+samba+ddns+dhcp [бета-версия]
нужно убрать пароль из ldapscripts.confmorean писал(а):пожалуйста, подскажите, что за:и как поправить? ...Код: Выделить всё
Warning : using command-line passwords, ldapscripts may not be safe
и прописать его в
Код: Выделить всё
BINDPWDFILE="/usr/local/etc/ldapscripts/ldapscripts.passwd"
Правильный скрипт dhcpd2ldap.plБарбос писал(а):Хлопцы,
еще есть вопрос...
я машинку включил, dhcp адрес раздал, в dns появилась прямая и PTR запись.
я ей имя поменял, PTR запись заменилась на запись с номым именем,
а вот прямая появилась с новым именем и со старым осталась.
нужно же чтоб удалялась старая?
Код: Выделить всё
#!/usr/bin/perl
####################################################################
# Edit These for Your Domain #
####################################################################
$LEASES = "/var/db/dhcpd/dhcpd.leases";
$DOMAIN = "DOMAIN";
$REVERSE = "1.168.192.in-addr.arpa";
$FORWARD_BASE = "zoneName=galantpol,ou=dns,dc=domain,dc=com";
$REVERSE_BASE = "zoneName=1.168.192.in-addr.arpa,ou=dns,dc=domain,dc=com";
$USER = 'cn=root,dc=domain,dc=com';
$PASSWORD = "Password";
$LDAP_HOST = '192.168.1.1';
$UPDATE_TIME = 30; # In Seconds
$AUTO_VERIFY = 0; # Set this to positive if you would like dhcp2ldap
# to periodically re-read the entire leases file
# even if the time stamp hasn't changed
#
# It will perform the auto-verify after
# ($AUTO_VERIFY * $UPDATE_TIME) seconds
#
# This is probably a good idea unless your parse times
# are incredibly high
####################################################################
# Do Not Edit Below This Line #
####################################################################
use IO::Socket;
use Net::LDAP;
print "Initializing LDAP Connection...";
$ldap = Net::LDAP->new($LDAP_HOST) or die "$@";
$ldap->bind($USER, password => $PASSWORD) or die "$!\n";
print "Done\n";
$params = shift;
if($params eq "-d"){
daemonize();
}
if($params eq "-h"){
usage();
exit;
}
while(1){
if(changed($LEASES)){
parse($LEASES);
do_stuff();
}
sleep $UPDATE_TIME;
}
sub changed{
my $file = shift;
my $curstat = (stat($file))[9];
if($AUTO_VERIFY){
$check_count++;
}
if($oldstat != $curstat || (($check_count == $AUTO_VERIFY) && $AUTO_VERIFY)){
$oldstat = $curstat;
$check_count = 0;
print "Timestamp change or AUTO_VERIFY triggered...\n";
return 1;
}
else{
return 0;
}
}
sub daemonize{
chdir '/';
umask 0;
open STDIN, '/dev/null';
open STDOUT, '/dev/null';
open STDERR, '/dev/null';
if(fork()){
exit;
}
else{
setsid;
return;
}
}
sub parse{
my $ip,$hostname;
open IN, shift or die "Could not open leases file: $!\n";
while($_ = <IN>){
if(/^#/){
next;
}
chomp $_;
if(/lease/){
/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}/;
$ip = $&;
while(!(/\}/)){
$_ = <IN>;
if(/client-hostname/){
/\".*\"/;
$_ = $&;
/\w+\S*\w+/;
$_ = $&;
$hostname = lc;
$hosts{$hostname} = $ip;
}
}
}
$line = "";
};
close IN;
}
sub do_stuff{
my $readd, $host, $ip, $hostname;
while(($host,$ip) = each(%hosts)){
$hostname = $host . "." . $DOMAIN . ".";
$lookup = "";
eval{$lookup = inet_ntoa((gethostbyname("$host.$DOMAIN"))[4]); };
($first,$second,$third,$fourth) = split(/\./,$ip);
if($lookup eq $ip){
next;
}
elsif($lookup ne $ip){
print "Removing inaccurate records for $host...\n";
$result = $ldap->delete("relativeDomainName=$host," . $FORWARD_BASE);
$result->code && warn "failed to remove entry: ", $result->error ;
$result = $ldap->delete("relativeDomainName=$fourth," . $REVERSE_BASE);
$result->code && warn "failed to remove entry: ", $result->error ;
$readd = 1;
}
if(!$lookup || $readd){
print "Adding entry for $host at $ip...\n";
$result = $ldap->add( "relativeDomainName=$host," . $FORWARD_BASE,
attr => [
'relativeDomainName'=> $host,
'objectClass'=> ['top','dNSZone'],
'dNSTTL' => '7200',
'zoneName' => $DOMAIN,
'aRecord' => $ip
]
);
$result->code && warn "failed to add entry: ", $result->error ;
$result = $ldap->delete("relativeDomainName=$fourth," . $REVERSE_BASE);
$result->code && warn "failed to remove entry: ", $result->error ;
$result = $ldap->add( "relativeDomainName=$fourth," . $REVERSE_BASE,
attr => [
'relativeDomainName'=> $fourth,
'objectClass'=> ['top','dNSZone'],
'dNSTTL' => '7200',
'zoneName' => $REVERSE,
'pTRRecord' => $hostname
]
);
$result->code && warn "failed to add entry: ", $result->error ;
$readd = 0;
}
}
}
sub usage{
print <<EOF;
dhcp2ldapd v1.1: Dynamic DNS Updates for the Bind9 LDAP backend
Copyright 2005 Travis Groth <travis\@netfoo.org> under the GNU GPL
Usage:
dhcp2ldapd [-d | -h]
-d runs dhcp2ldap in daemon mode
-h displays this help message
Please edit the config variables before running!
EOF
}
#############################################################################
#This program is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2 of the License, or
#(at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#