[Samba] Compile 3.5.4 on Opensolaris snv_134

Marcis Lielturks marcis.lielturks at gmail.com
Fri Jul 23 07:24:06 MDT 2010


I modified source3/lib/system.c to print max groups to debugging output 
and log.smbd outputs.

[2010/07/23 15:13:37.690438,  0] lib/system.c:1032(groups_max)
   _SC_NGROUPS_MAX returned '1024'


Where else to look? OS allows me to add user to up to 1024 groups, samba 
now works with up to 35 (previously with up to 16). Where to look next? 
What could cause such strange limitation?


+++ lib/system.c    2010-07-23 15:18:46.314156915 +0300
@@ -1028,10 +1028,12 @@
  int groups_max(void)
  {
  #if defined(SYSCONF_SC_NGROUPS_MAX)
      int ret = sysconf(_SC_NGROUPS_MAX);
+    DEBUG(0,("_SC_NGROUPS_MAX is '%u'\n",ret));
      return (ret == -1) ? NGROUPS_MAX : ret;
  #else
+    DEBUG(0,("NGROUPS_MAX is '%u'\n",NGROUPS_MAX));
      return NGROUPS_MAX;
  #endif
  }



MMM

by the way, did you know, that mouse initially was invented
just for simplifying text selection in xterm?


On 07/23/10 02:25 PM, Marcis Lielturks wrote:
> I recompiled samba with modified /usr/include/limits.h, but it didn't 
> help. User cannot connect to share if he is member of more than 35 
> groups although share has permissions for one of users group. User can 
> access share only if there is permissions for user or users primary 
> group.
>
> I think "smbd -b" output says that sysconfig values for NGROUPS_MAX 
> was used
>
> # smbd -b | grep NGROUP
>    SYSCONF_SC_NGROUPS_MAX
>
> But my test program in C suggests, that _SC_NGROUPS_MAX limit is 1024
>
> $ cat sysconf.c ; ./sysconf
> #include <unistd.h>
> #include <stdio.h>
>
> int main()
> {
>     long ret;
>     ret=sysconf(_SC_NGROUPS_MAX);
>     printf("_SC_NGROUPS_MAX is '%d'\n",ret);
> }
> _SC_NGROUPS_MAX is '1024'
>
>
> If user is member of more than 35 groups, logs say
>
>   smbd/service.c:163(set_conn_connectpath)
>    set_conn_connectpath: service SAMBA, connectpath = /SAMBA
> - smbd/service.c:1031(make_connection_snum)
> -  '/SAMBA' does not exist or permission denied when connecting to  
> Error was Permission denied
>
> If use is member of 35 groups or less, then they say
>   smbd/service.c:163(set_conn_connectpath)
>    set_conn_connectpath: service SAMBA, connectpath = /SAMBA
> + modules/vfs_default.c:152(vfswrap_fs_capabilities)
> +  vfswrap_fs_capabilities: timestamp resolution of sec available on 
> share SAMBA, directory /SAMBA
> + smbd/service.c:1070(make_connection_snum)
> +  w2k3r2target (192.168.0.120) connect to service SAMBA initially as 
> user PROSERVE+proact (uid=12459, gid=10513) (pid
>  18905)
>
> Attached 2 compressed logs for machine user was connecting from - on 
> when user can connect and another when he cannot.
>
> MMM
>
> by the way, did you know, that mouse initially was invented
> just for simplifying text selection in xterm?
>
>
> On 07/23/10 12:57 PM, Marcis Lielturks wrote:
>> Hi!
>>
>> I still have problems, now user can't access share if he's member of 
>> more than 35 groups! I think I forgot to do one thing - modify 
>> /usr/include/limits.h to reflect new NGROUPS_MAX value in kernel.
>>
>> Can I check what NGROUPS_MAX value was used when compiling binaries? 
>> Will /usr/include/limits.h modifications be enough?
>>
>> MMM
>>
>> by the way, did you know, that mouse initially was invented
>> just for simplifying text selection in xterm?
>>
>>
>> On 07/23/10 10:49 AM, Marcis Lielturks wrote:
>>> Hi!
>>>
>>> Thanks, yes I was using "-i". Now everything seems to work OK. My 
>>> main reason, why I compiled samba - 16 group limitation, is solved too!
>>>
>>> Hopefully I'll later gather up few lines of instructions on how to 
>>> get 3.5.4 compiling on OpenSolaris (snv_134).
>>>
>>> Thanks everybody for help!
>>>
>>> MMM
>>>
>>> by the way, did you know, that mouse initially was invented
>>> just for simplifying text selection in xterm?
>>>
>>>
>>> On 07/22/10 10:27 PM, Volker Lendecke wrote:
>>>> On Thu, Jul 22, 2010 at 09:51:40PM +0300, Mārcis Lielturks wrote:
>>>>> Here's 6 files in compressed tar archive.
>>>> That looks all perfectly fine. The client just disconnects
>>>> again after it has done some querying.
>>>>
>>>> How are you starting smbd? It a bit looks like you're
>>>> starting it with -i, which for normal server operations is
>>>> unfortunately wrong. You should start it with -D and let it
>>>> become a daemon.
>>>>
>>>> Volker


More information about the samba mailing list