LINUX.ORG.RU
ФорумAdmin

smb+ldap не добавляет класс объекту при вводе в домен

 ,


0

1

приветствую. имеется связка samba3(pdc)+ldap. при вводе в домен (winxp) в ou=machines добавляется новая запись (используется smbldap-scripts), но самба не добавляет данной записи класс sambaSamAccount, соответственно войти в домен машина не может. если вручную добавить (smbldap-usermod -a machine_name$, или с помощью lam) - компьютер успешно входит в домен. getent passwd не выводит машины, но пользователей отображает успешно, id user так же бес проблемно отрабатывает. аутентификация самбы проходит успешно - ресурсы показывает. т.е. загвоздка именно в том, что самба не добавляет класс. предполагаю, что проблема именно в том, что система не видит записей машин.

smb.conf

root@debian:/# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[netlogon]"
Loaded services file OK.
Invalid combination of parameters for service homes.                       Map hidden can only work if create mask includes octal 01 (S_IXOTH).
Invalid combination of parameters for service homes.                       Map system can only work if create mask includes octal 010 (S_IXGRP).
Invalid combination of parameters for service netlogon.                            Map hidden can only work if create mask includes octal 01 (S_IXOTH).
Invalid combination of parameters for service netlogon.                            Map system can only work if create mask includes octal 010 (S_IXGRP).
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions

[global]
        dos charset = cp866
        unix charset = UTF8
        display charset = UTF8
        workgroup = AKVA
        realm = AKVA
        server string = %h server
        interfaces = eth0
        bind interfaces only = Yes
        map to guest = Bad User
        pam password change = Yes
        passwd program = /usr/sbin/smbldap-passwd -u %u
        passwd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*tokens*updated*
        syslog = 0
        log file = /var/log/samba/log.%m
        time server = Yes
        add user script = /usr/sbin/smbldap-useradd -m %u -d /data/home/%u %u
        delete user script = /usr/sbin/smbldap-userdel %u -r %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
        add machine script = /usr/sbin/smbldap-useradd -w %u
        logon script = logon.bat
        domain logons = Yes
        os level = 65
        preferred master = Yes
        domain master = Yes
        dns proxy = No
        wins support = Yes
        ldap admin dn = "cn=admin,dc=akva"
        ldap group suffix = ou=group
        ldap idmap suffix = ou=idmap
        ldap machine suffix = ou=machines
        ldap passwd sync = yes
        ldap suffix = dc=akva
        ldap ssl = no
        ldap user suffix = ou=people
        panic action = /usr/share/samba/panic-action %d
        map acl inherit = Yes
        case sensitive = No
        hide unreadable = Yes
        map hidden = Yes
        map system = Yes

[homes]
        comment = Home directories
        path = /data/home/%u
        read only = No
        browseable = No

[netlogon]
        path = /data/netlogon
        browseable = No

pam_ldap.conf

root@debian:/# grep -v "^#" /etc/pam_ldap.conf |sed '/^$/d'
base dc=akva
uri ldapi:///
ldap_version 3
rootbinddn cn=admin,dc=akva
bind_policy soft
pam_password md5
nss_base_passwd ou=people,dc=akva?one
nss_base_shadow ou=people,dc=akva?one
nss_base_group          ou=group,dc=akva?one
nss_base_hosts          ou=machines,dc=akva?one

libnss-ldap.conf

root@debian:/# grep -v "^#" /etc/libnss-ldap.conf |sed '/^$/d'
base dc=akva
uri ldap://127.0.0.1/
ldap_version 3
rootbinddn cn=admin,dc=akva
bind_policy soft
pam_password    md5
nss_base_passwd ou=people,dc=akva?one
nss_base_shadow ou=people,dc=akva?one
nss_base_group          ou=group,dc=akva?one
nss_base_hosts          ou=machines,dc=akva?one

nsswitch.conf

root@debian:/# grep -v "^#" /etc/nsswitch.conf |sed '/^$/d'
passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
hosts:          files dns ldap
networks:       files ldap
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis


3.

nss_base_passwd ou=people,dc=akva?one

выставьте (для проверки) в
nss_base_passwd dc=akva?sub

Потом пробуйте, потом, если не работает, включайте debug у samba/ldap (запросы) и смотрите, где она спотыкается.

zgen ★★★★★
()
Последнее исправление: zgen (всего исправлений: 1)
Ответ на: комментарий от zgen

спасибо! это решило проблему! логика проблемы понятна. но, что характерно - самба все равно не добавляет sambaSamAccount записи машины, при этом машина успешно входит в домен.

byy
() автор топика
Ответ на: комментарий от byy

спасибо! это решило проблему!
самба все равно не добавляет sambaSamAccount записи машины,

И какую проблему это решило?

zgen ★★★★★
()
Ответ на: комментарий от zgen

как оказалось - не значит.. нет, ничего не добавлял.

root@debian:~# ldapsearch -Y EXTERNAL -H ldapi:/// -b ou=machines,dc=akva
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
# extended LDIF
#
# LDAPv3
# base <ou=machines,dc=akva> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# machines, akva
dn: ou=machines,dc=akva
objectClass: top
objectClass: organizationalUnit
ou: machines

# test-com$, machines, akva
dn: uid=test-com$,ou=machines,dc=akva
objectClass: top
objectClass: account
objectClass: posixAccount
cn: test-com$
uid: test-com$
uidNumber: 1025
gidNumber: 515
homeDirectory: /dev/null
loginShell: /bin/false
description: Computer
gecos: Computer

# tmpz$, machines, akva
dn: uid=tmpz$,ou=machines,dc=akva
objectClass: top
objectClass: account
objectClass: posixAccount
cn: tmpz$
uid: tmpz$
uidNumber: 1026
gidNumber: 515
homeDirectory: /dev/null
loginShell: /bin/false
description: Computer
gecos: Computer
как видите - нету sambaSamAccount. первая машина - winxp своим ходом вошедшая, вторая win7 с правленным реестром..

byy
() автор топика
Ответ на: комментарий от byy

как видите - нету sambaSamAccount.

Я вижу, что у этой записи LDAP нет sambasamaccount.

Но с чего вы взяли, что samba ищет именно его? Объяснение простое, samba смотрит в одно место, а вы в другое.

zgen ★★★★★
()
Последнее исправление: zgen (всего исправлений: 1)
Ответ на: комментарий от zgen

т.е. мое суждение, что для успешного входа в домен у записи машины должен быть sambaSamAcoount - ошибочно? и для samba достаточно просто видеть записи машин используя системные средства?

byy
() автор топика
Ответ на: комментарий от byy

Нет, просто вы (условно) смотрите запись для машины A, а в домен входит машина B.

Или (как вариант) - смотрите в один каталог, а samba ищет в другом.

zgen ★★★★★
()
Ответ на: комментарий от zgen

исключено, а каталог один. в ходе экспериментов я просматривал ou=machines до попытки ввести машину в домен, и сразу после. появляется запись новой машины. в подтверждение моих слов о том, что я правильно смотрю

root@debian:~# ldapsearch -Y EXTERNAL -H ldapi:/// -b dc=akva
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
# extended LDIF
#
# LDAPv3
# base <dc=akva> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# akva
dn: dc=akva
objectClass: top
objectClass: dcObject
objectClass: organization
o: akva
dc: akva

# admin, akva
dn: cn=admin,dc=akva
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# people, akva
dn: ou=people,dc=akva
objectClass: top
objectClass: organizationalUnit
ou: people

# group, akva
dn: ou=group,dc=akva
objectClass: top
objectClass: organizationalUnit
ou: group

# machines, akva
dn: ou=machines,dc=akva
objectClass: top
objectClass: organizationalUnit
ou: machines

# idmap, akva
dn: ou=idmap,dc=akva
objectClass: top
objectClass: organizationalUnit
ou: idmap

# root, people, akva
dn: uid=root,ou=people,dc=akva
cn: root
sn: root
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: sambaSamAccount
objectClass: posixAccount
objectClass: shadowAccount
uid: root
uidNumber: 0
homeDirectory: /data/home/root
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaHomePath: \\%L\root
sambaHomeDrive: P:
sambaPrimaryGroupSID: S-1-5-21-824044603-786178968-3801693877-512
sambaSID: S-1-5-21-824044603-786178968-3801693877-500
loginShell: /bin/false
gecos: Netbios Domain Administrator
sambaPasswordHistory: 00000000000000000000000000000000000000000000000000000000
 00000000
gidNumber: 512
sambaLMPassword: D480EA9533C500D4AAD3B435B51404EE
sambaAcctFlags: [U]
sambaNTPassword: 329153F560EB329C0E1DEEA55E88A1E9
sambaPwdLastSet: 1365506196
sambaPwdMustChange: 1453979796
shadowMax: 1024

# nobody, people, akva
dn: uid=nobody,ou=people,dc=akva
cn: nobody
sn: nobody
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: sambaSamAccount
objectClass: posixAccount
objectClass: shadowAccount
gidNumber: 65534
uid: nobody
uidNumber: 65534
homeDirectory: /nonexistent
sambaPwdLastSet: 0
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 2147483647
sambaHomePath: \\%L\nobody
sambaHomeDrive: P:
sambaPrimaryGroupSID: S-1-5-21-824044603-786178968-3801693877-514
sambaLMPassword: NO PASSWORDXXXXXXXXXXXXXXXXXXXXX
sambaNTPassword: NO PASSWORDXXXXXXXXXXXXXXXXXXXXX
sambaAcctFlags: [NUD        ]
sambaSID: S-1-5-21-824044603-786178968-3801693877-2998
loginShell: /bin/sh

# Domain Admins, group, akva
dn: cn=Domain Admins,ou=group,dc=akva
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 512
cn: Domain Admins
memberUid: root
description: Netbios Domain Administrators
sambaSID: S-1-5-21-824044603-786178968-3801693877-512
sambaGroupType: 2
displayName: Domain Admins

# Domain Users, group, akva
dn: cn=Domain Users,ou=group,dc=akva
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 513
cn: Domain Users
description: Netbios Domain Users
sambaSID: S-1-5-21-824044603-786178968-3801693877-513
sambaGroupType: 2
displayName: Domain Users
memberUid: root

# Domain Guests, group, akva
dn: cn=Domain Guests,ou=group,dc=akva
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 514
cn: Domain Guests
description: Netbios Domain Guests Users
sambaSID: S-1-5-21-824044603-786178968-3801693877-514
sambaGroupType: 2
displayName: Domain Guests

# Domain Computers, group, akva
dn: cn=Domain Computers,ou=group,dc=akva
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 515
cn: Domain Computers
description: Netbios Domain Computers accounts
sambaSID: S-1-5-21-824044603-786178968-3801693877-515
sambaGroupType: 2
displayName: Domain Computers

# Administrators, group, akva
dn: cn=Administrators,ou=group,dc=akva
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 544
cn: Administrators
description: Netbios Domain Members can fully administer the computer/sambaDom
 ainName
sambaSID: S-1-5-32-544
sambaGroupType: 5
displayName: Administrators

# Account Operators, group, akva
dn: cn=Account Operators,ou=group,dc=akva
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 548
cn: Account Operators
description: Netbios Domain Users to manipulate users accounts
sambaSID: S-1-5-32-548
sambaGroupType: 5
displayName: Account Operators

# Print Operators, group, akva
dn: cn=Print Operators,ou=group,dc=akva
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 550
cn: Print Operators
description: Netbios Domain Print Operators
sambaSID: S-1-5-32-550
sambaGroupType: 5
displayName: Print Operators

# Backup Operators, group, akva
dn: cn=Backup Operators,ou=group,dc=akva
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 551
cn: Backup Operators
description: Netbios Domain Members can bypass file security to back up files
sambaSID: S-1-5-32-551
sambaGroupType: 5
displayName: Backup Operators

# Replicators, group, akva
dn: cn=Replicators,ou=group,dc=akva
objectClass: top
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 552
cn: Replicators
description: Netbios Domain Supports file replication in a sambaDomainName
sambaSID: S-1-5-32-552
sambaGroupType: 5
displayName: Replicators

# AKVA, akva
dn: sambaDomainName=AKVA,dc=akva
objectClass: top
objectClass: sambaDomain
objectClass: sambaUnixIdPool
sambaDomainName: AKVA
sambaSID: S-1-5-21-824044603-786178968-3801693877
gidNumber: 1000
sambaNextRid: 1000
sambaPwdHistoryLength: 0
sambaMaxPwdAge: -1
sambaRefuseMachinePwdChange: 0
sambaMinPwdLength: 5
sambaLogonToChgPwd: 0
sambaLockoutThreshold: 0
uidNumber: 1027

# qaz, people, akva
dn: uid=qaz,ou=people,dc=akva
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
cn: qaz
sn: qaz
givenName: qaz
uid: qaz
uidNumber: 1003
gidNumber: 513
homeDirectory: /data/home/qaz
loginShell: /bin/bash
gecos: System User
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
displayName: qaz
sambaSID: S-1-5-21-824044603-786178968-3801693877-3006
sambaPrimaryGroupSID: S-1-5-21-824044603-786178968-3801693877-513
sambaHomePath: \\%L\qaz
sambaHomeDrive: P:
sambaLMPassword: A603544150D7AD05AAD3B435B51404EE
sambaAcctFlags: [U]
sambaNTPassword: 6E232E2C4564D07FAB34641AF1420F3B
sambaPwdLastSet: 1365490574
sambaPwdMustChange: 1453964174
shadowMax: 1024

# debian$, machines, akva
dn: uid=debian$,ou=machines,dc=akva
objectClass: top
objectClass: account
objectClass: posixAccount
cn: debian$
uid: debian$
uidNumber: 1013
gidNumber: 515
homeDirectory: /dev/null
loginShell: /bin/false
description: Computer
gecos: Computer

# test-com$, machines, akva
dn: uid=test-com$,ou=machines,dc=akva
objectClass: top
objectClass: account
objectClass: posixAccount
cn: test-com$
uid: test-com$
uidNumber: 1025
gidNumber: 515
homeDirectory: /dev/null
loginShell: /bin/false
description: Computer
gecos: Computer

# tmpz$, machines, akva
dn: uid=tmpz$,ou=machines,dc=akva
objectClass: top
objectClass: account
objectClass: posixAccount
cn: tmpz$
uid: tmpz$
uidNumber: 1026
gidNumber: 515
homeDirectory: /dev/null
loginShell: /bin/false
description: Computer
gecos: Computer

# search result
search: 2
result: 0 Success

# numResponses: 23
# numEntries: 22
именно это и удивляет - sambaSamAccount действительно не добавляется записям, и при этом машина входит в домен, и после нормально авторизует пользователей домена.

byy
() автор топика
Ответ на: комментарий от byy

Миллион вариантов.

Например - кто вам сказал, что у вас есть доступ к просмотру нужных полей?

slapcat|grep -10 sambaSamAccount

zgen ★★★★★
()
Ответ на: комментарий от zgen
root@debian:~# slapcat|grep -10 sambaSamAccount
modifiersName: cn=admin,dc=akva
modifyTimestamp: 20130409060548Z

dn: uid=root,ou=people,dc=akva
cn: root
sn: root
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: sambaSamAccount
objectClass: posixAccount
objectClass: shadowAccount
uid: root
uidNumber: 0
homeDirectory: /data/home/root
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaHomePath: \\%L\root
--
modifiersName: cn=admin,dc=akva
modifyTimestamp: 20130409111636Z

dn: uid=nobody,ou=people,dc=akva
cn: nobody
sn: nobody
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: sambaSamAccount
objectClass: posixAccount
objectClass: shadowAccount
gidNumber: 65534
uid: nobody
uidNumber: 65534
homeDirectory: /nonexistent
sambaPwdLastSet: 0
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
--
modifiersName: cn=admin,dc=akva
modifyTimestamp: 20130410104246Z

dn: uid=qaz,ou=people,dc=akva
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
cn: qaz
sn: qaz
givenName: qaz
uid: qaz
uidNumber: 1003
gidNumber: 513
homeDirectory: /data/home/qaz
loginShell: /bin/bash
gecos: System User
structuralObjectClass: inetOrgPerson
byy
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.