[Samba] getent & winbindd on FreeBSD 5.4

Doug Sampson dougs at dawnsign.com
Fri Sep 16 11:40:32 PDT 2005


> FreeBSD doesn't come with a getent program.  I was able to compile
> OpenSolaris' getent on FreeBSD with minimal problems, though.  You'll
> have to remove support for ipnodes, project, and netmasks since those
> are Solaris-specific, remove the gettext code, and you'll need to
> provide a "putpwent" function (I used
> /usr/src/usr.sbin/pw/pwupd.c:fmtpwentry() instead ).
> 
> http://cvs.opensolaris.org/source/xref/usr/src/cmd/getent/
  
I found the source for getent in
/usr/ports/net/samba3/work/samba-3.0.20/testsuite/nsswitch (see file
listing:)

aries-root@/usr/local/sbin: find / | grep getent
/usr/share/man/man3/tgetent.3.gz
/usr/share/man/man3/cgetent.3.gz
/usr/share/man/man3/kgetent.3.gz
/usr/src/contrib/telnet/libtelnet/getent.c
/usr/ports/net/samba3/work/samba-3.0.20/source/lib/util_getent.c
/usr/ports/net/samba3/work/samba-3.0.20/source/lib/util_getent.o
/usr/ports/net/samba3/work/samba-3.0.20/source/lib/util_getent.po
/usr/ports/net/samba3/work/samba-3.0.20/source/include/util_getent.h
/usr/ports/net/samba3/work/samba-3.0.20/testsuite/nsswitch/getent_pwent.c
/usr/ports/net/samba3/work/samba-3.0.20/testsuite/nsswitch/getent_r.sh
/usr/ports/net/samba3/work/samba-3.0.20/testsuite/nsswitch/getent_grent.c
/usr/ports/net/samba3/work/samba-3.0.20/testsuite/nsswitch/getent.exp
/usr/ports/net/samba3/work/samba-3.0.20/testsuite/nsswitch/getent.c
/usr/compat/linux/usr/bin/getent
/usr/obj/usr/src/lib/libtelnet/getent.o
aries-root@/usr/local/sbin: 

and I ran 'gcc -o getent getent.c' to create the getent command. I then
moved it to /usr/local/sbin and ran 'getent passwd'. The output still
doesn't produce the list of domain users- only the local users. Hm? I am not
sure if I am doing this correctly. I am flying blindly on this as I am
relatively new to *nix in general (huge learning curve). Can you verify that
I'm doing this correctly?

I am starting to wonder if my problem isn't related to getent but elsewhere.
I read on the 'Net that FreeBSD finally provided NSS support starting with
version 5.0. I also wonder if I'm not configuring my PAM modules correctly.
See my earlier mail re: nsswitch.conf and /etc/pam.d/login.

> > How can I verify that linux libraries have been installed? I looked
> > at this:
> > 
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linu
> xemu-lbc-insta
> > ll.html#LINUXEMU-LIBS-PORT. When I run the 'getent' command, it
> > doesn't complain about missing libraries. When I checked for
> > /compat/linux directory as follows:
> >
> > I noticed that the libnss_winbind.so and the libnss_wins.so 
> aren't in
> > /usr/compat/linux/lib directory. Should I add them manually? If so,
> > from where? Or make a link to appropriate FreeBSD libs?
> 
> You would need to install them manually, from either an existing linux
> system, or by extracting them out of an rpm.
> 
> Are you really sure you need a "getent" command?

Nope.

~Doug


More information about the freebsd-questions mailing list