: 10 listopada 2010, 13:26
Okazało się jednak, że potrzebuje w pracy kontroler domeny na Debianie wraz z obsługą bazy ldap, wiem, wiem w internecie jest mnóstwo poradników i chyba każdy przejrzałem problem w tym że sprowadzają się do - teraz wpisz to, a tu zmień plik i będzie chodzić. Jestem głupio-mądry nie mogę sobie samodzielnie poradzić z tym zadaniem. Ale po kolei
Chciałbym zbudować kontroler domeny z Sambą i LDAP-em
Na pytania odpowiadałem w następujący sposób
Zgodnie z poradnikiem(i) wydaje polecenie ldapsearch -x -b "dc=pcpr,dc=lan" i otrzymuje
zgodnie z poradnikami zamieszczonymi w internecie powinno wyglądać to tak (baza oczywiście nazywa się inaczej):
Jak widać nie ma konta admina w mojej bazie i prawdopodobnie dlatego przy próbie zalogowania przez PHPLDAPADMiN (IP.MOJEGO.SERWERA\phpldapadmin) na konto Administratora bazy tj.:
phpldapadmin informuje:
na sam koniec wklejam moje konfigi plików /etc/ldap/slap.d.conf
pliku /etc/ldap/slap.d.conf
i pliku /etc/default/slapd:
Jeślichodzi o sambę to jeszcze nier doszedłem do tego momentu nie było sensu modyfikować smb.conf, ale Samba działa tzn. działa współdzielenie katalogów na razie tyle wystarczy. Jak zalogować się do bazy przy użyciu phpmyadmina, jak rozumiem jeśli ten sposób zadziała oznacza to, że baza danych działa poprawnie.
Dodane:
Widzę las rąk - taki mały żarcik wiem już czemu baza jest pusta, ale dalej nie rozumiem jak dodać konto admina./etc/nsswitch.conf
Chciałbym zbudować kontroler domeny z Sambą i LDAP-em
Kod: Zaznacz cały
dpkg-reconfigure slapd
Kod: Zaznacz cały
Omit OpenLDAP server configuration? Nie
DNS domain name: pcpr.lan
Name of you organization: pcpr.lan
Admin password: 123456
Confirm password: 123456
Database backend to use: BDB
Do you want your database to be removed when slapd purged? Nie
Move old database? Tak
Allow LDAPv2 protocol? Nie
Kod: Zaznacz cały
# extended LDIF
#
# LDAPv3
# base <dc=pcpr,dc=lan> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# pcpr.lan
dn: dc=pcpr,dc=lan
objectClass: domain
dc: pcpr
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
Kod: Zaznacz cały
# extended LDIF
#
# LDAPv3
# base <dc=test,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# test.com
dn: dc=test,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: test.com
dc: test
# admin, test.com
dn: cn=admin,dc=test,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
Kod: Zaznacz cały
Login: cn=admin,dc=pcpr,dc=lan
hasło: 123456
Kod: Zaznacz cały
Unable to connect to LDAP server My LDAP Server
Błąd: Can't contact LDAP server (-1) for user
error Failed to Authenticate to server
Invalid Username or Password.
Kod: Zaznacz cały
# This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.
#######################################################################
# Global Directives:
# Features to permit
#allow bind_v2
# Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema
# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile /var/run/slapd/slapd.pid
# List of arguments that were passed to the server
argsfile /var/run/slapd/slapd.args
# Read slapd.conf(5) for possible values
loglevel none
# Where the dynamically loaded modules are stored
modulepath /usr/lib/ldap
moduleload back_bdb
# The maximum number of entries that is returned for a search operation
sizelimit 500
# The tool-threads parameter sets the actual amount of cpu's that is used
# for indexing.
tool-threads 1
#######################################################################
# Specific Backend Directives for bdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend bdb
#######################################################################
# Specific Backend Directives for 'other':
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
#backend <other>
#######################################################################
# Specific Directives for database #1, of type bdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database bdb
# The base of your directory in database #1
suffix dc=pcpr,dc=lan
rootdn cn=admin,dc=pcpr,dc=lan
# for syncrepl.
# rootdn "cn=admin,dc=pcpr,dc=lan"
# Where the database file are physically stored for database #1
directory "/var/lib/ldap"
# The dbconfig settings are used to generate a DB_CONFIG file the first
# time slapd starts. They do NOT override existing an existing DB_CONFIG
# file. You should therefore change these settings in DB_CONFIG directly
# or remove DB_CONFIG and restart slapd for changes to take effect.
# For the Debian package we use 2MB as default but be sure to update this
# value if you have plenty of RAM
dbconfig set_cachesize 0 2097152 0
# Sven Hartge reported that he had to set this value incredibly high
# to get slapd running at all. See http://bugs.debian.org/303057 for more
# information.
# Number of objects that can be locked at the same time.
dbconfig set_lk_max_objects 1500
# Number of locks (both requested and granted)
dbconfig set_lk_max_locks 1500
# Number of lockers
dbconfig set_lk_max_lockers 1500
# Indexing options for database #1
index objectClass eq
# Save the time that the entry gets modified, for database #1
lastmod on
# Checkpoint the BerkeleyDB database periodically in case of system
# failure and to speed slapd shutdown.
checkpoint 512 30
# Where to store the replica logs for database #1
# replogfile /var/lib/ldap/replog
# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=pcpr,dc=lan" write
by anonymous auth
by self write
by * none
# Ensure read access to the base for things like
# supportedSASLMechanisms. Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the 'access to *'
# ACL below too but if you change that as people
# are wont to do you'll still need this if you
# want SASL (and possible other things) to work
# happily.
access to dn.base="" by * read
# The admin dn has full write access, everyone else
# can read everything.
access to *
by tls_ssf=128 ssf=128
by dn="cn=admin,dc=pcpr,dc=lan" write
by * read
# For Netscape Roaming support, each user gets a roaming
# profile for which they have write access to
#access to dn=".*,ou=Roaming,o=morsnet"
# by dn="cn=admin,dc=pcpr,dc=lan" write
# by dnattr=owner write
#######################################################################
# Specific Directives for database #2, of type 'other' (can be bdb too):
# Database specific directives apply to this databasse until another
# 'database' directive occurs
#database <other>
# The base of your directory for database #2
#suffix "dc=debian,dc=org"
rootpw {crypt}15nbEmxQpQDqQ
Kod: Zaznacz cały
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
#BASE dc=example,dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
host localhost
base dc=pcpr,dc=lan
binddn cn=admin,dc=pcpr,dc=lan
bindpw 123456
bind_policy soft
pam_password exop
timelimit 15
Kod: Zaznacz cały
# Default location of the slapd.conf file or slapd.d cn=config directory. If
# empty, use the compiled-in default (/etc/ldap/slapd.d with a fallback to
# /etc/ldap/slapd.conf).
SLAPD_CONF=
# System account to run the slapd server under. If empty the server
# will run as root.
SLAPD_USER="openldap"
# System group to run the slapd server under. If empty the server will
# run in the primary group of its user.
SLAPD_GROUP="openldap"
# Path to the pid file of the slapd server. If not set the init.d script
# will try to figure it out from $SLAPD_CONF (/etc/ldap/slapd.conf by
# default)
SLAPD_PIDFILE=
# slapd normally serves ldap only on all TCP-ports 389. slapd can also
# service requests on TCP-port 636 (ldaps) and requests via unix
# sockets.
# Example usage:
#SLAPD_SERVICES="ldaps://pcpr.lan/"
SLAPD_SERVICES="ldap://127.0.0.1:389/ ldaps:/// ldapi:///"
#SLAPD_SERVICES="ldap:/// ldapi:///"
# If SLAPD_NO_START is set, the init script will not start or restart
# slapd (but stop will still work). Uncomment this if you are
# starting slapd via some other means or if you don't want slapd normally
# started at boot.
#SLAPD_NO_START=1
# If SLAPD_SENTINEL_FILE is set to path to a file and that file exists,
# the init script will not start or restart slapd (but stop will still
# work). Use this for temporarily disabling startup of slapd (when doing
# maintenance, for example, or through a configuration management system)
# when you don't want to edit a configuration file.
SLAPD_SENTINEL_FILE=/etc/ldap/noslapd
# For Kerberos authentication (via SASL), slapd by default uses the system
# keytab file (/etc/krb5.keytab). To use a different keytab file,
# uncomment this line and change the path.
#export KRB5_KTNAME=/etc/krb5.keytab
# Additional options to pass to slapd
SLAPD_OPTIONS=""
Dodane:
Widzę las rąk - taki mały żarcik wiem już czemu baza jest pusta, ale dalej nie rozumiem jak dodać konto admina.
Kod: Zaznacz cały
smbldap-populate -u 3000 -g 3000 -a admin
Populating LDAP directory for domain PCPR (S-1-5-21-1989311688-2920807726-3431758440)
(using builtin directory structure)
entry dc=pcpr,dc=lan already exist.
entry ou=Users,dc=pcpr,dc=lan already exist.
entry ou=Groups,dc=pcpr,dc=lan already exist.
entry ou=Computers,dc=pcpr,dc=lan already exist.
entry ou=Idmap,dc=pcpr,dc=lan already exist.
adding new entry: uid=admin,ou=Users,dc=pcpr,dc=lan
failed to add entry: objectClass: value #4 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 58.
adding new entry: uid=nobody,ou=Users,dc=pcpr,dc=lan
failed to add entry: objectClass: value #4 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 89.
adding new entry: cn=Domain Admins,ou=Groups,dc=pcpr,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 101.
adding new entry: cn=Domain Users,ou=Groups,dc=pcpr,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 112.
adding new entry: cn=Domain Guests,ou=Groups,dc=pcpr,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 123.
adding new entry: cn=Domain Computers,ou=Groups,dc=pcpr,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 134.
adding new entry: cn=Administrators,ou=Groups,dc=pcpr,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 179.
adding new entry: cn=Account Operators,ou=Groups,dc=pcpr,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 201.
adding new entry: cn=Print Operators,ou=Groups,dc=pcpr,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 212.
adding new entry: cn=Backup Operators,ou=Groups,dc=pcpr,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 223.
adding new entry: cn=Replicators,ou=Groups,dc=pcpr,dc=lan
failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 234.
adding new entry: sambaDomainName=sambaDomain,dc=pcpr,dc=lan
failed to add entry: invalid DN at /usr/sbin/smbldap-populate line 498, <GEN1> line 240.
Please provide a password for the domain admin:
/usr/sbin/smbldap-passwd: user admin doesn't exist
root@pcpr:~# smbpasswd -w 123456
Setting stored password for "cn=admin,dc=pcpr,dc=lan" in secrets.tdb
root@pcpr:~# smbldap-usershow admin
user admin doesn't exist
Kod: Zaznacz cały
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: files ldap
group: files ldap
shadow: files ldap
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis