Jeden LDAP dla wszystkich us
Jeden LDAP dla wszystkich usług
Witam,
Mam takie pytanie. Mam dwie maszyny wirtualne. Na jednej ma być samba na drugiej serwer pocztowy. Serwer pocztowy do identyfikacji użytkowników wykorzystuję ldap. W jaki sposób podpiąć już skonfigurowaną domenę w ldap do serwera z sambą tak aby można było ustawić dostęp do udostępnionych katalogów na podstawie informacji o użytkownikach z domeny ldap na pierwszym serwerze?
Linki do manuali mile widziane
Pzdr
Mam takie pytanie. Mam dwie maszyny wirtualne. Na jednej ma być samba na drugiej serwer pocztowy. Serwer pocztowy do identyfikacji użytkowników wykorzystuję ldap. W jaki sposób podpiąć już skonfigurowaną domenę w ldap do serwera z sambą tak aby można było ustawić dostęp do udostępnionych katalogów na podstawie informacji o użytkownikach z domeny ldap na pierwszym serwerze?
Linki do manuali mile widziane
Pzdr
Jaka domena ldap? Nigdy o czymś takim nie słyszałem.
Jaka masz domenę ?
- Windows i AD
- Sambę z uwierzytelnianiem z ldap.
- Samba z uwierzytelnianiem z kont systemowych ( /etc/passwd)
- Samba4 z AD
Sprecyzuj.
Mogę Ci podpowiedzieć, że najlepiej zacząć od domeny (samba+ldap), a później postawić serwer pocztowy z uwierzytelnianiem z tego samego katalogu co wspomniana domena.
Jaka masz domenę ?
- Windows i AD
- Sambę z uwierzytelnianiem z ldap.
- Samba z uwierzytelnianiem z kont systemowych ( /etc/passwd)
- Samba4 z AD
Sprecyzuj.
Mogę Ci podpowiedzieć, że najlepiej zacząć od domeny (samba+ldap), a później postawić serwer pocztowy z uwierzytelnianiem z tego samego katalogu co wspomniana domena.
Witam,
Mam:
- Sambę z uwierzytelnianiem z ldap.
Na jednym serwerze mam samba+ldap. Na drugim mam serwer pocztowy Postfix.
Zainstalowałem Postfix-a według tego tutoriala:
http://acidx.net/wordpress/2014/06/inst ... roundcube/
i mam teraz taki problem. Jak wydaje komendę:
otrzymuję
I nie działa
Mam:
- Sambę z uwierzytelnianiem z ldap.
Na jednym serwerze mam samba+ldap. Na drugim mam serwer pocztowy Postfix.
Zainstalowałem Postfix-a według tego tutoriala:
http://acidx.net/wordpress/2014/06/inst ... roundcube/
i mam teraz taki problem. Jak wydaje komendę:
(gdzie user1 jest w ou=Users,dc=domena,dc=local)postmap -q [email protected] ldap:/etc/postfix/ldap_virtual_recipients.cf
otrzymuję
Ustawienia pliku ldap_virtual_recipients.cf:postmap: warning: dict_ldap_connect: Unable to bind to server ldap://IP_LDAP_SERWER:389 with dn uid=postfix,ou=services,dc=domena,dc=local: 49 (Invalid credentials)
postmap: fatal: table ldap:/etc/postfix/ldap_virtual_recipients.cf: query error: Success
Utworzyłem ou=service na serwerze LDAP i dodałem tam użytkownika postfix.bind = yes
bind_dn = uid=postfix,ou=services,dc=domena,dc=local
bind_pw = tajnehaslo
server_host = ldap:///IP_LDAP_SERWER:389
search_base = ou=Users,dc=domena,dc=local
domain = domena.local
query_filter = (&(mail=%s)(mailEnabled=TRUE))
result_attribute = mail
I nie działa
Mam nadzieje, że ironiczne ego kolegi sethiel zostało zaspokojone przez napisanie tego, jakże wiele wnoszącego do tematu postu.
A tak z innej beczki. Na serwerze LDAP wykonując polecenie:
Pozdrawiam,
A tak z innej beczki. Na serwerze LDAP wykonując polecenie:
Nie otrzymuję wartości pola userPassword pomimo modyfikacji pliku slapd.confldapsearch -x -W -D uid=dovecot,ou=service,dc=sawtrans,dc=biz -b ou=Users,dc=domena,dc=biz -LLL 'uniqueIdentifier=marekk'
Może sethiel ma jakąś (niekoniecznie ironiczną) poradę w tym temacie?access to attrs=userPassword,shadowLastChange
by dn="@ADMIN@" write
by dn="uid=dovecot,ou=service,dc=domena,dc=biz" read
by anonymous auth
by self write
by * non
Pozdrawiam,
Wartości zwracane po wykonaniu komendy:
Po wydnaniu komendy:
Wynik:
Wynik:ldapsearch -x -W -D uid=dovecot,ou=service,dc=domena,dc=biz -b ou=Users,dc=domena,dc=biz -LLL 'uniqueIdentifier=marekk'
Enter LDAP Password:
dn: uniqueIdentifier=marekk,ou=Users,dc=domena,dc=biz
uid: marekk
sambaPwdMustChange: 1737970363
sambaPrimaryGroupSID: S-1-5-21-1362602590-4197101196-800564515-513
sambaAcctFlags:
givenName: marekk
sambaKickoffTime: 2147483647
uidNumber: 1001
sambaNTPassword: 97C0032A6EFB3871948A0FAF3544B1AD
sambaLogonTime: 0
sambaPwdLastSet: 1422610363
sambaPwdCanChange: 0
loginShell: /bin/bash
homeDirectory: /home/katalogi/marekk
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: sambaSamAccount
objectClass: extensibleObject
objectClass: PostfixBookMailAccount
sambaLogoffTime: 2147483647
mail: [email protected]
sn: marekk
sambaSID: S-1-5-21-1362602590-4197101196-800564515-3002
gidNumber: 513
sambaLMPassword: DC0AD5798943AD8BAAD3B435B51404EE
cn: Marek Kowalski
shadowMax: 3650
gecos: Marek Kowalski
uniqueIdentifier: marekk
displayName: Marek Kowalski
mailEnabled: TRUE
mailGidNumber: 5000
mailHomeDirectory: /srv/vmail/[email protected]
mailStorageDirectory: maildir:/srv/vmail/[email protected]
mailUidNumber: 5000
mailAlias: [email protected]
Po wydnaniu komendy:
ldapsearch -x -W -D cn=admin,dc=domena,dc=biz -b ou=Users,dc=domena,dc=biz -LLL 'uniqueIdentifier=marekk'
Wynik:
Enter LDAP Password:
dn: uniqueIdentifier=marekk,ou=Users,dc=domena,dc=biz
uid: marekk
sambaPwdMustChange: 1737970363
sambaPrimaryGroupSID: S-1-5-21-1362602590-4197101196-800564515-513
sambaAcctFlags:
givenName: marekk
sambaKickoffTime: 2147483647
uidNumber: 1001
sambaNTPassword: 97C0032A6EFB3871948A0FAF3544B1AD
sambaLogonTime: 0
sambaPwdLastSet: 1422610363
sambaPwdCanChange: 0
loginShell: /bin/bash
homeDirectory: /home/katalogi/marekk
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: sambaSamAccount
objectClass: extensibleObject
objectClass: PostfixBookMailAccount
sambaLogoffTime: 2147483647
mail: [email protected]
sn: marekk
sambaSID: S-1-5-21-1362602590-4197101196-800564515-3002
shadowLastChange: 16465
gidNumber: 513
sambaLMPassword: DC0AD5798943AD8BAAD3B435B51404EE
cn: Marek Kowalski
shadowMax: 3650
gecos: Marek Kowalski
uniqueIdentifier: marekk
displayName: Marek Kowalski
mailEnabled: TRUE
mailGidNumber: 5000
mailHomeDirectory: /srv/vmail/[email protected]
mailStorageDirectory: maildir:/srv/vmail/[email protected]
mailUidNumber: 5000
mailAlias: [email protected]
userPassword:: e3NzaGF9MENpazdLWXNUbWRrQ1c1T3ltcFJmQkdHRmpwMXZva0hYTFZScEE9PQ=
=
Ok. Faktycznie wygląda na to jakby uid=dovecot nie miał uprawnień do odczytania atrybutu userpassword. Pokaż wszystkie acl z pliku slapd.conf, bo pewnie chodzi o kolejność czytania reguł. Zasada jest taka: od najbardziej konkretnych do najogólniejszych.
Tak na marginesie się spytam czy działa Ci samba ? Zastanawia mnie atrybut uniqueIdentifier, a co za tym idzie całeJak tworzyłeś schemat samby ?
Skrypty smbldap-tools, którymi ja się posługuje tworzą takie
Tak na marginesie się spytam czy działa Ci samba ? Zastanawia mnie atrybut uniqueIdentifier, a co za tym idzie całe
Kod: Zaznacz cały
dn:[B] uniqueIdentifier[/B]=marekk,ou=Users,dc=domena,dc=biz.
Skrypty smbldap-tools, którymi ja się posługuje tworzą takie
Kod: Zaznacz cały
dn: [B]uid[/B]=marekk,ou=Users,dc=domena,dc=biz
Tak jak pisałem na początku próbuję połączyć trzy usługi LDAP, samba i serwer pocztowy. Korzystam z tych tutoriali (najpierw instalacja samba+ldap potem poczta). Na razie zatrzymałem się na instalacji Dovecot.
Samba+ldap:
http://siddou.mynetgear.com/2013/06/ins ... -7-wheezy/
Poczta:
http://acidx.net/wordpress/2014/06/inst ... roundcube/
Tak więc użytkowników tworze za pomocą smbldap-tool i '"dostosowuję" ręcznie do potrzeb serwera pocztowego. Samba mi działa bo użytkownicy mają parametr uid.
Poniżej wklejam slapd.conf:
Samba+ldap:
http://siddou.mynetgear.com/2013/06/ins ... -7-wheezy/
Poczta:
http://acidx.net/wordpress/2014/06/inst ... roundcube/
Tak więc użytkowników tworze za pomocą smbldap-tool i '"dostosowuję" ręcznie do potrzeb serwera pocztowego. Samba mi działa bo użytkownicy mają parametr uid.
Poniżej wklejam slapd.conf:
root@samba3:/usr/share/slapd# cat slapd.conf
# 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
# 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_@BACKEND@
# 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 @BACKEND@:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend @BACKEND@
#######################################################################
# 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 @BACKEND@:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database @BACKEND@
# The base of your directory in database #1
suffix "@SUFFIX@"
# rootdn directive for specifying a superuser on the database. This is needed
# for syncrepl.
# rootdn "cn=admin,@SUFFIX@"
# 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
# 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="@ADMIN@" write
by dn="uid=dovecot,ou=service,dc=domena,dc=biz" read
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 dn="@ADMIN@" 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="@ADMIN@" write
# by dnattr=owner write
#######################################################################
# Specific Directives for database #2, of type 'other' (can be @BACKEND@ 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"