Same problem with latest samba 3.0.26a stable. So I opened a bug report here :

https://bugzilla.samba.org/show_bug.cgi?id=5076

We're stucked on following statement : Only CFLAGS=-DNO_LDAP_SECURITY build option can avoid this error. No more infos on the security issues this particular option might introduce.

F. NASS.


Frédéric Nass a écrit :

Hi,

I found more infos here :
http://www.mail-archive.com/[email protected]/msg33190.html

This functionality seems to have been implemented in the samba source code (3.0.24 - auth_sam.c) : http://viewcvs.samba.org/cgi-bin/viewcvs.cgi/branches/SAMBA_3_0_24/source/auth/auth_sam.c?rev=22815&view=markup <http://viewcvs.samba.org/cgi-bin/viewcvs.cgi/branches/SAMBA_3_0_24/source/auth/auth_sam.c?rev=22815&view=markup>

    if (*workstation_list) {
        BOOL invalid_ws = True;
        fstring tok;
        const char *s = workstation_list;

const char *machine_name = talloc_asprintf(mem_ctx, "%s$", user_info->wksta_name);
        if (machine_name == NULL)
            return NT_STATUS_NO_MEMORY;
while (next_token(&s, tok, ",", sizeof(tok))) { DEBUG(10,("sam_account_ok: checking for workstation match %s and %s\n",
                  tok, user_info->wksta_name));
            if(strequal(tok, user_info->wksta_name)) {
                invalid_ws = False;
                break;
            }
here ///===>        if (tok[0] == '+') {
DEBUG(10,("sam_account_ok: checking for workstation %s in group: %s\n", machine_name, tok + 1));
                if (user_in_group(machine_name, tok + 1)) {
                    invalid_ws = False;
                    break;
                }
            }
        }
if (invalid_ws) return NT_STATUS_INVALID_WORKSTATION;
    }


So I used samba debug level 10 in smb.conf :

This is the exact part of the samba workstation log file when auth fails on PC2 : (It should work, as PC2 is also part of "salle1" workstation's group)

smbldap_search_ext: base => [ou=Groups,dc=test,dc=org], filter => [(&(|(objectclass=sambaGroupMapping)(sambaGroupType=4))(|(sambaSIDList=S-1-5-21-747375223-3054175255-2287932516-3010)(sambaSIDList=S-1-5-21-747375223-3054175255-2287932516-515)(sambaSIDList=S-1-1-0)(sambaSIDList=S-1-5-2)(sambaSIDList=S-1-5-11)(sambaSIDList=S-1-5-21-747375223-3054175255-2287932516-9001)(sambaSIDList=S-1-22-2-515)(sambaSIDList=S-1-22-2-4000)))], scope => [2]
[2007/11/08 15:07:18, 0] lib/smbldap.c:smbldap_open(1009)
 smbldap_open: cannot access LDAP when not root..
[2007/11/08 15:07:18, 10] auth/auth_util.c:add_aliases(653)
 pdb_enum_alias_memberships failed: NT_STATUS_UNSUCCESSFUL
[2007/11/08 15:07:18, 10] auth/auth_util.c:user_in_group_sid(1277)
 could not create token for PC2$
[2007/11/08 15:07:18, 5] auth/auth.c:check_ntlm_password(273)
check_ntlm_password: sam authentication for user [toto] FAILED with error NT_STATUS_INVALID_WORKSTATION
[2007/11/08 15:07:18, 3] auth/auth_winbind.c:check_winbind_security(80)
check_winbind_security: Not using winbind, requested domain [TEST] was for this SAM.
[2007/11/08 15:07:18, 10] auth/auth.c:check_ntlm_password(261)
 check_ntlm_password: winbind had nothing to say
[2007/11/08 15:07:18, 2] auth/auth.c:check_ntlm_password(319)
check_ntlm_password: Authentication for user [toto] -> [toto] FAILED with error NT_STATUS_INVALID_WORKSTATION
[2007/11/08 15:07:18, 5] auth/auth_util.c:free_user_info(1867)
 attempting to free (and zero) a user_info structure
[2007/11/08 15:07:18, 10] auth/auth_util.c:free_user_info(1871)
 structure was created for toto
[2007/11/08 15:07:18, 5] rpc_server/srv_netlog_nt.c:_net_sam_logon_internal(934) _net_sam_logon: check_password returned status NT_STATUS_INVALID_WORKSTATION

This is the same time slapd log in syslog file :

Nov 8 15:07:18 debian slapd[3074]: conn=2 op=21 SRCH base="dc=test,dc=org" scope=2 deref=0 filter="(&(uid=salle1)(objectClass=sambaSamAccount))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=21 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 Nov 8 15:07:18 debian slapd[3074]: conn=2 op=21 SEARCH RESULT tag=101 err=0 nentries=0 text= Nov 8 15:07:18 debian slapd[3074]: conn=2 op=22 SRCH base="ou=Groups,dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(|(displayName=salle1)(cn=salle1)))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=22 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass Nov 8 15:07:18 debian slapd[3074]: conn=2 op=22 SEARCH RESULT tag=101 err=0 nentries=1 text= Nov 8 15:07:18 debian slapd[3074]: conn=2 op=23 SRCH base="dc=test,dc=org" scope=2 deref=0 filter="(&(uid=pc2$)(objectClass=sambaSamAccount))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=23 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 Nov 8 15:07:18 debian slapd[3074]: conn=2 op=23 SEARCH RESULT tag=101 err=0 nentries=1 text= Nov 8 15:07:18 debian slapd[3074]: conn=3 op=3 SRCH base="dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uid=pc2$))" Nov 8 15:07:18 debian slapd[3074]: conn=3 op=3 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass Nov 8 15:07:18 debian slapd[3074]: conn=3 op=3 SEARCH RESULT tag=101 err=0 nentries=1 text= Nov 8 15:07:18 debian slapd[3074]: conn=2 op=24 SRCH base="ou=Groups,dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(gidNumber=515))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=24 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass Nov 8 15:07:18 debian slapd[3074]: conn=2 op=24 SEARCH RESULT tag=101 err=0 nentries=1 text= Nov 8 15:07:18 debian slapd[3074]: conn=2 op=25 SRCH base="dc=test,dc=org" scope=2 deref=0 filter="(&(sambaSID=s-1-5-21-747375223-3054175255-2287932516-515)(objectClass=sambaSamAccount))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=25 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 Nov 8 15:07:18 debian slapd[3074]: conn=2 op=25 SEARCH RESULT tag=101 err=0 nentries=0 text= Nov 8 15:07:18 debian slapd[3074]: conn=2 op=26 SRCH base="ou=Groups,dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(sambaSID=s-1-5-21-747375223-3054175255-2287932516-515))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=26 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass Nov 8 15:07:18 debian slapd[3074]: conn=2 op=26 SEARCH RESULT tag=101 err=0 nentries=1 text= Nov 8 15:07:18 debian slapd[3074]: conn=2 op=27 SRCH base="dc=test,dc=org" scope=2 deref=0 filter="(&(sambaSID=s-1-5-21-747375223-3054175255-2287932516-515)(objectClass=sambaSamAccount))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=27 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 Nov 8 15:07:18 debian slapd[3074]: conn=2 op=27 SEARCH RESULT tag=101 err=0 nentries=0 text= Nov 8 15:07:18 debian slapd[3074]: conn=2 op=28 SRCH base="ou=Groups,dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(sambaSID=s-1-5-21-747375223-3054175255-2287932516-515))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=28 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass Nov 8 15:07:18 debian slapd[3074]: conn=2 op=28 SEARCH RESULT tag=101 err=0 nentries=1 text= Nov 8 15:07:18 debian slapd[3074]: conn=3 op=4 SRCH base="dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uid=pc2$))" Nov 8 15:07:18 debian slapd[3074]: conn=3 op=4 SEARCH RESULT tag=101 err=0 nentries=1 text= Nov 8 15:07:18 debian slapd[3074]: conn=3 op=5 SRCH base="dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=posixGroup)(|(memberUid=pc2$)(uniqueMember=uid=pc2$,ou=computers,dc=test,dc=org)))"
Nov  8 15:07:18 debian slapd[3074]: conn=3 op=5 SRCH attr=gidNumber
Nov 8 15:07:18 debian slapd[3074]: conn=3 op=5 SEARCH RESULT tag=101 err=0 nentries=1 text= Nov 8 15:07:18 debian slapd[3074]: conn=3 op=6 SRCH base="dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=posixGroup)(uniqueMember=cn=salle1,ou=groups,dc=test,dc=org))"
Nov  8 15:07:18 debian slapd[3074]: conn=3 op=6 SRCH attr=gidNumber
Nov 8 15:07:18 debian slapd[3074]: conn=3 op=6 SEARCH RESULT tag=101 err=0 nentries=0 text= Nov 8 15:07:18 debian slapd[3074]: conn=2 op=29 SRCH base="ou=Groups,dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(gidNumber=4000))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=29 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass Nov 8 15:07:18 debian slapd[3074]: conn=2 op=29 SEARCH RESULT tag=101 err=0 nentries=1 text= Nov 8 15:07:18 debian slapd[3074]: conn=2 op=30 SRCH base="ou=Groups,dc=test,dc=org" scope=2 deref=0 filter="(&(objectClass=sambaGroupMapping)(sambaSID=s-1-5-32-545))" Nov 8 15:07:18 debian slapd[3074]: conn=2 op=30 SRCH attr=gidNumber sambaSID sambaGroupType sambaSIDList description displayName cn objectClass Nov 8 15:07:18 debian slapd[3074]: conn=2 op=30 SEARCH RESULT tag=101 err=0 nentries=0 text=
Nov  8 15:07:23 debian exiting on signal 15

I just can get to spot the error. Log files can be downloaded from here : http://www.fichiers.univ-metz.fr/depot/nass/syslog-et-sambalog.tgz

Thanks for any help,

F. NASS.

PS : Config files can be found here : http://lists.samba.org/archive/samba/2007-November/136188.html


Frédéric Nass a écrit :

Hi,

I'm trying to use the sambaUserWorkstations option to allow users to log on certain computers only. This option looks great... In fact it looks now a lot better than the 'ldap filter' one than was deprecated with samba 3.0.20...

The fact is, if the sambaUserWorkstations option works well with machine names, it doesn't seem to work when specifying groups of machines. I'm using LDAP as a backend + samba 3.0.24 (debian 4).

For example, I configured the "sambaUserWorkstations" attibute of my user "test" with the followings arguments : "sambaUserWorkstations: PC1,+salle1"

This should work for PC1,PC2 (as 'salle1' machine group has PC1$ and PC2$ for members) but not for PC3, right ? But the user is actually only allowed to log in PC1, but bounced on PC2. This seemed to be working easy with files as samba backend.

Is this the right syntax for computer groups with ldap ? I tried using a "@" instead of a "+" but it didn't help ?

I use LATEST Debian 4 (samba 3.0.24) UP-TO-DATED.

Please find all debug and configuration infos here : http://www.fichiers.univ-metz.fr/depot/nass/sambaUserWorkstations-Groups-Problem.tar.gz

Thank you for any help you might provide us,

Frédéric Nass
IUT de Metz - Université de Metz.
FRANCE
nass_chez_univ-metz_point_fr

Tél : +33387547736





--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Reply via email to