статья ldap+samba+ddns+dhcp [бета-версия]

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-11-20 16:24:49

f0s писал(а):ну короче думаю проблема в том, что в сети уже есть винловой домен, и под нс они смотрят на него. вообщем выруби его.. минут 30 не включай, и потом попробуй ввести в свой новый домен :)
Интересный траблшут :smile: как минимум попробую.. вообще раньше ваял домены на линухах, проблем не было таких.. спокойно себе работает виндовый и линуховый и переводил по тихой..
с аками всё понятно, на счёт машин не в курсе.. с рукопашную добавлять в LDAP? или они при введении станции рабочей попадают в "computers"?!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.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/

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-11-21 6:56:07

Тыкс, ты оказался прав, завиртуаленую ХПшку цепляю к MEAT и домен видицо, НО.. как всегда есть НО.. не найдено имя пользователя настраивал всё под root, т.е. root у меня админ..
Вопрос: как забодать?

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-11-21 12:44:17

Тыкс, ковырял-ковырял, доковырялся до того что при подключении виндовой тачки к домену пишет "неправильно задан параметр"
Кто в курсе что за параметр?!

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение f0s » 2009-11-21 18:35:33

patcha писал(а):
f0s писал(а):ну короче думаю проблема в том, что в сети уже есть винловой домен, и под нс они смотрят на него. вообщем выруби его.. минут 30 не включай, и потом попробуй ввести в свой новый домен :)
Интересный траблшут :smile: как минимум попробую.. вообще раньше ваял домены на линухах, проблем не было таких.. спокойно себе работает виндовый и линуховый и переводил по тихой..
с аками всё понятно, на счёт машин не в курсе.. с рукопашную добавлять в LDAP? или они при введении станции рабочей попадают в "computers"?!
да, сами попадают
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение fox » 2009-11-22 23:15:11

Доброй ночи, господа!
Вот такая вод не задача, делал всё по статье, поднял dns и dhcp под базой OpenLDAP, всё работало, потом собрал SAMBU и когда переместил базу домена и всё настроил и всё как бы заработало, решил на всякий случай ребутнуть сервант, и вот пакость такая OpenLDAP позже запускаться стал, следовательно BIND и DHCP глючат, как с этим разобраться? Или в чём проблема кто сталкивался? Как выставить LDAP первым?
Да пребудет с нами сила!!!
Всех убью, один останусь!

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-11-23 7:23:43

f0s писал(а):
patcha писал(а):
f0s писал(а):ну короче думаю проблема в том, что в сети уже есть винловой домен, и под нс они смотрят на него. вообщем выруби его.. минут 30 не включай, и потом попробуй ввести в свой новый домен :)
Интересный траблшут :smile: как минимум попробую.. вообще раньше ваял домены на линухах, проблем не было таких.. спокойно себе работает виндовый и линуховый и переводил по тихой..
с аками всё понятно, на счёт машин не в курсе.. с рукопашную добавлять в LDAP? или они при введении станции рабочей попадают в "computers"?!
да, сами попадают
Проблема, при вводе машины в домен, ХПшная машина пишет неопознаны либо логин, либо пасс.. На 100% уверен что данные верны.. вот что логи пишут:

Код: Выделить всё

Nov 23 14:20:56 pdc slapd[619]: conn=37 fd=25 ACCEPT from IP=10.0.22.17:2646 (IP=10.0.22.2:389)
Nov 23 14:20:56 pdc slapd[619]: conn=37 op=0 SRCH base="" scope=0 deref=0 filter="(objectClass=*)"
Nov 23 14:20:56 pdc slapd[619]: conn=37 op=0 SRCH attr=subschemaSubentry dsServiceName namingContexts defaultNamingContext schemaNamingContext
Nov 23 14:20:56 pdc slapd[619]: conn=37 op=0 SEARCH RESULT tag=101 err=0 nentries=1 text=
Nov 23 14:20:56 pdc slapd[619]: conn=37 op=1 BIND dn="" method=137
Nov 23 14:20:56 pdc slapd[619]: conn=37 op=1 RESULT tag=97 err=7 text=unknown authentication method    
Nov 23 14:20:56 pdc slapd[619]: conn=37 op=2 UNBIND
Nov 23 14:20:56 pdc slapd[619]: conn=37 fd=25 closed
Далее, после непродолжительных ковыряний вот:

Код: Выделить всё

Nov 23 14:35:00 pdc slapd[1290]: conn=0 op=1 SRCH base="ou=groups,dc=polyana" scope=2 deref=0 filter="(&(objectClass=posixGroup))"
Nov 23 14:35:00 pdc slapd[1290]: conn=0 op=1 SRCH attr=cn userPassword memberUid uniqueMember gidNumber
Nov 23 14:35:00 pdc slapd[1290]: conn=0 op=1 SEARCH RESULT tag=101 err=0 nentries=3 text=
Nov 23 14:35:00 pdc slapd[1290]: conn=0 fd=10 closed (connection lost)
и вторая непонятка по dhcp
машины ИП получают, но в LDAPe инфа не складывается.. хм

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-11-25 5:32:18

со всем разобрался..
Последнее что непонятно, как сделать определённого пользака самбы админом локальной машины?, как минимум залогинившись под рутом иметь всё на ХПшке.. Руками оно понятно.. в локальной политике.. как автоматизировать?

Спасибо за оперативность.

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение f0s » 2009-11-25 9:10:45

добавь пользователя в группу админов. но нужно будет входить в домен, чтобы иметь права админа.. для локальной политики самба не играет роль
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-11-25 19:10:39

f0s писал(а):добавь пользователя в группу админов. но нужно будет входить в домен, чтобы иметь права админа.. для локальной политики самба не играет роль
да эт уже сделал.. )) т.е. локалбной политикой никак не порулить, так?!

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение fox » 2009-11-25 21:09:53

только с другой виндузятной машины можно...
Да пребудет с нами сила!!!
Всех убью, один останусь!

Siddha
рядовой
Сообщения: 10
Зарегистрирован: 2009-11-02 23:01:11

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение Siddha » 2009-11-29 16:25:27

Допилил скрипт dhcp2ldap.pl на тему удаления устаревших записей из LDAP и по мелочи логику поравил. Если кто-то еще и потестирует - буду крайне благодарен.

Код: Выделить всё

#!/usr/bin/perl


####################################################################
#                   Edit These for Your Domain                     #
####################################################################


$LEASES = "/var/db/dhcpd/dhcpd.leases";

$DOMAIN = "domain.local";
$REVERSE = "3.168.192.in-addr.arpa";

$FORWARD_BASE = "zoneName=domain.local,ou=DNS,dc=domain,dc=local";
$REVERSE_BASE = "zoneName=3.168.192.in-addr.arpa,ou=DNS,dc=domain,dc=local";

$USER = 'cn=admin,dc=domain,dc=local';
$PASSWORD = "secret";

$LDAP_HOST = '127.0.0.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,@freeip=();

	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;
				}
				elsif (/  binding state free;/){
					push @freeip, $ip;
				}
			}
		}
	}
	close IN;
}

sub do_stuff{
	my $readd, $host, $ip, $hostname, $noadd;
	while(($host,$ip) = each(%hosts)){
		$hostname = $host . "." . $DOMAIN . ".";
		$lookup = "";
		eval{$lookup = inet_ntoa((gethostbyname("$host.$DOMAIN"))[4]); };
		($first,$second,$third,$fourth) = split(/\./,$ip);
		($first_l,$second_l,$third_l,$fourth_l) = split(/\./,$lookup);

	foreach my $el (@freeip) {
		if ($ip eq $el){
			if ($ip eq $lookup){
				print "Removing old records for $host...\n";
				$result = $ldap->delete("relativeDomainName=".$host.",".$FORWARD_BASE);
				$result->code && warn "failed to remove old entry: ", $result->error ;
				$result = $ldap->delete("relativeDomainName=".$fourth_l.",".$REVERSE_BASE);
				$result->code && warn "failed to remove old entry: ", $result->error ;
			}
			elsif (!$lookup){$noadd = 1;}
		}
	}

		if($noadd){
			next;
		}

		if(!$lookup){
			add();
			$readd = 0;
			next;
		}

		if($lookup eq $ip){
			next;
		}

		if($lookup ne $ip){
			print "Removing inaccurate records for $host...\n\n";
			$result = $ldap->delete("relativeDomainName=".$host.",".$FORWARD_BASE);
			$result->code && warn "failed to remove entry: ", $result->error ;
			$result = $ldap->delete("relativeDomainName=".$fourth_l.",".$REVERSE_BASE);
			$result->code && warn "failed to remove entry: ", $result->error ;
			$readd = 1;
		}

		if($readd){
			add();
			$readd = 0;
		}

		sub add {
			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->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 ;
		}
	}
}

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.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#############################################################################

Последний раз редактировалось Siddha 2009-12-01 17:16:46, всего редактировалось 1 раз.

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение f0s » 2009-11-30 9:21:36

протестьте народ, скрипт. если все ок, надо будет его к статье добавить
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-12-01 4:15:03

Народ, LDAP24 мну мозк спалил.. никак BIND не можу прикрутить к нему.. точнее вродя прикрутил, но имена не резолвятся из LDAP. А сам BIND работает номалёк, как DNS сервер.
вот что выдаёт по:

Код: Выделить всё

dig @127.0.0.1 meat axfr && tail /var/log/messages

Код: Выделить всё

; <<>> DiG 9.4.3-P2 <<>> @127.0.0.1 meat axfr
; (1 server found)
;; global options:  printcmd
; Transfer failed.
Dec  1 10:48:27 pdc named[3173]: zone 22.0.10.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  1 10:48:27 pdc named[3173]: zone 22.0.10.in-addr.arpa/IN: has 0 SOA records
Dec  1 10:48:27 pdc named[3173]: zone 22.0.10.in-addr.arpa/IN: has no NS records
Dec  1 10:48:27 pdc named[3173]: zone 0.0.127.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  1 10:48:27 pdc named[3173]: zone 0.0.127.in-addr.arpa/IN: has 0 SOA records
Dec  1 10:48:27 pdc named[3173]: zone 0.0.127.in-addr.arpa/IN: has no NS records
Dec  1 10:48:27 pdc named[3173]: zone meat/IN: could not find NS and/or SOA records
Dec  1 10:48:27 pdc named[3173]: zone meat/IN: has 0 SOA records
Dec  1 10:48:27 pdc named[3173]: zone meat/IN: has no NS records
Dec  1 10:48:27 pdc named[3173]: running
Связка: LDAP24+SAMBA33+bind9-sdb-ldap-9.4.3.1
LDAP у меня реплицируется на BDC, естественно с PDC и обратно (master-master). Репликацию пока сделал без SSL, шоб не мешало тестить.. потом врублю..
BIND настраивак как тут: http://www.lissyara.su/articles/freebsd ... +ddns+dhcp
DHCP тож прикрутить собираюсь..

Кароч, выручайте..


Отступление.. связка LDAP23+SAMBA33-bind9-sdb-ldap-9.4 там же и DHCP работают отлично, никаких ошибок нет.. но проблема в том что незя сделать master-master.. как тока я подменил LDAP23 LDAPом24 появились проблемы с SAMBA33 такие как: "Unable to join domain MEAT", не могёт найти имя пользователя или пароль при добавлении ХПшной машины..может проблема что шема с SAMBA33 не подходит по каким либо причинам для работы с LDAP24?!?!?!


Спасибо за оперативность..

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение fox » 2009-12-01 13:04:17

конфиги бинда лдапа в студию
и как вариант пересобери бинд с уже установленым лдапом
Да пребудет с нами сила!!!
Всех убью, один останусь!

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-12-03 20:03:42

fox писал(а):конфиги бинда лдапа в студию
и как вариант пересобери бинд с уже установленым лдапом
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
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

#TLSCertificateFile /var/db/certs/as01_ldap.crt
#TLSCertificateKeyFile /var/db/certs/keys/as01_ldap.key
#TLSCACertificateFile /var/db/certs/ca.crt
#TLSCipherSuite HIGH:MEDIUM:+SSLv2:+SSLv3:RSA:+TLSv1
#TLSVerifyClient never

modulepath    /usr/local/libexec/openldap
moduleload    back_bdb
database      bdb

suffix        "dc=meat"

rootdn        "cn=ldapadmin,dc=meat"
rootpw        {SSHA}0P1LduhQe1EhM0I1z4LDs/VV4a6ldoO3

# The database directory MUST exist prior to running slapd AND 
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory    /var/db/openldap-data

# Indices to maintain
index    entryCSN eq
index    entryUUID eq
index    cn,sn,uid  pres,eq,approx,sub
index    uidNumber,gidNumber     eq
index    memberUid  eq
index    objectClass  eq
index    sambaSID    eq
index    sambaPrimaryGroupSID    eq
index    sambaDomainName    eq
index    sambaGroupType eq
index    sambaSIDList   eq

access to attrs=userPassword
   by self         write
   by anonymous    auth
   by *          none
access to dn.subtree="dc=meat"
   by dn="uid=ldapsync_service,ou=systemusers,dc=meat" read

access to *
   by * none

serverID 001
syncrepl rid=000 
 provider=ldaps://ns2.meat
 type=refreshAndPersist
 retry="5 10 300 +" 
 searchbase="dc=meat"
 attrs="*,+"
 bindmethod=simple
 binddn="uid=ldapsync_service,ou=systemusers,dc=meat"
 credentials=ldapsync_service
# tls_cert=/var/db/certs/ns1_ldap.crt
# tls_key=/var/db/certs/keys/ns1_ldap.key
# tls_cacert=/var/db/certs/ca.crt

mirrormode TRUE
overlay syncprov
syncprov-checkpoint 100 5
smb.conf

Код: Выделить всё

[global]
workgroup = meat
server string = ns1.meat
netbios name = ns1
security = user
hosts allow = 10.0.22. 127.

load printers = no
log file = /var/log/samba/log.%m
max log size = 50
acl compatibility = win2k

encrypt passwords = yes
admin users = ldapadmin
passdb backend = ldapsam:ldap://127.0.0.1/

ldap suffix = dc=meat
ldap user suffix = ou=people
ldap group suffix = ou=groups
ldap machine suffix = ou=computers
ldap admin dn = "cn=ldapadmin,dc=meat"
ldap delete dn = no
ldap ssl = off
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind separator = @
winbind use default domain = yes

socket options = TCP_NODELAY
local master = yes
os level = 255
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

add machine script = /usr/local/sbin/ldapaddmachine '%u' computers
add user script = /usr/local/sbin/ldapadduser '%u' people
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 = 10.0.22.0/24 127.0.0.1
hosts deny = 0.0.0.0/0
nss_ldap.conf

Код: Выделить всё

base dc=meat
uri ldapi://%2fvar%2frun%2fopenldap%2fldapi/
uri ldap://ns1.meat/
rootbinddn cn=ldapadmin,dc=meat
ldap_version 3
port 389
scope one
timelimit 30
bind_timelimit 30
bind_policy soft
nss_connect_policy persist
idle_timelimit 3600
nss_paged_results yes
pagesize 1000
nss_base_passwd		ou=people,dc=meat?one
nss_base_group		            ou=groups,dc=people?one
nss_base_passwd		ou=computers,dc=meat?one
nss_base_shadow		ou=people,dc=meat?one
ldapscripts.conf

Код: Выделить всё

SERVER="127.0.0.1"
BINDDN="cn=ldapadmin,dc=meat"

BINDPWD="J,fkltnm"

SUFFIX="dc=meat"           # Global suffix
GSUFFIX="ou=groups"        # Groups ou (just under $SUFFIX)
USUFFIX="ou=people"        # Users ou (just under $SUFFIX)
MSUFFIX="ou=computers"     # Machines ou (just under $SUFFIX)


GIDSTART="10000" # Group ID
UIDSTART="10000" # User ID
MIDSTART="20000" # Machine ID

USHELL="/usr/sbin/nologin"
UHOMES="/home/samba/homes/%u"  
ASKGECOS="no"       
CREATEHOMES="yes"   
HOMESKEL="/etc/skel"
HOMEPERMS="700"

PASSWORDGEN="head -c8 /dev/random | uuencode -m - | sed -n -e '2s|=*$||;2p' | sed -e 's|+||g' -e 's|/||g'"

RECORDPASSWORDS="yes"
PASSWORDFILE="/var/log/ldapscripts_passwd.log"

LOGFILE="/var/log/ldapscripts.log"

LDAPSEARCHBIN="/usr/local/bin/ldapsearch"
LDAPADDBIN="/usr/local/bin/ldapadd"
LDAPDELETEBIN="/usr/local/bin/ldapdelete"
LDAPMODIFYBIN="/usr/local/bin/ldapmodify"
LDAPMODRDNBIN="/usr/local/bin/ldapmodrdn"
LDAPPASSWDBIN="/usr/local/bin/ldappasswd"

GETENTPWCMD=""
GETENTGRCMD=""

GTEMPLATE=""
UTEMPLATE=""
MTEMPLATE=""
С этими конфигами:
1. При сопоставлении групп валится: Can't lookup UNIX group admins
2. При подключении машины к домену (сам ns1) тишет:

Код: Выделить всё

 Receiving SMB: Server stopped responding
Connection failed: NT_STATUS_IO_TIMEOUT
Could not connect to server ns1
The username or password was not correct.
Connection failed: NT_STATUS_LOGON_FAILURE
В то время как реально машина попадает в LDAP как ns1$
Лог после добавления машины в домен:

Код: Выделить всё

Dec  3 17:09:50 alfa slapd[873]: conn=1051 fd=14 ACCEPT from IP=127.0.0.1:61470 (IP=127.0.0.1:389)
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=0 BIND dn="cn=ldapadmin,dc=meat" method=128
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=0 BIND dn="cn=ldapadmin,dc=meat" mech=SIMPLE ssf=0
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=0 RESULT tag=97 err=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=1 SRCH base="" scope=0 deref=0 filter="(objectClass=*)"
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=1 SRCH attr=supportedControl
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=2 SRCH base="ou=groups,dc=meat" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(gidNumber=65534))"
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=2 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=2 SEARCH RESULT tag=101 err=0 nentries=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=3 SRCH base="ou=groups,dc=meat" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(gidNumber=65534))"
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=3 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=3 SEARCH RESULT tag=101 err=0 nentries=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=4 SRCH base="dc=meat" scope=2 deref=0 filter="(&(uid=ldapadmin)(objectClass=sambaSamAccount))"
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=4 SRCH attr=uid uidNumber gidNumber homeDirectory sambaPwdLastSet sambaPwdCanChange sambaPwdMustChange sambaLogonTime sambaLogoffTime sambaKickoffTime cn sn displayName sambaHomeDrive sambaHomePath sambaLogonScript sambaProfilePath description sambaUserWorkstations sambaSID sambaPrimaryGroupSID sambaLMPassword sambaNTPassword sambaDomainName objectClass sambaAcctFlags sambaMungedDial sambaBadPasswordCount sambaBadPasswordTime sambaPasswordHistory modifyTimestamp sambaLogonHours modifyTimestamp uidNumber
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=4 SEARCH RESULT tag=101 err=0 nentries=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=5 SRCH base="ou=groups,dc=meat" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(|(displayName=ldapadmin)(cn=ldapadmin)))"
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=5 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=5 SEARCH RESULT tag=101 err=0 nentries=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1047 op=6 SRCH base="" scope=2 deref=0 filter="(objectClass=sambaTrustedDomainPassword)"
Dec  3 17:09:50 alfa slapd[873]: conn=1047 op=6 SRCH attr=sambaDomainName sambaSID
Dec  3 17:09:50 alfa slapd[873]: conn=1047 op=6 SEARCH RESULT tag=101 err=32 nentries=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=6 SRCH base="ou=groups,dc=meat" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(gidNumber=65534))"
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=6 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=6 SEARCH RESULT tag=101 err=0 nentries=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=7 SRCH base="dc=meat" scope=2 deref=0 filter="(&(uid=ns1$)(objectClass=sambaSamAccount))"
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=7 SRCH attr=uid uidNumber gidNumber homeDirectory sambaPwdLastSet sambaPwdCanChange sambaPwdMustChange sambaLogonTime sambaLogoffTime sambaKickoffTime cn sn displayName sambaHomeDrive sambaHomePath sambaLogonScript sambaProfilePath description sambaUserWorkstations sambaSID sambaPrimaryGroupSID sambaLMPassword sambaNTPassword sambaDomainName objectClass sambaAcctFlags sambaMungedDial sambaBadPasswordCount sambaBadPasswordTime sambaPasswordHistory modifyTimestamp sambaLogonHours modifyTimestamp uidNumber
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=7 SEARCH RESULT tag=101 err=0 nentries=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=8 SRCH base="dc=meat" scope=2 deref=0 filter="(&(uid=ns1$)(objectClass=sambaSamAccount))"
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=8 SRCH attr=uid uidNumber gidNumber homeDirectory sambaPwdLastSet sambaPwdCanChange sambaPwdMustChange sambaLogonTime sambaLogoffTime sambaKickoffTime cn sn displayName sambaHomeDrive sambaHomePath sambaLogonScript sambaProfilePath description sambaUserWorkstations sambaSID sambaPrimaryGroupSID sambaLMPassword sambaNTPassword sambaDomainName objectClass sambaAcctFlags sambaMungedDial sambaBadPasswordCount sambaBadPasswordTime sambaPasswordHistory modifyTimestamp sambaLogonHours modifyTimestamp uidNumber
Dec  3 17:09:50 alfa slapd[873]: conn=1051 op=8 SEARCH RESULT tag=101 err=0 nentries=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1051 fd=14 closed (connection lost)
Dec  3 17:09:50 alfa slapd[873]: conn=1052 fd=14 ACCEPT from IP=127.0.0.1:61472 (IP=127.0.0.1:389)
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=0 BIND dn="cn=ldapadmin,dc=meat" method=128
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=0 BIND dn="cn=ldapadmin,dc=meat" mech=SIMPLE ssf=0
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=0 RESULT tag=97 err=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=1 SRCH base="" scope=0 deref=0 filter="(objectClass=*)"
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=1 SRCH attr=supportedControl
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=2 do_search: invalid dn: "sambaDomainName=MEAT,(null)"
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=2 SEARCH RESULT tag=101 err=34 nentries=0 text=invalid DN
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=3 SRCH base="dc=meat" scope=2 deref=0 filter="(&(uid=ldapadmin)(objectClass=sambaSamAccount))"
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=3 SRCH attr=uid uidNumber gidNumber homeDirectory sambaPwdLastSet sambaPwdCanChange sambaPwdMustChange sambaLogonTime sambaLogoffTime sambaKickoffTime cn sn displayName sambaHomeDrive sambaHomePath sambaLogonScript sambaProfilePath description sambaUserWorkstations sambaSID sambaPrimaryGroupSID sambaLMPassword sambaNTPassword sambaDomainName objectClass sambaAcctFlags sambaMungedDial sambaBadPasswordCount sambaBadPasswordTime sambaPasswordHistory modifyTimestamp sambaLogonHours modifyTimestamp uidNumber
Dec  3 17:09:50 alfa slapd[873]: conn=1052 op=3 SEARCH RESULT tag=101 err=0 nentries=0 text=
Dec  3 17:09:50 alfa slapd[873]: conn=1052 fd=14 closed (connection lost)
3. Ну и не резолвятся имена из LDAPа. просто не может подрубиться к серваку, хотя он работает и синхронидация как по ldap так и по ldaps идёт.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение fox » 2009-12-03 23:03:03

Мы начали говорить о Bind, named.conf я не вижу...
А как ты втыкал сервер в домен?

Код: Выделить всё

net rpc join -S nameserver -U adminservera
Попробуй так!
Ну и named.conf нужен
Да пребудет с нами сила!!!
Всех убью, один останусь!

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-12-04 2:05:12

fox писал(а):Мы начали говорить о Bind, named.conf я не вижу...
А как ты втыкал сервер в домен?

Код: Выделить всё

net rpc join -S nameserver -U adminservera
Попробуй так!
Ну и named.conf нужен
Неа, та же байда..
Could not connect to server ns1
The username or password was not correct.
Connection failed: NT_STATUS_LOGON_FAILURE
named.conf

Код: Выделить всё

acl lan { 10.0.22.0/24; };
acl transfers { 127.0.0.1; };
acl trusted { 10.0.22.0/24; }; 

key "rndc-key" {
      algorithm hmac-md5;
      secret "7ygJcl/F1TxU3wXF+iTnYQ==";
};

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";
	version "Windows 95";
	listen-on	{ 127.0.0.1; 10.0.22.2; };
        forward only;
	forwarders { 10.0.22.3; 212.122.1.2; 212.107.200.68; };
	allow-query { lan; trusted; };
	allow-recursion { trusted; lan; };
        query-source address *;
};

zone "." {
	type hint;
	file "named.root";
};

zone "meat." {
type master;
database "ldap ldap://10.0.22.2/zoneName=meat,ou=dns,dc=meat 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};

zone "22.0.10.in-addr.arpa" {
type master;
database "ldap ldap://10.0.22.2/zoneName=22.0.10.in-addr.arpa,ou=dns,dc=meat 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};

zone "0.0.127.in-addr.arpa" {
type master;
database "ldap ldap://10.0.22.2/zoneName=0.0.127.in-addr.arpa,ou=dns,dc=meat 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};
вывод rndc reload && tail /var/log/messages

Код: Выделить всё

server reload successful
Dec  3 23:04:41 alfa named[35055]: the working directory is not writable
Dec  3 23:04:41 alfa named[35055]: zone 22.0.10.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  3 23:04:41 alfa named[35055]: zone 22.0.10.in-addr.arpa/IN: has 0 SOA records
Dec  3 23:04:41 alfa named[35055]: zone 22.0.10.in-addr.arpa/IN: has no NS records
Dec  3 23:04:41 alfa named[35055]: zone 0.0.127.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  3 23:04:41 alfa named[35055]: zone 0.0.127.in-addr.arpa/IN: has 0 SOA records
Dec  3 23:04:41 alfa named[35055]: zone 0.0.127.in-addr.arpa/IN: has no NS records
Dec  3 23:04:41 alfa named[35055]: zone meat/IN: could not find NS and/or SOA records
Dec  3 23:04:41 alfa named[35055]: zone meat/IN: has 0 SOA records
Dec  3 23:04:41 alfa named[35055]: zone meat/IN: has no NS records

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение f0s » 2009-12-04 10:51:29

patcha писал(а):

Код: Выделить всё

server reload successful
Dec  3 23:04:41 alfa named[35055]: the working directory is not writable
Dec  3 23:04:41 alfa named[35055]: zone 22.0.10.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  3 23:04:41 alfa named[35055]: zone 22.0.10.in-addr.arpa/IN: has 0 SOA records
Dec  3 23:04:41 alfa named[35055]: zone 22.0.10.in-addr.arpa/IN: has no NS records
Dec  3 23:04:41 alfa named[35055]: zone 0.0.127.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  3 23:04:41 alfa named[35055]: zone 0.0.127.in-addr.arpa/IN: has 0 SOA records
Dec  3 23:04:41 alfa named[35055]: zone 0.0.127.in-addr.arpa/IN: has no NS records
Dec  3 23:04:41 alfa named[35055]: zone meat/IN: could not find NS and/or SOA records
Dec  3 23:04:41 alfa named[35055]: zone meat/IN: has 0 SOA records
Dec  3 23:04:41 alfa named[35055]: zone meat/IN: has no NS records

the working directory is not writable может быть в этом еще дело.

и еще, то что неёмд не может взять записи из лдапа, говорит о том, что либо лдап не запущен, лиюо работает неправильно.. добавь в named.conf после описания зон такие строчки:
покажу на примере только одной зоны:

Код: Выделить всё

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=artpaint,dc=spb,dc=ru????!bindname=cn=root%2cdc=artpaint%2cdc=spb%2cdc=ru,!x-bindpw=password 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-12-05 17:19:58

f0s писал(а):
patcha писал(а):

Код: Выделить всё

server reload successful
Dec  3 23:04:41 alfa named[35055]: the working directory is not writable
Dec  3 23:04:41 alfa named[35055]: zone 22.0.10.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  3 23:04:41 alfa named[35055]: zone 22.0.10.in-addr.arpa/IN: has 0 SOA records
Dec  3 23:04:41 alfa named[35055]: zone 22.0.10.in-addr.arpa/IN: has no NS records
Dec  3 23:04:41 alfa named[35055]: zone 0.0.127.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  3 23:04:41 alfa named[35055]: zone 0.0.127.in-addr.arpa/IN: has 0 SOA records
Dec  3 23:04:41 alfa named[35055]: zone 0.0.127.in-addr.arpa/IN: has no NS records
Dec  3 23:04:41 alfa named[35055]: zone meat/IN: could not find NS and/or SOA records
Dec  3 23:04:41 alfa named[35055]: zone meat/IN: has 0 SOA records
Dec  3 23:04:41 alfa named[35055]: zone meat/IN: has no NS records

the working directory is not writable может быть в этом еще дело.

и еще, то что неёмд не может взять записи из лдапа, говорит о том, что либо лдап не запущен, лиюо работает неправильно.. добавь в named.conf после описания зон такие строчки:
покажу на примере только одной зоны:

Код: Выделить всё

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=artpaint,dc=spb,dc=ru????!bindname=cn=root%2cdc=artpaint%2cdc=spb%2cdc=ru,!x-bindpw=password 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};
the working directory is not writable - забодал, лечицо на раз. Добавил что советовал в named.conf, но:
вывод следующий:

Код: Выделить всё

Dec  5 14:14:16 ns1 named[1975]: zone 22.0.10.in-addr.arpa/IN: has no NS records
Dec  5 14:14:16 ns1 named[1975]: LDAP sdb zone '0.0.127.in-addr.arpa': bind failed
Dec  5 14:14:16 ns1 named[1975]: zone 0.0.127.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  5 14:14:16 ns1 named[1975]: zone 0.0.127.in-addr.arpa/IN: has 0 SOA records
Dec  5 14:14:16 ns1 named[1975]: zone 0.0.127.in-addr.arpa/IN: has no NS records
Dec  5 14:14:16 ns1 named[1975]: LDAP sdb zone 'meat': bind failed
Dec  5 14:14:16 ns1 named[1975]: zone meat/IN: could not find NS and/or SOA records
Dec  5 14:14:16 ns1 named[1975]: zone meat/IN: has 0 SOA records
Dec  5 14:14:16 ns1 named[1975]: zone meat/IN: has no NS records
Dec  5 14:14:16 ns1 named[1975]: running
Вопрос: в сроке:

Код: Выделить всё

????!bindname=cn=root%2cdc=artpaint%2cdc=spb%2cdc=ru,!x-bindpw=password 178600";
password заменить на реальный пасс от рута? или так и оставить? в принципе пробовал и так и так, результат один и тот же

Так же пробовал по ldaps ломиться с bind в ldap вот вывод:

Код: Выделить всё

Dec  5 14:11:51 ns1 named[1636]: stopping command channel on 127.0.0.1#953
Dec  5 14:11:51 ns1 named[1636]: exiting
Dec  5 14:11:54 ns1 named[1717]: starting BIND 9.4.3-P1 -c /etc/namedb/named.conf -t /var/named -u bind
Dec  5 14:11:54 ns1 named[1717]: /etc/namedb/named.conf:22: no forwarders seen; disabling forwarding
Dec  5 14:11:54 ns1 named[1717]: /etc/namedb/named.conf:22: no forwarders seen; disabling forwarding
Dec  5 14:11:54 ns1 named[1717]: command channel listening on 127.0.0.1#953
Dec  5 14:11:54 ns1 named[1717]: zone 22.0.10.in-addr.arpa/IN: loading zone: creating database: failure
Dec  5 14:11:54 ns1 named[1717]: zone 0.0.127.in-addr.arpa/IN: loading zone: creating database: failure
Dec  5 14:11:54 ns1 named[1717]: zone meat/IN: loading zone: creating database: failure
Dec  5 14:11:54 ns1 named[1717]: running
Блин, как достучацо до лдапа?! чую та же байда и с ввобом машины в домен и с соспоставлением групп.. просто нужно как-то достучаться до LDAP 2.4
Может bind не в курсе как работать с bdb?! т.к. oplenldap 2.3 использует ldmb и bind прекрасно слушается... какие мысли?

Siddha
рядовой
Сообщения: 10
Зарегистрирован: 2009-11-02 23:01:11

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение Siddha » 2009-12-06 21:37:36

????!bindname=cn=root%2cdc=artpaint%2cdc=spb%2cdc=ru,!x-bindpw=password 178600";

cn=root - это не системный рут а суперпользователь для LDAP, именно под ним производится наполнение базы.
bindpw=password это соответственно его пароль.

http://www.barabanov.ru/arts/LDAPremarks-draft-2.pdf
Для создания базы изначально используется специальный бюджет, указываемый в
директиве настройки LDAP как rootdn, то есть root distinguished name, который
существует лишь в среде LDAP, а не в локальной системе. Этот привилегированный
пользователь LDAP присутствует в пустой базе LDAP сразу после ее определения.
И все первоначальные изменения производятся только от него.
В твоем случае, глядя в конфиги, это будут:

bindname="cn=ldapadmin,dc=meat"
bindpw="J,fkltnm"

таким образом запись будет такого вида:

Код: Выделить всё

zone "0.0.127.in-addr.arpa" {
type master;
database "ldap ldap://10.0.22.2/zoneName=0.0.127.in-addr.arpa,ou=dns,dc=meat????!bindname=cn=ldapadmin%2cdc=meat,!x-bindpw=J,fkltnm 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};
Хотя использовать rootdn для постоянной работы с LDAP идеологически не правильно.

Сам потихоньку внедряю у себя домен на самбе в дружбе с лдап. Все пакеты стоят самые последние.

patcha
рядовой
Сообщения: 33
Зарегистрирован: 2009-11-13 12:46:40

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение patcha » 2009-12-07 3:25:25

Siddha писал(а):????!bindname=cn=root%2cdc=artpaint%2cdc=spb%2cdc=ru,!x-bindpw=password 178600";

cn=root - это не системный рут а суперпользователь для LDAP, именно под ним производится наполнение базы.
bindpw=password это соответственно его пароль.

http://www.barabanov.ru/arts/LDAPremarks-draft-2.pdf
Для создания базы изначально используется специальный бюджет, указываемый в
директиве настройки LDAP как rootdn, то есть root distinguished name, который
существует лишь в среде LDAP, а не в локальной системе. Этот привилегированный
пользователь LDAP присутствует в пустой базе LDAP сразу после ее определения.
И все первоначальные изменения производятся только от него.
В твоем случае, глядя в конфиги, это будут:

bindname="cn=ldapadmin,dc=meat"
bindpw="J,fkltnm"

таким образом запись будет такого вида:

Код: Выделить всё

zone "0.0.127.in-addr.arpa" {
type master;
database "ldap ldap://10.0.22.2/zoneName=0.0.127.in-addr.arpa,ou=dns,dc=meat????!bindname=cn=ldapadmin%2cdc=meat,!x-bindpw=J,fkltnm 178600";
allow-query { lan; trusted; };
allow-transfer { transfers; };
};
Хотя использовать rootdn для постоянной работы с LDAP идеологически не правильно.

Сам потихоньку внедряю у себя домен на самбе в дружбе с лдап. Все пакеты стоят самые последние.
в named.conf у мну так и прописано, как ты привёл пример, но результатом вывода является таки:

Код: Выделить всё

Dec  7 00:21:14 ns1 named[6460]: zone 22.0.10.in-addr.arpa/IN: has no NS records
Dec  7 00:21:14 ns1 named[6460]: LDAP sdb zone '0.0.127.in-addr.arpa': bind failed
Dec  7 00:21:14 ns1 named[6460]: zone 0.0.127.in-addr.arpa/IN: could not find NS and/or SOA records
Dec  7 00:21:14 ns1 named[6460]: zone 0.0.127.in-addr.arpa/IN: has 0 SOA records
Dec  7 00:21:14 ns1 named[6460]: zone 0.0.127.in-addr.arpa/IN: has no NS records
Dec  7 00:21:14 ns1 named[6460]: LDAP sdb zone 'meat': bind failed
Dec  7 00:21:14 ns1 named[6460]: zone meat/IN: could not find NS and/or SOA records
Dec  7 00:21:14 ns1 named[6460]: zone meat/IN: has 0 SOA records
Dec  7 00:21:14 ns1 named[6460]: zone meat/IN: has no NS records
Dec  7 00:21:26 ns1 slapd[6495]: nss_ldap: could not search LDAP server - Server is unavailable
Ну ху зна чё за нах.. пакеты так же, самые последние.. всё вроде чин чинарём.. рою дальше..
ЗЫ: Знаешь, если тебе проще будет наглядно посмотреть конфиги, готов впустить на сервак тебя.. если у тебя есть желание.

Corvin74
рядовой
Сообщения: 30
Зарегистрирован: 2009-03-04 19:13:15
Откуда: Москва
Контактная информация:

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение Corvin74 » 2009-12-15 10:42:18

Доброго времени суток, уважаемые!
Помогите плиз, уже всю голову сломал :( Все настраиваю по статье http://www.lissyara.su/articles/freebsd ... ddns+dhcp/, но на моменте ввода в домен сервера выдает следующее:

Код: Выделить всё

bsd8# net rpc join -S bsd8 -U admin%password
[2009/12/15 10:07:25, 0] libsmb/clientgen.c:cli_receive_smb(111)
  Receiving SMB: Server stopped responding
Could not connect to server bsd8
[2009/12/15 10:07:25, 0] libsmb/clientgen.c:cli_receive_smb(111)
  Receiving SMB: Server stopped responding
Connection failed: NT_STATUS_END_OF_FILE
[2009/12/15 10:07:25, 0] libsmb/clientgen.c:cli_receive_smb(111)
  Receiving SMB: Server stopped responding
Could not connect to server bsd8
Connection failed: NT_STATUS_END_OF_FILE
Привожу конфиги:
slapd.conf

Код: Выделить всё

bsd8# cat /usr/local/etc/openldap/slapd.conf
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
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

include         /usr/local/etc/openldap/schema/samba.schema

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

modulepath      /usr/local/libexec/openldap
moduleload      back_bdb

access to attrs=userPassword
        by self write
        by users read
        by anonymous auth

access to *
        by self write
        by anonymous read
        by * none

#######################################################################
# BDB database definitions
#######################################################################

database        bdb
suffix          "dc=guzvao,dc=local"
rootdn          "cn=root,dc=guzvao,dc=local"

rootpw          {SSHA}fVMCzP8pDZYHvIbdsJYsREVy/HO4M6h

directory       /var/db/openldap-data

loglevel        256

index   objectClass     eq
index   cn              eq
ldapscripts.conf

Код: Выделить всё

bsd8# cat /usr/local/etc/ldapscripts/ldapscripts.conf
SERVER="127.0.0.1"
BINDDN="cn=root,dc=guzvao,dc=local"
BINDPWD="password"

SUFFIX="dc=guzvao,dc=local" # Global suffix
GSUFFIX="ou=groups"        # Groups ou (just under $SUFFIX)
USUFFIX="ou=users"         # Users ou (just under $SUFFIX)
MSUFFIX="ou=computers"      # Machines ou (just under $SUFFIX)


GIDSTART="10000" # Group ID
UIDSTART="10000" # User ID
MIDSTART="20000" # Machine ID

USHELL="/usr/sbin/nologin"
UHOMES="/home/samba/homes/%u"
ASKGECOS="no"
CREATEHOMES="yes"
HOMESKEL="/etc/skel"
HOMEPERMS="700"

PASSWORDGEN="head -c8 /dev/random | uuencode -m - | sed -n -e '2s|=*$||;2p' | sed -e 's|+||g' -e 's|/||g'"

RECORDPASSWORDS="yes"
PASSWORDFILE="/var/log/ldapscripts_passwd.log"

LOGFILE="/var/log/ldapscripts.log"

# Temporary folder
TMPDIR="/tmp"

LDAPSEARCHBIN="/usr/local/bin/ldapsearch"
LDAPADDBIN="/usr/local/bin/ldapadd"
LDAPDELETEBIN="/usr/local/bin/ldapdelete"
LDAPMODIFYBIN="/usr/local/bin/ldapmodify"
LDAPMODRDNBIN="/usr/local/bin/ldapmodrdn"
LDAPPASSWDBIN="/usr/local/bin/ldappasswd"

# Character set conversion : $ICONVCHAR <-> UTF-8
# Comment ICONVBIN to disable UTF-8 conversion
ICONVBIN="/usr/local/bin/iconv"
ICONVCHAR="KOI8-R"

# Base64 decoding
# Comment UUDECODEBIN to disable Base64 decoding
UUDECODEBIN="/usr/bin/uudecode"

GETENTPWCMD=""
GETENTGRCMD=""

GTEMPLATE=""
UTEMPLATE=""
MTEMPLATE=""
smb.conf

Код: Выделить всё

bsd8# cat /usr/local/etc/smb.conf
[global]

# имя домена
workgroup = guzvao

# типа коментарий самба сервера
server string = bsd8.guzvao

#имя компа с самбой в сетевом окружении
netbios name = bsd8
security = user
hosts allow = 192.168.3. 192.168.1. 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=guzvao,dc=local
ldap user suffix = ou=users
ldap group suffix = ou=groups
ldap machine suffix = ou=computers
ldap admin dn = "cn=root,dc=guzvao,dc=local"
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 = /susr/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.1.0/24 192.168.2.0/24 192.168.3.0/24 127.0.0.1
hosts deny = 0.0.0.0/0
nss_ldap.conf

Код: Выделить всё

bsd8# cat /usr/local/etc/nss_ldap.conf
host 127.0.0.1
base dc=guzvao,dc=local
uri ldap://bsd8.guzvao/
ldap_version 3

#binddn cn=root,dc=guzvao,dc=local
#bindpw psssword

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=guzvao,dc=local?one
nss_base_shadow ou=users,dc=guzvao,dc=local?one
nss_base_group  ou=groups,dc=guzvao,dc=local?one
nss_base_passwd ou=computers,dc=guzvao,dc=local?one
ldapscripts.log

Код: Выделить всё

>> 12/14/09 - 13:14 : Command : /usr/local/sbin/ldapaddgroup admins
Successfully added group admins to LDAP
Warning : using command-line passwords, ldapscripts may not be safe
>> 12/14/09 - 13:14 : Command : /usr/local/sbin/ldapaddgroup users
Successfully added group users to LDAP
Warning : using command-line passwords, ldapscripts may not be safe
>> 12/14/09 - 13:14 : Command : /usr/local/sbin/ldapaddgroup computers
Successfully added group computers to LDAP
Warning : using command-line passwords, ldapscripts may not be safe
>> 12/14/09 - 13:15 : Command : /usr/local/sbin/ldapadduser admin admins
Successfully added user admin to LDAP
Successfully set password for user admin
Successfully created home directory for user admin
debug.log

Код: Выделить всё

Dec 15 10:20:00 bsd8 slapd[973]: conn=333 fd=12 ACCEPT from IP=127.0.0.1:25754 (IP=127.0.0.1:389)
Dec 15 10:20:00 bsd8 slapd[973]: conn=333 op=0 BIND dn="" method=128
Dec 15 10:20:00 bsd8 slapd[973]: conn=333 op=0 RESULT tag=97 err=0 text=
Dec 15 10:20:00 bsd8 slapd[973]: conn=333 op=1 SRCH base="ou=groups,dc=guzvao,dc=local" scope=1 deref=0 filter="(&(objectClass=posixGroup))"
Dec 15 10:20:00 bsd8 slapd[973]: conn=333 op=1 SRCH attr=cn userPassword memberUid uniqueMember gidNumber
Dec 15 10:20:00 bsd8 slapd[973]: conn=333 op=1 SEARCH RESULT tag=101 err=0 nentries=3 text=
Dec 15 10:20:00 bsd8 slapd[973]: conn=333 fd=12 closed (connection lost)
LdapAdmin нормально коннектится к серверу и можно просмотреть свойства объектов создать объекты и т.д.
А вот с доменом какая-то хрень, не входит хоть убейся :(
«Только песок не меняется, всё остальное изменчиво.» — Один из джав Анкорхеда

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение fox » 2009-12-15 14:05:53

Возможно когда Вы делаете:

Код: Выделить всё

net rpc join -S bsd8 -U admin%password
БСД не хавает где находится имя bsd8, попробуйте в чисто для эксперемента прописать в /etc/hosts

Код: Выделить всё

ip-servera bsd8
И надеюсь вы, добавели в базу LDAP машину bsd8, а также сделали ранние:

Код: Выделить всё

smbpasswd -w password
Отпешитесь что у вас получилось?
Да пребудет с нами сила!!!
Всех убью, один останусь!

Corvin74
рядовой
Сообщения: 30
Зарегистрирован: 2009-03-04 19:13:15
Откуда: Москва
Контактная информация:

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение Corvin74 » 2009-12-15 14:50:05

fox писал(а):Возможно когда Вы делаете:

Код: Выделить всё

net rpc join -S bsd8 -U admin%password
БСД не хавает где находится имя bsd8, попробуйте в чисто для эксперемента прописать в /etc/hosts

Код: Выделить всё

ip-servera bsd8
И надеюсь вы, добавели в базу LDAP машину bsd8, а также сделали ранние:

Код: Выделить всё

smbpasswd -w password
Отпешитесь что у вас получилось?
Увы не канает :( ping на машинку проходит на ура, а в домен не вводится... smbpasswd естественно делал, машину в LDAP не добавлял, на даже после того как добавил, сообщение не изменилось :(
Меня честно говоря смущает

Код: Выделить всё

[2009/12/15 14:46:22, 0] libsmb/clientgen.c:cli_receive_smb(111)
  Receiving SMB: Server stopped responding
Could not connect to server bsd8
и

Код: Выделить всё

bsd8# net rpc info -U admin%password
[2009/12/15 14:47:34, 0] libsmb/clientgen.c:cli_receive_smb(111)
  Receiving SMB: Server stopped responding
Could not connect to server BSD8
Connection failed: NT_STATUS_END_OF_FILE
Какие будут еще предложения? Кстати, раньше пытался настраивать по этой-же статье, и машину не надо было прописывать ручками в LDAP все работало и так на ура...
«Только песок не меняется, всё остальное изменчиво.» — Один из джав Анкорхеда

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

Re: статья ldap+samba+ddns+dhcp [бета-версия]

Непрочитанное сообщение f0s » 2009-12-15 17:08:39

fox писал(а): И надеюсь вы, добавели в базу LDAP машину bsd8, а также сделали ранние:
это кстати не требуется. добавление происходит автоматически
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]