Openldap+tls+samba3+squid

Автор kima, 27 Июня 2009, 14:22

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

kima

27 Июня 2009, 14:22 Последнее редактирование: 27 Июня 2009, 14:25 от kima
Здравствуйте! помогите разобраться с smb.conf, долго мучился но нечего не выходит. и проблема создания пользов. в ЛДАПе делал как в статьях но у меня не было таких же веток что приводило к ошибкам. вообшем оставил только вот это
[root@localhost kimbat]# ldapsearch -x -LLL -b 'dc=aes,dc=kz' '(objectclass=*)'
dn: dc=aes,dc=kz
objectClass: organization
objectClass: dcObject
dc: aes
o: home
подскажите как дальше строить дерево для пользов. вышеописанных служб
сквид вроде работает (выдает окошко аутентификации и команда #ps -aux | grep squid показыв на ldaps://www.aes.kz)
а вот с самбой похуже даже не стартует! короче вот конфиги и лог самбы:
[codebox]log.smbd

[2009/06/26 23:14:41,  0] smbd/server.c:main(1267)
  smbd version 3.3.3 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2009
[2009/06/26 23:14:41,  0] passdb/pdb_interface.c:make_pdb_method_name(149)
  No builtin nor plugin backend for ldapsam found
[2009/06/26 23:14:41,  0] lib/util.c:smb_panic(1673)
  PANIC (pid 3091): pdb_get_methods_reload: failed to get pdb methods for backen
d ldapsam:ldaps://www.aes.kz

[2009/06/26 23:14:41,  0] lib/util.c:log_stack_trace(1777)
  BACKTRACE: 7 stack frames:
   #0 ../sbin/smbd(log_stack_trace+0x26) [0xb4f345]
   #1 ../sbin/smbd(smb_panic+0x63) [0xb4f203]
   #2 ../sbin/smbd [0xb1935f]
   #3 ../sbin/smbd(initialize_password_db+0x26) [0xb1af1b]
   #4 ../sbin/smbd(main+0x68f) [0xd3a490]
   #5 /lib/libc.so.6(__libc_start_main+0xdf) [0x387d9f]
   #6 ../sbin/smbd [0x948bd1]
[2009/06/26 23:14:41,  0] lib/fault.c:dump_core(231)
  dumping core in /usr/local/samba/var/cores/smbd


smb.conf

[globals]
netbios name = samba
workgroup = MSHOME
security = user

passdb backend = ldapsam:ldaps://www.aes.kz
ldap ssl = off
ldap admin dn = "cn=admin,dc=aes,dc=kz"
ldap suffix = dc=aes,dc=kz
admin users = zombie
ldap admin dn = "cn=admin,dc=aes,dc=kz"
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap machine suffix = ou=Computers
ldap delete dn = no
ldap passwd sync = yes
preferred master = yes
domain master = Yes
domain logons = Yes
logon path = \\%N\profiles\%U
logon drive = N
#add machine script = /usr/sbin/smbldap-useradd -w %u
#add user script = /usr/local/sbin/smbldap-useradd -m %u
[homes]
comment = Home Directory
browseable = Yes
writable = Yes

[netlogon]
comment = Network Logon Service
browseable = Yes
path =/home/samba/netlogon
guest ok = yes
writable = yes

slapd.conf

include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/misc.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/samba.schema
include         /etc/openldap/schema/openldap.schema


allow bind_v2

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

access to attr=userPassword
 by users write
 by anonymous auth
 by * none
access to *
 by users write
 by anonymous read
 by * none

#######################################################################
# ldbm and/or bdb database definitions
#######################################################################

database        bdb
suffix          "dc=aes,dc=kz"
rootdn          "cn=admin,dc=aes,dc=kz"
rootpw          secret

directory       /var/lib/ldap


index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub

loglevel 0

TLSCACertificateFile /etc/openldap/cacerts/ca.cert
TLSCertificateFile /etc/openldap/cacerts/ldap.cert
TLSCertificateKeyFile /etc/openldap/cacerts/ldap.key
TLSVerifyClient never


squid.conf

http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_dir ufs /var/spool/squid 6144 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_min 100 MB
maximum_object_size 102400 KB
cache_effective_user squid
cache_effective_group squid

auth_param basic program /usr/lib/squid/squid_ldap_auth -P -b dc=aes,dc=kz -f (uid=%s) -H "ldaps://www.aes.kz" -v 3 -p 636
external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_group -P -b dc=aes,dc=kz -f (&(memberUid=%v)(cn=%a)) -H "ldaps://www.aes.kz" -v 3 -p 636

half_closed_clients off

acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl allowedhost src 192.168.0.0/24
acl users external ldap_group squiduser
dns_nameserver 127.0.0.1
acl INET proxy_auth REQUIRED src 192.168.0.0/255.255.255.0
acl SSL_ports port 80 443 563 4662
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access allow users
http_access deny allowedhost all
http_access allow localhost
http_access allow INET
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
http_access deny localhost
http_access deny all
visible_hostname admin@aes.kz

append_domain .aes.kz
err_html_text admin@aes.kz
memory_pools off
coredump_dir /var/spool/squid
ie_refresh on
deny_info ERR_QUOTA all
[/codebox]
ах да забыл спросить, www.aes.kz в ДНСе имеет ip а aes.kz нет. это не критично

kima

Здравствуйте! немного изменил самбовский конфиг, вот так:
[codebox][global]
        workgroup = MSHOME
        netbios name = SERVER
        server string = Samba
        security = user
        obey pam restrictions = no
        passdb backend = ldapsam:ldap://localhost/
        guest account = smbuser
        log level = 5

#    Begin: Custom LDAP Entries
#
ldap admin dn = cn=admin,dc=aes,dc=kz
ldap suffix = dc=aes,dc=kz
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Users
; Do ldap passwd sync
ldap passwd sync = Yes
passwd program = /usr/sbin/smbldap-passwd %u
passwd chat = *New*password* %nn *Retype*new*password* %nn *all*authentication*tokens*updated*
add user script = /usr/sbin/smbldap-useradd -m "%u"
ldap delete dn = Yes
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
domain logons = yes

[netlogon]
   comment = Network Logon Service
   path = /home/public/samba/netlogon
   read only = yes
[root@localhost samba]#
[/codebox]

и вот его лог:
[codebox][root@localhost samba]# cat /var/log/samba/smbd.log | tail
[2009/06/28 20:03:44, 5] auth/auth_util.c:make_server_info_sam(603)
  make_server_info_sam: made server info for user smbuser -> smbuser
[2009/06/28 20:03:44, 5] lib/smbldap.c:smbldap_search_ext(1179)
  smbldap_search_ext: base => [ou=Groups,dc=aes,dc=kz], filter => [(&(objectClass=sambaGroupMapping)(sambaSID=S-1-5-32-544))], scope => [2]
[2009/06/28 20:03:44, 5] lib/smbldap.c:smbldap_search_ext(1179)
  smbldap_search_ext: base => [ou=Groups,dc=aes,dc=kz], filter => [(&(objectClass=sambaGroupMapping)(sambaSID=S-1-5-32-545))], scope => [2]
[2009/06/28 20:03:44, 5] lib/smbldap.c:smbldap_search_ext(1179)
  smbldap_search_ext: base => [ou=Groups,dc=aes,dc=kz], filter => [(&(|(objectclass=sambaGroupMapping)(sambaGroupType=4))(|(sambaSIDList=S-1-5-21-1839596575-4197305019-2497940423-501)(sambaSIDList=S-1-22-2-501)(sambaSIDList=S-1-1-0)(sambaSIDList=S-1-5-2)(sambaSIDList=S-1-5-32-546)))], scope => [2]
[2009/06/28 20:03:44, 0] smbd/server.c:main(960)
  ERROR: failed to setup guest info.
[root@localhost samba]#
[/codebox]

кажется это единственная ошибка. не связано ли это с нехваткой каких то модулей для самбы?
ПОМОГИТЕ ПОЖАЛУЙСТА!!! неделю мучаюсь! http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/wacko.gif\' class=\'bbc_emoticon\' alt=\':wacko:\' />

Vicpo

guest account = smbuser попробуйте закомментировать

kima

Спасибо помогло!
до этого пробобовал без гостевого аккаунта но тоже не работало, мистика какая та.
и хочется спросить для TLS какие нужно ввести изменения

kima

что то поспешил. оказалось все просто
passdb backend = ldapsam:ldaps://(вводиш доменное имя на которое создавал сертификат) и ldap ssl = off (кажется даже по дефолту уже так стоит)

kima

когда впервый раз запустил как Вы сказали все работало. но вот прошло время кое какие данные нужно было перекинуть на сервак, поэтому запустил другой конфиг самбы в режиме шеир(т.к. не настроены польз. в ЛДАПе). потом вернул старый конфиг и вот результат:
[codebox][root@localhost samba]# cat /var/log/samba/smbd.log | tail
[2009/06/29 01:06:25, 5] auth/auth_util.c:make_server_info_sam(603)
  make_server_info_sam: made server info for user nobody -> nobody
[2009/06/29 01:06:25, 5] lib/smbldap.c:smbldap_search_ext(1179)
  smbldap_search_ext: base => [ou=Groups,dc=aes,dc=kz], filter => [(&(objectClass=sambaGroupMapping)(sambaSID=S-1-5-32-544))], scope => [2]
[2009/06/29 01:06:25, 5] lib/smbldap.c:smbldap_search_ext(1179)
  smbldap_search_ext: base => [ou=Groups,dc=aes,dc=kz], filter => [(&(objectClass=sambaGroupMapping)(sambaSID=S-1-5-32-545))], scope => [2]
[2009/06/29 01:06:25, 5] lib/smbldap.c:smbldap_search_ext(1179)
  smbldap_search_ext: base => [ou=Groups,dc=aes,dc=kz], filter => [(&(|(objectclass=sambaGroupMapping)(sambaGroupType=4))(|(sambaSIDList=S-1-5-21-1839596575-4197305019-2497940423-501)(sambaSIDList=S-1-22-2-99)(sambaSIDList=S-1-1-0)(sambaSIDList=S-1-5-2)(sambaSIDList=S-1-5-32-546)))], scope => [2]
[2009/06/29 01:06:25, 0] smbd/server.c:main(960)
  ERROR: failed to setup guest info.
[root@localhost samba]#
[/codebox]
при том же конфиге
[codebox][root@localhost samba]# cat smb.conf
[global]
workgroup = MSHOME
netbios name = SERVER
server string = Samba
security = user
obey pam restrictions = no
passdb backend = ldapsam:ldaps://www.aes.kz
log level = 5
ldap ssl = off

# Begin: Custom LDAP Entries
#
ldap admin dn = cn=admin,dc=aes,dc=kz
ldap suffix = dc=aes,dc=kz
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Users
; Do ldap passwd sync
ldap passwd sync = Yes
passwd program = /usr/sbin/smbldap-passwd %u
passwd chat = *New*password* %nn *Retype*new*password* %nn *all*authentication*tokens*updated*
add user script = /usr/sbin/smbldap-useradd -m "%u"
ldap delete dn = Yes
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
domain logons = yes

[netlogon]
comment = Network Logon Service
path = /home/public/samba/netlogon
read only = yes

[root@localhost samba]#
[/codebox]
и снова дежавю http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/wacko.gif\' class=\'bbc_emoticon\' alt=\':wacko:\' />

Vicpo

в секцию global попробуйте добавить
map to guest = bad user

kima

результат такой же

kima

народ подсказал что нужно приготовить заготовку в ЛДАПе с помошью smbldap-populate
и действительно было дело что после удачного старта самбы ввел:
[root@localhost ~]# smbldap-populate -u 30000 -g 30000
Can't locate Net/LDAP.pm in @INC (@INC contains: /usr/sbin/ /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.6/i386-linux-thread-multi /usr/lib/perl5/5.8.6 .) at /usr/sbin//smbldap_tools.pm line 26.
BEGIN failed--compilation aborted at /usr/sbin//smbldap_tools.pm line 26.
Compilation failed in require at /usr/sbin/smbldap-populate line 31.
BEGIN failed--compilation aborted at /usr/sbin/smbldap-populate line 31.
[root@localhost ~]#

здесь:
smbldap_tools.pm line 26 -> use Net::LDAP;
smbldap-populate line 31 -> use smbldap_tools;

kima

29 Июня 2009, 17:05 #9 Последнее редактирование: 29 Июня 2009, 17:07 от kima
выяснилось что нужно установить дополнительный пакет perl-Net-LDAP(вдруг кому пригодится) + еше зависимые пакеты. но мне пришлось бы с десяток устанавливать, это долго и трудно для запоминания всех зависимостей на случай если придется поднимать новую систему.
кто нибудь знает выход из этой ситуации?
в смысле не используя smbldap-populate

sotrud_nik

Честно говоря, мы и сами не понимаем о чем тут речь. Удачи.