Samba formula needed - will be dropped from Mac OS X 10.7 #5954

Closed
BrazilianJoe opened this Issue Jun 9, 2011 · 81 comments

Projects

None yet
@BrazilianJoe

Due to the license change to GPL3, Apple will no longer be able to ship Samba with Mac OS X.
It was said in the media that Apple is going to provide their own tools for interacting with SMB shares, but it is a very complex system, and I doubt it will be feature complete.

So far, Lion Developer Preview 4 is unable to connect to (my test case) linux-based samba shares which require authentication.

It has been announced by the media (not Apple afaik) that Lion would support SMB2 only, and leave the legacy behind.

Ideally the installation would not only install the SMB tools, but also make itself known to apps like Finder, so that it can be used just like the way it was before.

@adamv

Good to know, thanks.

@BrazilianJoe

Unfortunately I am not enough of a code jockey to do this myself, notwithstanding the fact that I am very time constrained, but I can test the Formulas for the benefit of humanity - or at least the homebrew community. :-)

@adamv

And I'm willing to take advance brews into Homebrew-ALT: https://github.com/adamv/homebrew-alt/tree/master/duplicates

@ponychicken

I tried to build one, but failed. A lot of those little mediaboxes ( wdtv etc. ) stopped working with the "new" samba.
I'm not sure Finder integration will easily be achievable, but if someone could build a formula for a working CL-configured version, I'd be really grateful.

@bpaf

Any news on the samba formula? With the release of Lion this is a pressing issue.

@MindTooth

Samba 3.6 just got release a couple of days ago: http://j.mp/qucdnf

@vertis

I have created a pull request, http://github.com/mxcl/homebrew/pull/7134, for a basic samba install (at least sufficient to use smbpasswd).

In the meantime you can install it using:
brew install https://raw.github.com/vertis/homebrew/samba/Library/Formula/samba.rb

@bpaf

vertis, I tried compiling it too, and it crashed a lot, I tried with your compile options but I get the same result (I used PREFIX=$HOME/.samba3):

$ smbclient -L localhost -U%
dyld: Library not loaded: bin/libtalloc.dylib.2
  Referenced from: /Users/edi/.samba3/bin/smbclient
  Reason: image not found
Trace/BPT trap: 5

it's probably fixable with some ./configure magic, but I can't see how.

@lynndylanhurley

vertis, I keep getting the following error while trying to run your samba recipe:

get_user_groups: failed to get the unix group list

Do you know what could be causing this problem?

@gossi

I tried @vertis formular right now. Worked very well. Although during the process, my bash told me, /usr/local/bin is not in PATH which confused me a little.

@Sharpie

@gossi

/usr/local/sbin won't be in your PATH, so executables installed there won't be visible, unless you add it yourself.

@gossi

I already corrected it to /usr/local/bin, which is in my PATH, so thats confuses me.

Also I noticed, that when ntlm_auth is used (currently in wine, when installing adobeair) it references bin/libtalloc.dylib.2 obviously this file is in /usr/local/lib/libtalloc.dylib.2

Whole error:
dyld: Library not loaded: bin/libtalloc.dylib.2
Referenced from: /usr/local/bin/ntlm_auth
Reason: image not found

I dunno if this is winetricks, formula or samba. Added /usr/local/lib to my PATH temporarily, no change.

@thejasonfisher

@lynndylanhurley

I am having the same issue. It was a Snow Leopard box that was upgraded to Lion, and then I purchased and installed Lion Server on it. samba3 gives me the same issue:

[2011/09/28 09:42:47, 0] lib/system_smbd.c:getgroups_unix_user(171)
get_user_groups: failed to get the unix group list
[2011/09/28 09:42:47, 0] smbd/server.c:main(1355)
ERROR: failed to setup guest info.

I was thinking that maybe something changed with the authentication model when I installed Lion Server from the app store.. maybe you can help confirm that by sharing your scenario and we can figure this out together?

BTW -- I am seeing the issue while installing from port also.

@mlen

@gossi, homebrew removes symbols from files by default. Add skip_clean 'lib' to prevent striping symbols from libraries.

@evoyt

vertis,
I've installed new XCode 4.1 on Lion and updated brew by 'brew update'
When trying to build samba with
brew install https://raw.github.com/vertis/homebrew/master/Library/Formula/samba.rb
I've got 2 errors
ld: in bin/libwbclient.a, archive has no table of contents for architecture x86_64
and finally Error: Failed executing: make install
brew doctor says that all ok.

Any ideas?

@ifreq

Got same problem as evoyt. Samba Formula is really needed for the Lion.

brew install https://raw.github.com/vertis/homebrew/master/Library/Formula/samba.rb

Error: Failed executing: make install

@vertis
@ifreq

clean install of Lion with newest Xcode. Only app/user data has been transferred from old system install.

@ifreq

Okay, could be user error too! Was looking for Xcode and noticed that I have Xcode installer on my Applications folder.. so it was clear pebkac :)

proelf:~ ifreq$ brew install https://raw.github.com/vertis/homebrew/master/Library/Formula/samba.rb
######################################################################## 100.0%
==> Downloading http://samba.org/samba/ftp/stable/samba-3.6.0.tar.gz
File already downloaded in /Users/ifreq/Library/Caches/Homebrew
==> ./autogen.sh
==> ./configure --disable-debug --prefix=/usr/local/Cellar/samba/3.6.0
==> make install
==> touch /usr/local/Cellar/samba/3.6.0/lib/smb.conf
Warning: /usr/local/sbin is not in your PATH
You can amend this by altering your ~/.bashrc file
==> Summary
/usr/local/Cellar/samba/3.6.0: 414 files, 107M, built in 2.4 minutes

@ifreq

BTW should the SMBD and NMBD work too? Mostly problems are with people with media boxes who try to access OSX desktop via SMB not vice versa.

@neogenix

@lynndylanhurley & @fysa

Can you guys paste the output to :
smbd -S -F -d 10 | grep groups

And, then someone who has it working, can you do the same?

I have a suspicion this line's the culprit :
Failed to get groups from sam account.

@neogenix

@lynndylanhurley & @fysa

I'm running into the same problem, running as root, with 16+ groups for my user. It didn't have the same errors when I went ahead and ran it as a different user with less groups. It errors out for other reasons, but after poking around with the pid file, and a handful of others, I got it started (as root). I'll try reproduce.

@joelkraut

@neogenix, I'd love to know how you got it running. I hit the 16+ groups problem as root (the output you're asking for looks like this:)

get_current_groups: user is in 16 groups: 0, 404, 1, 2, 3, 4, 5, 8, 9, 12, 20, 29, 33, 61, 80, 98
Primary group is 0 and contains 0 supplementary groups
get_user_groups: failed to get the unix group list
Failed to get groups from sam account.

and running as myself I have various permissions errors, the latest being:

bind failed on port 445 socket_addr = ::.
Error = Permission denied

@angerman

Hi Everyone,

the 16 group limit is returned by sysconf when asked for _SC_NGROUPS_MAX; this is apparently due to OS X's nested groups; while the call to getgrouplist returns a flat (not nested) group list. getgrouplist will happily return the first 16 groups but still return a -1 return code, indicating failure. Hence the strange maximum of 16 groups on OS X.
A patch against Samba 3.6.1, source3/lib/system.c can be found here: https://gist.github.com/1559603

A formula including the patch and Samba 3.6.1 can be found here: https://github.com/angerman/homebrew/blob/patch-1/Library/Formula/samba.rb

TL;DR:

$ brew install https://raw.github.com/angerman/homebrew/patch-1/Library/Formula/samba.rb

@vertis

Excellent. I've merged this back into my samba recipe.

@jimrome

So once this is installed, how do I make sure that smbd and nmbd are started on boot?

@jimrome

....
usr/bin/install -c -m 0644 /private/tmp/homebrew-samba-3.6.1-VAnm/samba-3.6.1/source3/../lib/talloc/talloc.h //usr/local/Cellar/samba/3.6.1/include
Preserving old module as ///usr/local/Cellar/samba/3.6.1/lib/vfs/default_quota.dylib.old
Installing bin/default_quota.dylib as ///usr/local/Cellar/samba/3.6.1/lib/vfs/default_quota.dylib
Linking bin/smbclient
ld: warning: -pie being ignored. It is only used when linking a main executable
ld: in bin/libwbclient.a, archive has no table of contents for architecture x86_64
collect2: ld returned 1 exit status
make: *** [bin/libsmbclient.dylib.0] Error 1
make: *** Waiting for unfinished jobs....
ld: in bin/libwbclient.a, archive has no table of contents for architecture x86_64
collect2: ld returned 1 exit status
ld: warning: -pie being ignored. It is only used when linking a main executable
ld: in bin/libwbclient.a, archive has no table of contents for architecture x86_64
collect2: ld returned 1 exit status
make: *** [bin/nmbd] Error 1
make: *** [bin/libnetapi.dylib.0] Error 1

make install failed:
==> Exit Status: 2
http://github.com/mxcl/homebrew/blob/master/Library/Formula/.rb#L
==> Environment
HOMEBREW_VERSION: 0.8.1
HEAD: (none)
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
Hardware: 8-core 64-bit core2
OS X: 10.7.2
Kernel Architecture: i386
Ruby: 1.8.7-249
/usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
Xcode: 4.1
GCC-4.0: N/A
GCC-4.2: build 5666
LLVM: build 2335
Clang: 2.1-163.7.1
MacPorts or Fink? false
X11 installed? true
==> Build Flags
CC: /usr/bin/llvm-gcc => /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2
CXX: /usr/bin/llvm-g++ => /usr/llvm-gcc-4.2/bin/llvm-g++-4.2
LD: /usr/bin/llvm-gcc => /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2
CFLAGS: -O3 -w -pipe -march=core2
CXXFLAGS: -O3 -w -pipe -march=core2
MAKEFLAGS: -j8

Error: Failed executing: make install
If `brew doctor' does not help diagnose the issue, please report the bug:
https://github.com/mxcl/homebrew/wiki/checklist-before-filing-a-new-issue

@angerman

@tooj try running it as root
$ sudo /usr/local/Cellar/samba/3.6.1/sbin/smbd -b

This is your problem: smbd_open_once_socket: open_socket_in: Permission denied
Also make sure that the Lion SMBX server is not running.

@angerman

@jimrome

So once this is installed, how do I make sure that smbd and nmbd are started on boot?

What you basically want to do is follow the instructions on http://kofler.info/blog/167/126/Samba-unter-Lion-installieren/
they are German though. Use Google Translate to get the gist (http://translate.google.com/translate?u=http%3A%2F%2Fkofler.info%2Fblog%2F167%2F126%2FSamba-unter-Lion-installieren%2F&sl=de&tl=en&hl=&ie=UTF-8)

@tooj

After that long post above, I was able to get smbd started with massive changes to my smbd.conf file. However, I am unable to connect as a guest or user from another machine. I'll continue playing with the smbd.conf file to see if I can enable even guest access.

@tooj

Would anyone with a working SAMBA 3.6.1 brew install care to post his or her smbd.conf file so I may use it as a template?

@angerman
I did end up running it as root and my OS X SMBX server is not running. Only the AFP server.

Thanks in advance.

@ponychicken

I stuck a the same place, managed to compile it, made it run, but no machine seems to be able to connect (Even though they see me)

@angerman

@tooj did you add and enable smb users with

$ smbpasswd

see $ smbpasswd --help for more info.

Samba can sadly not pickup the OS X Users.

@joelkraut

Here's my smbd.conf. I was unable to connect until I added the global section, after googling around a bit. Also important is that the guest account be the name of an actual account on your computer.


[global]
workgroup = WORKGROUP
server string = MyHostname
guest account = wii

[Downloads]
comment = Downloads
path = /path/to/user/Downloads
available = yes
guest ok = yes
create mask = 644
directory mask = 755
read only = yes

[Movies]
comment = Movies
path = /path/to/user/Movies
available = yes
guest ok = yes
create mask = 644
directory mask = 755
read only = yes

@joelkraut

@angerman, it can indeed pick up OS X users. You just have to configure smb.conf appropriately.

@angerman

@joelkraut have you been able to have it authenticate against OS X users?

@joelkraut

@angerman nope, that's the part I haven't tried. I use this whole setup as a share for my wii-based media center, so a read-only guest account is sufficient to my needs. It may be that authentication doesn't work -- I don't know, would be curious to find out -- but guest users do.

@tooj

Here's my smb.conf file. SMBX is off as per the launchctl commands to stop the launchd stuff from running it. Interesting that I was able to add the "media" and "root" users via smbpasswd, set their passwords and enable them, but my smbpasswd file is empty...

EDIT: This config file now works. My smb passwd file config line was messing me up the whole time. Removed it and it's finally working.

[global]
    encrypt passwords = yes
    dns proxy = no
    strict locking = no
    read raw = yes
    write raw = yes
    oplocks = yes
    max xmit = 65535
    deadtime = 15
    display charset = LOCALE
    max log size = 100
    log file = /usr/local/Cellar/samba/3.6.1/var/log.%m
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
    private dir = /usr/local/Cellar/samba/3.6.1/private
    getwd cache = yes
    guest account = media
    netbios name = media
    workgroup = HOMEGROUP
    server string = media
    use sendfile = yes
    large readwrite = no
    store dos attributes = yes
    local master = yes
    time server = yes
    security = user
    create mask = 0640
    directory mask = 0750
    dos charset = CP437
    unix charset = UTF-8
    log level = 1
    hosts allow = 192.168.1.0/24
    socket options = TCP_NODELAY SO_RCVBUF=32768 SO_SNDBUF=32768
    interfaces = 192.168.1.19 en0
    remote announce = 192.168.x.255
    wins support = yes
    preserve case = yes
    admin users = root
    auth methods = sam, sam_ignoredomain, local
    veto files = .DS_Store


[homemedia]
    path = /Volumes/homemedia
    printable = no
    comment = homemedia
    valid users = root, media
    read list = root, media
    read only = no
    writeable = yes
    browseable = yes
    inherit permissions = no
@eXcalibre

clean install of lion 10.7
installed Xcode,brew and then patch listed by angerman above.
when starting the services smbd and nmbd i get the following logged.

log.smbd
[2012/01/17 23:13:25.292285, 0] lib/util.c:1723(set_maxfiles)
set_maxfiles: setrlimit for RLIMIT_NOFILE for 16404 files failed with error Invalid argument

log.nmbd
[2012/01/17 23:16:45, 0] libsmb/nmblib.c:856(send_udp)
Packet send failed to 0.0.0.0(138) ERRNO=No route to host

Anyone else found a cure or reason for these errors?
A little help very much appreciated.

eX

@tooj

@eXcalibre :
I get the same error in my log files with smbd. However, it works.
I also get the same error with nmbd and it closes/crashes upon execution.

Googling the smbd errors yielded nothing. I wish I was more help than just saying I am seeing the exact same behavior.

@eXcalibre

i appreciate the input anyway tooj, nice to know i am not alone with this,
:-)

Do you also get mount error(13): Permission denied when trying to connect to the mac from linux?

@eXcalibre

Ok i found a solution to the error with nmbd

The remote announce was incorrect on your config.
you put
remote announce = 192.168.x.255
this needs to be changed to the exact broadcast address of your network.
ie

remote announce = 192.168.0.255/WORKGROUP
or
remote announce = 10.0.0.255/WORKGROUP

depending on the network addresses your network is on.

hope this helps clear up one of them

eX

@eXcalibre

ok the above has got my servers running ok but i cannot get the nmbd to run at start up for some reason
and i have no write access although the user has on the mac properties.

apart from that all is working well when i run nmbd manually after a reboot.

eX

@tooj

@eXcalibre :
No luck on nmbd still. I changed my smbd.conf file and edited the following line:

remote announce = 192.168.x.255

to

remote announce = 192.168.1.255/HOMEGROUP

(my network is 192.168.1.0/24)

My nmdb.log output is:

[2012/01/18 07:48:34,  0] nmbd/nmbd.c:860(main)
  nmbd version 3.6.1 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2011
[2012/01/18 07:48:34,  0] lib/util_sock.c:1340(create_pipe_sock)
  invalid permissions on socket directory /usr/local/Cellar/samba/3.6.1/var/nmbd
[2012/01/18 07:48:34,  0] nmbd/nmbd_packets.c:48(nmbd_init_packet_server)
  ERROR: nb_packet_server_create failed: NT_STATUS_UNSUCCESSFUL

/usr/local/Cellar/samba/3.6.1/var/nmbd permissions are 755 by default.
I've also tried 770 and 777 with the same results as above.

The command I've been using to start nmbd is:

sudo /usr/local/Cellar/samba/3.6.1/sbin/nmbd -D

As for connecting to a SAMBA share from a Linux box: I haven't tried that yet. I've been successful with OS X 10.6.x, 10.7.x, and Windows Server 2008. I'll have to fire up an Ubuntu VM and give it a try.

@eXcalibre

@tooj
Change your broadcast to 192.168.0.255
I run on 192.168.200. and it works on 192.168.0.255 ok for me
the NT_status_unsuccessful error, I found this was an error produced when the user was in fact over the 16 group limit.
I also read that the max ng_limit or whatever its called is hard coded when the kernel is built and cannot be changed (but this thread sort of defies that).

try making a new user just for sharing and set them as the default user for the shares.
see if that helps at all.

As for my nmbd - i can run it fine from within OS X, its the plist i created that will not start it - although terminal reports it loading ok - the service does not run (unlike the plist i have for smbd) when running the /usr/local/Cellar/samba/blah blah it start fine. not too worried about it as i can remember to start when i log in.

eX

@tooj

@eXcalibre :
changed:

remote announce = 192.168.1.255/HOMEGROUP

to

remote announce = 192.168.0.255/HOMEGROUP

Started nmbd and received the same error messages, so no dice.

Thanks for the info regarding the ng_limit error with smbd, I guess Apple changed some of their kernel compile options with the new smbx that smbd still requires.

smbd is working fine for me and I can copy/delete/move files around.

My /Libary/LaunchAgents/org.samba.smbd.plist file (in case it helps you with your nmbd launchd file):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.samba.smbd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/Cellar/samba/3.6.1/sbin/smbd</string>
        <string>-D</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Of course, you could also try to create a startsamba.sh script, chmod +x it and call it from a launchd plist.

#!/bin/sh
# Launch smbd
/usr/local/Cellar/samba/3.6.1/sbin/smbd -D
# Launch nmbd
/usr/local/Cellar/samba/3.6.1/sbin/nmbd -D
# Done

Thanks for the help!

@eXcalibre

@tooj
ok your nmbd.plist works great thanks

the permissions for me are still not available on trying to move things, i can only look but don't touch!!! ;-\

the one other thing i added to your smb.conf that may help is in the [Global] section i added

nt acl support = no

Maybe?

Thank you for your input.

@eXcalibre

may i ask how your connecting to your mac? are you using the command line or fstab?

can you let me know the user in relation to the mac you use in order to get read write access?

is it the user in the conf as global guest account?
or is it a user in the share admin or valid users?

it may help me get write access!

thanks again.

@tooj

@eXcalibre
On another Mac, I use the "Connect to Server..." menu under the "Go" menu in the Finder. In the server field, I have smb://<ip address of my Mac running samba 3.6.1>. No smb_mount, smbclient, or editing of fstab.

I have a user on the Mac with Samba 3.6.1 named "media". That account is an admin account. I also used the smbpasswd command (as suggested by angerman above) to create the "media" user with a password in the /usr/local/Cellar/samba/3.6.1/private/secrets.tdb and /usr/local/Cellar/samba/3.6.1/private/passdb.tdb files.

My current smbd.conf file:

[global]
    encrypt passwords = yes
    dns proxy = no
    strict locking = no
    read raw = yes
    write raw = yes
    oplocks = yes
    max xmit = 65535
    deadtime = 15
    display charset = LOCALE
    max log size = 100
    log file = /usr/local/Cellar/samba/3.6.1/var/log.smbd
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
    private dir = /usr/local/Cellar/samba/3.6.1/private
    getwd cache = yes
    guest account = media
    netbios name = media
    workgroup = HOMEGROUP
    server string = media
    use sendfile = yes
    large readwrite = no
    store dos attributes = yes
    local master = yes
    time server = yes
    security = user
    create mask = 0640
    directory mask = 0750
    dos charset = CP437
    unix charset = UTF-8
    log level = 1
    hosts allow = 192.168.1.0/24
    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=32768 SO_SNDBUF=32768
    interfaces = 192.168.1.19 en0
    bind interfaces only = yes
    remote announce = 192.168.1.255/HOMEGROUP
    wins support = yes
    preserve case = yes
    admin users = root
    auth methods = sam, sam_ignoredomain, local
    veto files = .DS_Store

[homemedia]
    path = /Volumes/homemedia
    printable = no
    comment = homemedia
    valid users = media
    read list = media
    write list = media
    force user = media
    read only = no
    writeable = yes
    browseable = yes
    guest ok = yes
    inherit permissions = no
@bertrandmoulard

Thanks Vertis, just changed my password after installing samba using your recipe. Tries to walk across the office to say thank you but you weren't there, so via github it is ;-)

@thejasonfisher

I ended up using port to install..

media:~ media$ which smbd
/opt/local/sbin/smbd

media:~ media$ ps aux | grep mbd
media           5163   0.0  0.0  2444600   3040   ??  S     4:03PM   0:39.89 /opt/local/sbin/smbd -F
root             321   0.0  0.0  2443980   1000   ??  S     2:56PM   0:00.00 /opt/local/sbin/smbd -F
root             279   0.0  0.0  2438496    308   ??  S     2:56PM   0:00.00 /opt/local/sbin/nmbd -F
root             242   0.0  0.0  2438596   2332   ??  Ss    2:56PM   0:02.63 /opt/local/sbin/nmbd -F
root             241   0.0  0.0  2443980   3316   ??  Ss    2:56PM   0:00.16 /opt/local/sbin/smbd -F

media:~ media$ smbd -V
Version 3.2.15

media:~ media$ smbd -b
Build environment:
   Built by:    root@media
   Built on:    Thu Sep  1 16:39:47 PDT 2011
   Built using: /Developer/usr/bin/llvm-gcc-4.2
   Build host:  Darwin media 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64
   SRCDIR:      /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_samba3/samba3/work/samba-3.2.15/source
   BUILDDIR:    /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_samba3/samba3/work/samba-3.2.15/source

Paths:
   SBINDIR: /opt/local/sbin
   BINDIR: /opt/local/bin
   SWATDIR: /opt/local/share/samba3/swat
   CONFIGFILE: /opt/local/etc/samba3//smb.conf
   LOGFILEBASE: /opt/local/var
   LMHOSTSFILE: /opt/local/etc/samba3//lmhosts
   LIBDIR: /opt/local/lib/samba3
   SHLIBEXT: dylib
   LOCKDIR: /opt/local/var/locks
   PIDDIR: /opt/local/var/locks
   SMB_PASSWD_FILE: /opt/local/var/db/smb/smbpasswd
   PRIVATE_DIR: /opt/local/var/db/smb

 System Headers:
   HAVE_SYS_ACL_H
   HAVE_SYS_CDEFS_H
   HAVE_SYS_FCNTL_H
   HAVE_SYS_FILIO_H
   HAVE_SYS_IOCTL_H
   HAVE_SYS_IPC_H
   HAVE_SYS_MMAN_H
   HAVE_SYS_MOUNT_H
   HAVE_SYS_PARAM_H
   HAVE_SYS_QUOTA_H
   HAVE_SYS_RESOURCE_H
   HAVE_SYS_SELECT_H
   HAVE_SYS_SHM_H
   HAVE_SYS_SOCKET_H
   HAVE_SYS_SOCKIO_H
   HAVE_SYS_STATVFS_H
   HAVE_SYS_STAT_H
   HAVE_SYS_SYSCALL_H
   HAVE_SYS_SYSLOG_H
   HAVE_SYS_TIME_H
   HAVE_SYS_TYPES_H
   HAVE_SYS_UIO_H
   HAVE_SYS_UNISTD_H
   HAVE_SYS_UN_H
   HAVE_SYS_WAIT_H
   HAVE_SYS_XATTR_H

 Headers:
   HAVE_AIO_H
   HAVE_ALLOCA_H
   HAVE_ARPA_INET_H
   HAVE_COM_ERR_H
   HAVE_CTYPE_H
   HAVE_CUPS_CUPS_H
   HAVE_CUPS_LANGUAGE_H
   HAVE_DIRENT_H
   HAVE_DLFCN_H
   HAVE_DNS_SD_H
   HAVE_EXECINFO_H
   HAVE_FCNTL_H
   HAVE_FLOAT_H
   HAVE_FNMATCH_H
   HAVE_GLOB_H
   HAVE_GRP_H
   HAVE_GSSAPI_GSSAPI_GENERIC_H
   HAVE_GSSAPI_GSSAPI_H
   HAVE_GSSAPI_H
   HAVE_IFADDRS_H
   HAVE_KRB5_H
   HAVE_KRB5_LOCATE_PLUGIN_H
   HAVE_LANGINFO_H
   HAVE_LBER_H
   HAVE_LDAP_H
   HAVE_LIBUNWIND_H
   HAVE_LIMITS_H
   HAVE_LOCALE_H
   HAVE_MEMORY_H
   HAVE_NETDB_H
   HAVE_NETINET_IN_H
   HAVE_NETINET_IN_SYSTM_H
   HAVE_NETINET_IP_H
   HAVE_NETINET_TCP_H
   HAVE_NET_IF_H
   HAVE_PTHREAD_H
   HAVE_PWD_H
   HAVE_RPCSVC_YPCLNT_H
   HAVE_RPCSVC_YP_PROT_H
   HAVE_RPC_RPC_H
   HAVE_SETJMP_H
   HAVE_STANDARDS_H
   HAVE_STDARG_H
   HAVE_STDBOOL_H
   HAVE_STDINT_H
   HAVE_STDIO_H
   HAVE_STDLIB_H
   HAVE_STRINGS_H
   HAVE_STRING_H
   HAVE_SYSLOG_H
   HAVE_TERMIOS_H
   HAVE_TIME_H
   HAVE_UNISTD_H
   HAVE_UTIME_H

 UTMP Options:
   HAVE_GETUTMPX
   HAVE_UTMPX_H
   HAVE_UTMP_H
   HAVE_UT_UT_HOST
   HAVE_UT_UT_NAME
   HAVE_UT_UT_TIME
   WITH_UTMP

 HAVE_* Defines:
   HAVE_ADDRTYPE_IN_KRB5_ADDRESS
   HAVE_AP_OPTS_USE_SUBKEY
   HAVE_ASPRINTF
   HAVE_ATEXIT
   HAVE_BACKTRACE_SYMBOLS
   HAVE_BER_SCANF
   HAVE_BER_SOCKBUF_ADD_IO
   HAVE_BOOL
   HAVE_BZERO
   HAVE_C99_VSNPRINTF
   HAVE_CHFLAGS
   HAVE_CHMOD
   HAVE_CHOWN
   HAVE_CHROOT
   HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS
   HAVE_CONNECT
   HAVE_CRYPT
   HAVE_CUPS
   HAVE_DARWIN_INITGROUPS
   HAVE_DECL_ASPRINTF
   HAVE_DECL_RL_EVENT_HOOK
   HAVE_DECL_SNPRINTF
   HAVE_DECL_VASPRINTF
   HAVE_DECL_VSNPRINTF
   HAVE_DEVICE_MAJOR_FN
   HAVE_DEVICE_MINOR_FN
   HAVE_DLCLOSE
   HAVE_DLERROR
   HAVE_DLOPEN
   HAVE_DLSYM
   HAVE_DNSSERVICEREGISTER
   HAVE_DUP2
   HAVE_ENDNETGRENT
   HAVE_ERRNO_DECL
   HAVE_EXECL
   HAVE_EXPLICIT_LARGEFILE_SUPPORT
   HAVE_FCHMOD
   HAVE_FCHOWN
   HAVE_FCNTL_LOCK
   HAVE_FCVT
   HAVE_FDATASYNC
   HAVE_FGETXATTR
   HAVE_FLISTXATTR
   HAVE_FREEADDRINFO
   HAVE_FREEIFADDRS
   HAVE_FREMOVEXATTR
   HAVE_FSETXATTR
   HAVE_FSID_INT
   HAVE_FSTAT
   HAVE_FSTAT64
   HAVE_FSYNC
   HAVE_FTRUNCATE
   HAVE_FTRUNCATE_EXTEND
   HAVE_FUNCTION_MACRO
   HAVE_GAI_STRERROR
   HAVE_GETADDRINFO
   HAVE_GETCWD
   HAVE_GETDIRENTRIES
   HAVE_GETGRENT
   HAVE_GETGRGID_R
   HAVE_GETGRNAM
   HAVE_GETGRNAM_R
   HAVE_GETGROUPLIST
   HAVE_GETHOSTBYNAME
   HAVE_GETIFADDRS
   HAVE_GETNAMEINFO
   HAVE_GETNETGRENT
   HAVE_GETPAGESIZE
   HAVE_GETPGRP
   HAVE_GETPWNAM_R
   HAVE_GETPWUID_R
   HAVE_GETRLIMIT
   HAVE_GETTIMEOFDAY_TZ
   HAVE_GETXATTR
   HAVE_GLOB
   HAVE_GRANTPT
   HAVE_GSSAPI
   HAVE_GSS_DISPLAY_STATUS
   HAVE_HISTORY_LIST
   HAVE_HSTRERROR
   HAVE_ICONV
   HAVE_IFACE_GETIFADDRS
   HAVE_IF_NAMETOINDEX
   HAVE_IMMEDIATE_STRUCTURES
   HAVE_INET_ATON
   HAVE_INET_NTOA
   HAVE_INET_NTOP
   HAVE_INET_PTON
   HAVE_INITGROUPS
   HAVE_INNETGR
   HAVE_IPRINT
   HAVE_IPV6
   HAVE_ISATTY
   HAVE_KRB5
   HAVE_KRB5_AUTH_CON_SETUSERUSERKEY
   HAVE_KRB5_C_ENCTYPE_COMPARE
   HAVE_KRB5_C_VERIFY_CHECKSUM
   HAVE_KRB5_ENCRYPT_BLOCK
   HAVE_KRB5_ENCTYPE_TO_STRING
   HAVE_KRB5_ENCTYPE_TO_STRING_WITH_SIZE_T_ARG
   HAVE_KRB5_FREE_DATA_CONTENTS
   HAVE_KRB5_FREE_KEYTAB_ENTRY_CONTENTS
   HAVE_KRB5_FREE_UNPARSED_NAME
   HAVE_KRB5_FWD_TGT_CREDS
   HAVE_KRB5_GET_INIT_CREDS_OPT_ALLOC
   HAVE_KRB5_GET_INIT_CREDS_OPT_FREE
   HAVE_KRB5_GET_PERMITTED_ENCTYPES
   HAVE_KRB5_GET_RENEWED_CREDS
   HAVE_KRB5_KEYBLOCK_IN_CREDS
   HAVE_KRB5_KEYTAB_ENTRY_KEY
   HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM
   HAVE_KRB5_MK_REQ_EXTENDED
   HAVE_KRB5_PRINCIPAL2SALT
   HAVE_KRB5_PRINC_COMPONENT
   HAVE_KRB5_PRINC_REALM
   HAVE_KRB5_SET_DEFAULT_TGS_ENCTYPES
   HAVE_KRB5_SET_DEFAULT_TGS_KTYPES
   HAVE_KRB5_SET_REAL_TIME
   HAVE_KRB5_STRING_TO_KEY
   HAVE_KRB5_TKT_ENC_PART2
   HAVE_KRB5_USE_ENCTYPE
   HAVE_KRB5_VERIFY_CHECKSUM
   HAVE_KV5M_KEYTAB
   HAVE_LBER_LOG_PRINT_FN
   HAVE_LCHOWN
   HAVE_LDAP
   HAVE_LDAP_ADD_RESULT_ENTRY
   HAVE_LDAP_INIT
   HAVE_LDAP_INITIALIZE
   HAVE_LDAP_SASL_WRAPPING
   HAVE_LDAP_SET_REBIND_PROC
   HAVE_LIBGSSAPI_KRB5
   HAVE_LIBKRB5
   HAVE_LIBLBER
   HAVE_LIBLDAP
   HAVE_LIBRESOLV
   HAVE_LINK
   HAVE_LISTXATTR
   HAVE_LONGLONG
   HAVE_LONG_LONG
   HAVE_LSTAT
   HAVE_LSTAT64
   HAVE_MAGIC_IN_KRB5_ADDRESS
   HAVE_MAKEDEV
   HAVE_MEMCPY
   HAVE_MEMMOVE
   HAVE_MEMSET
   HAVE_MKDIR_MODE
   HAVE_MKDTEMP
   HAVE_MKNOD
   HAVE_MKTIME
   HAVE_MLOCK
   HAVE_MLOCKALL
   HAVE_MMAP
   HAVE_MSGHDR_MSG_CONTROL
   HAVE_MUNLOCK
   HAVE_MUNLOCKALL
   HAVE_NANOSLEEP
   HAVE_NATIVE_ICONV
   HAVE_NEW_LIBREADLINE
   HAVE_NL_LANGINFO
   HAVE_NO_ACLS
   HAVE_NO_AIO
   HAVE_PATHCONF
   HAVE_PIPE
   HAVE_POLL
   HAVE_POSIX_MEMALIGN
   HAVE_PRCTL
   HAVE_PREAD
   HAVE_PRINTF
   HAVE_PTHREAD
   HAVE_PUTUTXLINE
   HAVE_PWRITE
   HAVE_RAND
   HAVE_RANDOM
   HAVE_READLINK
   HAVE_REALPATH
   HAVE_REMOVEXATTR
   HAVE_RENAME
   HAVE_SA_FAMILY_T
   HAVE_SECURE_MKSTEMP
   HAVE_SELECT
   HAVE_SETBUFFER
   HAVE_SETEGID
   HAVE_SETENV
   HAVE_SETENV_DECL
   HAVE_SETEUID
   HAVE_SETGROUPS
   HAVE_SETLINEBUF
   HAVE_SETLOCALE
   HAVE_SETNETGRENT
   HAVE_SETPGID
   HAVE_SETSID
   HAVE_SETXATTR
   HAVE_SHMGET
   HAVE_SHM_OPEN
   HAVE_SHORT_KRB5_MK_ERROR_INTERFACE
   HAVE_SIGACTION
   HAVE_SIGBLOCK
   HAVE_SIGPROCMASK
   HAVE_SIGSET
   HAVE_SIG_ATOMIC_T_TYPE
   HAVE_SNPRINTF
   HAVE_SOCKADDR_SA_LEN
   HAVE_SOCKETPAIR
   HAVE_SOCKLEN_T
   HAVE_SOCK_SIN_LEN
   HAVE_SRAND
   HAVE_SRANDOM
   HAVE_SS_FAMILY
   HAVE_STAT64
   HAVE_STAT_HIRES_TIMESTAMPS
   HAVE_STAT_ST_ATIMESPEC
   HAVE_STAT_ST_BIRTHTIMESPEC
   HAVE_STAT_ST_BLKSIZE
   HAVE_STAT_ST_BLOCKS
   HAVE_STAT_ST_CTIMESPEC
   HAVE_STAT_ST_FLAGS
   HAVE_STAT_ST_MTIMESPEC
   HAVE_STRCASECMP
   HAVE_STRCASESTR
   HAVE_STRCHR
   HAVE_STRDUP
   HAVE_STRERROR
   HAVE_STRFTIME
   HAVE_STRLCAT
   HAVE_STRLCPY
   HAVE_STRNDUP
   HAVE_STRNLEN
   HAVE_STRPBRK
   HAVE_STRSIGNAL
   HAVE_STRTOK_R
   HAVE_STRTOL
   HAVE_STRTOLL
   HAVE_STRTOQ
   HAVE_STRTOUL
   HAVE_STRTOULL
   HAVE_STRTOUQ
   HAVE_STRUCT_ADDRINFO
   HAVE_STRUCT_IFADDRS
   HAVE_STRUCT_SIGEVENT
   HAVE_STRUCT_SIGEVENT_SIGEV_VALUE_SIVAL_PTR
   HAVE_STRUCT_SOCKADDR
   HAVE_STRUCT_SOCKADDR_IN6
   HAVE_STRUCT_SOCKADDR_SA_LEN
   HAVE_STRUCT_SOCKADDR_STORAGE
   HAVE_STRUCT_STAT_ST_RDEV
   HAVE_STRUCT_TIMESPEC
   HAVE_ST_RDEV
   HAVE_SYMLINK
   HAVE_SYSCONF
   HAVE_SYSLOG
   HAVE_TICKET_POINTER_IN_KRB5_AP_REQ
   HAVE_TIMEGM
   HAVE_UNIXSOCKET
   HAVE_UNSETENV
   HAVE_USLEEP
   HAVE_UTIMBUF
   HAVE_UTIME
   HAVE_UTIMES
   HAVE_VASPRINTF
   HAVE_VA_COPY
   HAVE_VOLATILE
   HAVE_VSNPRINTF
   HAVE_VSYSLOG
   HAVE_WAITPID
   HAVE_WRFILE_KEYTAB
   HAVE_YP_GET_DEFAULT_DOMAIN
   HAVE__Bool
   HAVE__SEEKDIR
   HAVE__VA_ARGS__MACRO
   HAVE___FCNTL
   HAVE___FORK
   HAVE___LSEEK
   HAVE___OPEN

 --with Options:
   WITH_ADS
   WITH_DNSSD_SUPPORT
   WITH_UTMP

 Build Options:
   AC_APPLE_UNIVERSAL_BUILD
   BROKEN_UNICODE_COMPOSE_CHARACTERS
   COMPILER_SUPPORTS_LL
   CONFIG_H_IS_FROM_SAMBA
   DARWINOS
   DEFAULT_DISPLAY_CHARSET
   DEFAULT_DOS_CHARSET
   DEFAULT_UNIX_CHARSET
   KRB5_CREDS_OPT_FREE_REQUIRES_CONTEXT
   KRB5_TICKET_HAS_KEYINFO
   KRB5_VERIFY_CHECKSUM_ARGS
   LDAP_SET_REBIND_PROC_ARGS
   LIBREPLACE_NETWORK_CHECKS
   PACKAGE_BUGREPORT
   PACKAGE_NAME
   PACKAGE_STRING
   PACKAGE_TARNAME
   PACKAGE_VERSION
   REALPATH_TAKES_NULL
   REPLACE_GETPASS
   REPLACE_STRPTIME
   RETSIGTYPE
   SEEKDIR_RETURNS_VOID
   SHLIBEXT
   SIZEOF_CHAR
   SIZEOF_INO_T
   SIZEOF_INT
   SIZEOF_LONG_LONG
   SIZEOF_OFF_T
   SIZEOF_SHORT
   SIZEOF_SIZE_T
   SIZEOF_SSIZE_T
   SIZEOF_TIME_T
   SIZEOF_VOID_P
   STAT_STATVFS
   STAT_ST_BLOCKSIZE
   STDC_HEADERS
   STRING_STATIC_MODULES
   SYSCONF_SC_NGROUPS_MAX
   SYSCONF_SC_NPROCESSORS_ONLN
   SYSCONF_SC_PAGESIZE
   SYSLOG_FACILITY
   TIME_WITH_SYS_TIME
   USE_SETREUID
   WITH_ADS
   WITH_DNSSD_SUPPORT
   XATTR_ADD_OPT
   _GNU_SOURCE
   auth_script_init
   charset_CP437_init
   charset_CP850_init
   charset_macosxfs_init
   loff_t
   offset_t
   static_decl_auth
   static_decl_charset
   static_decl_idmap
   static_decl_nss_info
   static_decl_pdb
   static_decl_rpc
   static_decl_vfs
   static_init_auth
   static_init_charset
   static_init_idmap
   static_init_nss_info
   static_init_pdb
   static_init_rpc
   static_init_vfs
   uint_t
   vfs_audit_init
   vfs_cap_init
   vfs_default_quota_init
   vfs_expand_msdfs_init
   vfs_extd_audit_init
   vfs_fake_perms_init
   vfs_full_audit_init
   vfs_netatalk_init
   vfs_readahead_init
   vfs_readonly_init
   vfs_recycle_init
   vfs_shadow_copy2_init
   vfs_shadow_copy_init
   vfs_smb_traffic_analyzer_init
   vfs_streams_depot_init
   vfs_streams_xattr_init
   vfs_xattr_tdb_init

Type sizes:
   sizeof(char):         1
   sizeof(int):          4
   sizeof(long):         8
   sizeof(long long):    8
   sizeof(uint8):        1
   sizeof(uint16):       2
   sizeof(uint32):       4
   sizeof(short):        2
   sizeof(void*):        8
   sizeof(size_t):       8
   sizeof(off_t):        8
   sizeof(ino_t):        8
   sizeof(dev_t):        4

Builtin modules:
    pdb_ldap pdb_smbpasswd pdb_tdbsam rpc_lsarpc rpc_winreg rpc_initshutdown rpc_dssetup rpc_wkssvc rpc_svcctl2 rpc_ntsvcs2 rpc_netlogon rpc_netdfs rpc_srvsvc rpc_spoolss rpc_eventlog2 rpc_samr idmap_ldap idmap_tdb idmap_passdb idmap_nss nss_info_template auth_sam auth_unix auth_winbind auth_server auth_domain auth_builtin vfs_default

Config file lines without # or ; comments or spaces.. ignore the lazy grep stringing..

media:~ media$ grep -v '^#' /opt/local/etc/samba3/smb.conf | grep -v '^\;' | grep -v '^$'
[global]
   workgroup = WORKGROUP
   server string = mongo
   netbios name = media
   security = user
   load printers = yes
   log file = /var/log/smb.%m.log
   max log size = 1024
   local master = yes
   os level = 65
   domain master = yes 
   preferred master = yes
winbind nested groups = no
   wins support = yes
   dns proxy = yes 
[printers]
   comment = All Printers
   path = /usr/spool/samba
   browseable = no
   guest ok = yes
   public = yes
   writable = no
   printable = yes
[global]
ntlm auth = YES
lanman auth = YES
client ntlmv2 auth = yes
socket options = TCP_NODELAY SO_RCVBUF=1048576 SO_SNDBUF=1048576 IPTOS_LOWDELAY SO_KEEPALIVE
max smbd processes = 30
auth methods = sam
guest ok = no
restrict anonymous = yes
[Mongo]
comment = 12TB ZFS File Server
path = /Volumes/Mongo
available = yes
guest ok = no
public = no
writable = yes
create mask = 777
directory mask = 777
read only = no
[OSX]
comment = System OS Volume
path = /Volumes/OSX
available = yes
guest ok = no
public = no
writable = yes
create mask = 775
directory mask = 775
read only = no
[homes]
   comment = User Home Directories
   browseable = no
   writable = yes
@ifreq
@thejasonfisher

This was from 6-7 months ago.. I tried homebrew but could not get it to work at the time. Saw there were some questions so I thought it would be helpful to share my smb.conf and the build settings.

@thejasonfisher

FYI, at the time I saw the same error in both homebrew and port.

@ifreq
@adamv

Has this patch been submitted upstream?

@vertis

@adamv From what I can tell from browsing the issues, the issue hasn't been reported upstream.

I will do more investigation this evening, and if I can't find anything, I'll raise the issue on the samba bugzilla.

The patch as it stands is a workaround not a permanent solution, since it overrides the group limit to avoid the max of 16 that was causing problems.

@eduo

Hi, Vertis.

Did you raise the issue in samba bugzilla? I keep seeing the problem with set_maxfiles and the group limit is still not properly patched up.

In my case smbd crashes, hard, every time a connection from another machine is attempted when trying to apply the same formula to 3.6.3. It's clear the problems need to be patched at the source.

@eXcalibre

@eduo this is not a problem with Samba, its a problem with apples own implementation of the SMB.

As stated in the first post by BrazilianJoe
[quote]Due to the license change to GPL3, Apple will no longer be able to ship Samba with Mac OS X.
It was said in the media that Apple is going to provide their own tools for interacting with SMB shares, but it is a very complex system, and I doubt it will be feature complete.[/quote]

So the source would be Apple themselves... and i can't see them doing much about it.

@eduo

@eXcalibre Hi, you're somehow mistakenly thinking I'm confused about what I'm asking about. Not referring to apple's implementation of smb2 or anything that could have as an answer a repeat of the widely known original statement about apple dropping samba.

This ticket is about a formula for samba and I'm asking about that implementation precisely. When I say samba still crashes due to group limit errors how can that be construed as not knowing apple is dropping samba from osx?

I can only imagine you assumed I made a question without having a clue and didn't double check what I was asking. It's specifically about samba 3.6.3 in Lion failing as implemented by the attached formula.

To be clear: I'm the developer of a Samba front-end for Lion called SMBUp. I created it for a lot of users that couldn't connect their macs to their mediacenters or linux devices. I've been including Samba 3.2.15 but I wanted to update it to a more recent version. I have been finding some problems with 3.6 and upwards and have been checking solutions in different sites (trying to get both homebrew and macports "fixed" along the way). But there's still a nut to crack properly which is how the newer Samba versions have an issue with Lion's reporting of users groups.

Now, Lion didn't change the way user groups are reported, it's the same function that's been in place and fixed in Samba since 2007, but something has changed in Samba in recent versions that makes the whole thing unusable. The Samba team has really not much interest in fixing anything related to Mac OS X and at the moment couldn't care less that it's impossible, with the latest 20 stable releases, to create a shared drive that can be authenticated by the machine's main user (it can by any other user, though).

I know Samba and have been using it for more than a decade, but I'm not that familiar with its more recent code releases so I'm not confident enough to go in and make changes to the source other than the most basic ones.

Nothing Apple is doing or not doing any more in Lion has anything to do with any of this. They're not the source of any problems in the Samba implementation or errors when running it. Those are 100% samba. If anything, changes from Apple have not permeated into newer versions (this "Groups" problem was fixed for OS X by James Peach in 2007 and had been working OK until recently).

Apple's implementation of SMB has nothing to do with Samba, when run in the same machine, as long as Apple's is disabled (and it would have to be).

For the record: I'm happy Apple stopped including Samba and don't think it should've never done so in the same way I don't see a point in Windows including Appletalk. I'm not even that happy with them including SMB2 but at least it's not a hacked-together hodgepodge of reverse-engineered proprietary protocols. I'd be happy if they removed it whole and let third parties implement it properly.

@vertis
@leepfrog

As far as creating a brew recipe that works, why not build the old samba from 10.6.8?

http://opensource.apple.com/source/samba/samba-235.7/

@kartagis

brew install https://raw.github.com/vertis/homebrew/master/Library/Formula/samba.rb

curl: (22) The requested URL returned error: 404
Error: Failure while executing: /usr/bin/curl -qf#LA Homebrew\ 0.9\ (Ruby\ 1.8.7-249;\ Mac\ OS\ X\ 10.7.2) https://raw.github.com/vertis/homebrew/master/Library/Formula/samba.rb -o /Library/Caches/Homebrew/Formula/samba.rb

@vertis
@kartagis
@drlogic

@eduo - do you know the last version of Samba that did not have the Lion groups issue, i.e. previous to 3.6.3?

I have tried manually editing the /source3/lib/system.c file to just return 64 whatever happens as a quick test (I'm only running on OS X anyway), and that didn't work either.

@eduo

All versions of samba have the problem, as what changed was OS X. Lion sees a problem returning that had already been fixed by previous OS X versions for all Samba versions.

Even the "fix" outlined in this thread doesn't really solve the issue, only shifts its effects elsewhere.

@drlogic

Wishful thinking on my part.

I would say that people experience these issues try DAVE. I've given it another shot - I don't mind having to create local accounts to go along side ODM accounts for the 4 PC users.

I've been needing a replacement to Apple's SMB2 because the PC users we have use 3ds Max which doesn't work with Apple's implementation, but does with Thursby's DAVE no problem.

@eduo

I was reported yesterday (I make a tool called SMBUp, a front-end for
samba on lion, sino get reports like these) that Dave has the same issue on lion. I was surprised but haven't been able to verify.

If you confirm it works please let me know to be sure. I tend to recommend Dave when samba fails.

@drlogic

No, DAVE doesn't have the issues - it's running as we speak. I literally swapped it with Samba 3.6.3 (Homebrew) and it's solved the issues.

@lasombra

It seems the guys at MacPorts did it. I'm going to test it through today.

@drlogic

Really - can you let me know where you read/found that?

@jimrome

I gave up on homebrew and used the MacPorts version, It works great.

@drlogic

That's odd as I recently used MacPorts Samba and was having the same 16 group issue. Perhaps they fixed it recently?

@jimrome

Here is how I did it (don't recall the source, but I put it into Evernote...):

Installing Samba on LionLion does not use as Snow Leopard, the open-source program to release Samba network shares, but the self-developed SMBX server . The collaboration worked well with Windows in my tests, but not for me much more important interaction with Linux. Remedy the described installation of Samba.

LimitationsBefore you start, you should know, with what qualifications you need to put up with:

  • I'm assuming here that you install Samba via MacPorts (see below). Unfortunately, the MacPorts version of Samba contains outdated 3.2.15. It is unclear when a newer version of Samba is officially ported. You can find more details in this bug report read.
  • The Samba version has a known bug in the evaluation of group affiliations. If a user belongs to more than 16 groups, the authentication fails (see this bug report ). That sounds like an exotic problem - who needs 16 groups? But if you run in the terminal groups to determine how many groups associated with your account, you will encounter an amazingly long list. (In my test: 22 groups and thus over the limit) Apparently Lion groups intensively used to control access to a variety of administrative functions / files. You now have the choice whether to dispense with the Samba configuration on the authentication (insecure) or whether you try to delete the assignment to different groups (with uncertain consequences). ConditionsI assume in this blog post that the Apple development environment Xcode have (available free on the App Store) installed and MacPorts already. MacPorts is a software management system for open-source software and helps you download and installation of many open source packages. I have MacPorts some time ago a blog post dedicated to and in my OS X e-book and the new Lion-book described. Windows shares offThere can be only one active SMB servers. Therefore you have the module releases the system settings to disable the option to share files and folders using SMB. You can find this option in the file shares / options. However, continues the NetBIOS daemon. Since this role in future nmbd will take over from the Samba package, you have to stop and prevent its future netbiosd start. You can do this in a terminal from the following two commands: sudo launchctl stop com.apple.netbiosd sudo launchctl unload -w /System/Library/LaunchDaemons com.apple.netbiosd.plist/ Installing and Configuring SambaThe Samba installation with MacPorts is effortless. You only have to pay for compiling Samba for a few minutes of patience. sudo port selfupdate sudo port install Samba3 The Samba configuration is done through the file / opt/local/etc/samba3/smb.conf thatyou set yourself. The easiest way to copy the sample file opt/local/etc/samba3/smb.conf / and adjust them accordingly. On the details of the Samba configuration I can not enter here - if you run it out or read smb.conf after the details in a Linux or Samba book. If access is to be secured to the network directories to define password (security = user),you do not, with the corresponding smbpasswd passwords! Samba can not access the OS X passwords! Note, however, that authentication is sentenced for accounts with more than 16 groups to failure (see Constraints). For Samba to start manually, run the following command: sudo /opt/local/sbin/smbd -D && sudo /opt/local/sbin/nmbd -D If problems occur, see the Samba logging files in the directory / usr / local / var /.Smbtree with the terminal command you can list all available Samba shares. Once everything works, you still need to make sure that Samba is started automatically in the future. This is configured in the /Library/LaunchDaemons/ the two filesorg.samba.nmbd.plist and org.samba.smbd.plist one and run the following two commands: sudo launchctl load /Library/LaunchDaemons/org.samba.nmbd.plist sudo launchctl load /Library/LaunchDaemons/org.samba.smbd.plist ConclusionApple's server SMBX zickt is (partly) incompatible with Linux, but the Samba installation presented here under Lions. Since one can only hope for a more current version of Samba MacPorts, or by a better SMB2 Linux compatibility.
@eduo
@lasombra

It doesn't, I've check it as well, but it's working for some reason.
I installed it and it's working perfectly with my WD TV Live.

@adamv

Added 3.6.5 in #10311

@adamv adamv closed this Jun 10, 2012
@vertexclique

pkg-config complains about missing devel files. @adamv

@bfontaine
Homebrew member

@vertexclique please open a new issue.

@bfontaine bfontaine locked and limited conversation to collaborators Aug 17, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.