[Samba] pam_winbind seems unable to return full list of trusted relationship domain members

Lazarus Long lazarus.long at bigfoot.com
Fri Sep 11 04:46:21 MDT 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello:

Our scenario:
- - Our domain (ABRANTINA) is a Windows 2003R2 AD (RFC2307 enabled)
- - Trusted domain (REDE-LC) is a Windows 2003R2 AD
- - cafs01tst is a Debian "stable" based SAMBA 3.2.5 file server

Our goal:
- - Serve home and shares for users of both domains ABRANTINA and REDE-LC

Our implementation:
(following guidelines from "Samba-3 by Example", and misc info gathered
from the net)
- - Configured MIT Kerberos with info for both domains
- - Configured PAM to use pam_winbind
- - Configured NSS to use nss_winbind
- - Configured SAMBA to use the ADS security mechanism
- - Joined cafs01tst to ABRANTINA domain

Our problems:
- - Users from REDE-LC domain are unable to access cafs01tst, being asked
  for a username/password pair (ABRANTINA users access without problem)
- - "getent passwd" only lists five REDE-LC users (always the same five),
  while "wbinfo -u" lists all
- - SSH logging on to the system from REDE-LC users fails with
  "pam_sm_authenticate returning 10" (ABRANTINA users access without
  problem)

Small note:
We currently have five SAMBA file servers (equal as the one we have
setup for testing) serving domain ABRANTINA users without any problem at
all, the trust relationship and the need to serve REDE-LC domain users
is the source of our problems.

Our steps to reproduce the "getent passwd" problem:
- --8<--
root at cafs01tst:~# invoke-rc.d winbind stop ; invoke-rc.d samba stop
Stopping the Winbind daemon: winbind.
Stopping Samba daemons: nmbd smbd.

root at cafs01tst:~# for d in /var/log/samba/ /var/lib/samba/ \
/var/cache/samba/ ; do find ${d} ! -type d |xargs rm -f ; done

root at cafs01tst:~# net ads join -U Administrator%PASSWORD
Using short domain name -- ABRANTINA
Joined 'CAFS01TST' to realm 'abrantina.org'

root at cafs01tst:~# net ads testjoin -U Administrator%PASSWORD
Join is OK

root at cafs01tst:~# net rpc testjoin -U Administrator%PASSWORD
Join to 'ABRANTINA' is OK

root at cafs01tst:~# invoke-rc.d samba start ; invoke-rc.d winbind start
Starting Samba daemons: nmbd smbd.
Starting the Winbind daemon: winbind.

root at cafs01tst:~# wbinfo --set-auth-user=Administrator%PASSWORD

root at cafs01tst:~# wbinfo --get-auth-user
ABRANTINA+Administrator%PASSWORD

root at cafs01tst:~# wbinfo -t
checking the trust secret via RPC calls succeeded

root at cafs01tst:~# wbinfo -m
BUILTIN
CAFS01TST
ABRANTINA
REDE-LC

root at cafs01tst:~# net rpc trustdom list -U Administrator%PASSWORD
Trusted domains list:

REDE-LC             S-1-5-21-1659004503-776561741-839522115

Trusting domains list:

REDE-LC             S-1-5-21-1659004503-776561741-839522115

root at cafs01tst:~# wbinfo -u
guest
administrator
krbtgt
fmendonca
echironadmin
tsinternetuser
iwam_abrghost
iusr_abrghost
asequeira
jalberto
...
(full list edited for clarity)
...
testepr1
testepr2
tsta
REDE-LC+administrator
REDE-LC+guest
REDE-LC+iusr_castor
REDE-LC+iwam_castor
REDE-LC+krbtgt
REDE-LC+antonio martins
REDE-LC+adelino rodrigues
REDE-LC+agostinho costa
REDE-LC+alexandre ferreira
REDE-LC+alice neves
...
(full list edited for clarity)
...
REDE-LC+sql_agent
REDE-LC+tst l
REDE-LC+tstl

root at cafs01tst:~# getent passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin
statd:x:102:65534::/var/lib/nfs:/bin/false
messagebus:x:103:105::/var/run/dbus:/bin/false
snmp:x:105:65534::/var/lib/snmp:/bin/false
nslcd:x:106:112:nss-ldapd name service LDAP connection
daemon,,,:/var/run/nslcd/:/bin/false
REDE-LC+sergio oliveira:*:20305:20339:Sergio \
Oliveira:/home/REDE-LC/sergio oliveira:/bin/sh
REDE-LC+tiago freire:*:22668:20339:Tiago Freire:/home/REDE-LC/tiago \
freire:/bin/sh
REDE-LC+nelson gesero:*:24590:20339:Nelson Gesero:/home/REDE-LC/nelson \
gesero:/bin/sh
REDE-LC+celso silva:*:26203:20339:Celso Silva:/home/REDE-LC/celso \
silva:/bin/sh
REDE-LC+luis soares:*:26361:20339:Luis Manuel Gaspar \
Soares:/home/REDE-LC/luis soares:/bin/sh
administrator:*:10000:10001:Administrator:/home/ABRANTINA/administrator:/bin/sh
fmendonca:*:10177:10014:Filipe Mendonça:/home/ABRANTINA/fmendonca:/bin/sh
echironadmin:*:10001:10001:eChiron
Administration:/home/ABRANTINA/echironadmin:/bin/sh
asequeira:*:10073:10000:António Sequeira:/home/ABRANTINA/asequeira:/bin/sh
jalberto:*:10219:10000:José Alberto Santos:/home/ABRANTINA/jalberto:/bin/sh
...
(full list edited for clarity)
...
testepr1:*:10664:10000:testepr1:/home/ABRANTINA/testepr1:/bin/sh
testepr2:*:10666:10000:testepr2:/home/ABRANTINA/testepr2:/bin/sh
tsta:*:10687:10000:tsta:/home/ABRANTINA/tsta:/bin/sh
- -->8--

Some system info:
- --8<--
root at cafs01tst:~# uname -a
Linux cafs01tst 2.6.26-2-amd64 #1 SMP Wed Aug 19 22:33:18 UTC 2009
x86_64 GNU/Linux

root at cafs01tst:~# cat /etc/debian_version
5.0.3

root at cafs01tst:~# dpkg -s samba
Package: samba
Status: install ok installed
Priority: optional
Section: net
Installed-Size: 12380
Maintainer: Debian Samba Maintainers
<pkg-samba-maint at lists.alioth.debian.org>
Architecture: amd64
Version: 2:3.2.5-4lenny6

root at cafs01tst:~# smbd -V
Version 3.2.5

root at cafs01tst:~# cat /etc/nsswitch.conf
passwd:         files winbind
group:          files winbind
shadow:         files winbind

hosts:          files dns wins
networks:       files dns

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

root at cafs01tst:~# cat /etc/pam.d/samba
@include common-auth
@include common-account
@include common-session
@include common-password

root at cafs01tst:~# cat /etc/pam.d/sshd
auth       required     pam_env.so # [1]
auth       required     pam_env.so envfile=/etc/default/locale
@include common-auth
account    required     pam_nologin.so
@include common-account
@include common-session
session    optional     pam_mail.so standard noenv # [1]
session    required     pam_limits.so
@include common-password

root at cafs01tst:~# cat /etc/pam.d/common-auth
auth	required	pam_env.so
auth	sufficient	pam_unix.so try_first_pass nullok_secure debug
auth	sufficient	pam_winbind.so try_first_pass use_authtok \
krb5_auth cached_login debug debug_state
auth	required	pam_deny.so

root at cafs01tst:~# cat /etc/pam.d/common-account
account	required	pam_unix.so debug
account	sufficient	pam_localuser.so
account	sufficient	pam_succeed_if.so uid < 10000 quiet
account sufficient	pam_winbind.so krb5_auth cached_login debug \
debug_state
account	required	pam_permit.so

root at cafs01tst:~# cat /etc/pam.d/common-session
session	optional	pam_keyinit.so revoke
session	required	pam_mkhomedir.so silent umask=0077
session	[success=1 default=ignore] pam_succeed_if.so service in crond \
quiet use_uid
session	required	pam_unix.so debug
session optional	pam_winbind.so krb5_auth cached_login debug \
debug_state

root at cafs01tst:~# cat /etc/pam.d/common-password
password required	pam_cracklib.so retry=3 minlen=6 difok=3 debug
password sufficient	pam_unix.so try_first_pass use_authtok nullok \
md5 debug
password sufficient	pam_winbind.so try_first_pass use_authtok \
krb5_auth cached_login debug debug_state
password required	pam_deny.so
- -->8--

Output of testparm (attached an extended "testparm -sv" output):
- --8<--
root at cafs01tst:~# testparm -s
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[netlogon]"
Processing section "[printers]"
Processing section "[print$]"
WARNING: The "printer admin" option is deprecated
Processing section "[homes]"
Processing section "[netlogon]"
Processing section "[print$]"
Processing section "[trusttst]"
Processing section "[trusttst_a]"
Processing section "[trusttst_l]"
Processing section "[trusttst_2]"
Loaded services file OK.
'winbind separator = +' might cause problems with group membership.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_DOMAIN_MEMBER
[global]
	unix charset = LOCALE
	workgroup = ABRANTINA
	realm = ABRANTINA.ORG
	server string = %h - %i
	security = ADS
	obey pam restrictions = Yes
	passdb backend = tdbsam
	pam password change = Yes
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n \
*Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	username map = /etc/samba/smbusers
	unix password sync = Yes
	use kerberos keytab = Yes
	log level = 10
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 1024
	socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
	printcap name = cups
	wins server = abrantapp01
	utmp = Yes
	panic action = /usr/share/samba/panic-action %d
	idmap domains = ABRANTINA, REDE-LC
	idmap alloc backend = tdb
	template shell = /bin/sh
	winbind separator = +
	winbind enum users = Yes
	winbind enum groups = Yes
	winbind use default domain = Yes
	winbind expand groups = 2
	winbind offline logon = Yes
	idmap config REDE-LC:range = 20000-29999
	idmap config REDE-LC:base_rid = 1000
	idmap config REDE-LC:backend = rid
	idmap config ABRANTINA:schema_mode = rfc2307
	idmap config ABRANTINA:readonly = yes
	idmap config ABRANTINA:range = 10000-19999
	idmap config ABRANTINA:default = yes
	idmap config ABRANTINA:backend = ad
	idmap alloc config:range = 9000-9999
	printer admin = "@ABRANTINA\Domain Admins"
	delete veto files = Yes
	veto files = \
/.AppleDesktop/.AppleDouble/.bin/DesktopFolderDB/Network Trash \
Folder/TrashFor%m/resource.frk/
	include = /etc/samba/smb.conf.shares

[homes]
	comment = Home Directories
	printer admin =
	read only = No
	create mask = 0700
	directory mask = 0700
	delete veto files = No
	veto files = \
/.bash*/.profile/.*rc/.forward*/.ssh/.vim*/.smbprofile/.w3m/.less*/.mysql*/
	browseable = No
	include =

[netlogon]
	comment = Network Logon Service
	path = /srv/netlogon
	write list = "@ABRANTINA\Domain Admins"
	printer admin =
	force create mode = 0755
	force directory mode = 0755
	guest ok = Yes
	delete veto files = No
	veto files =
	share modes = No
	include =

[printers]
	comment = All Printers
	path = /var/spool/samba
	printer admin =
	create mask = 0700
	printable = Yes
	delete veto files = No
	veto files =
	browseable = No
	include =

[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers
	write list = "@ABRANTINA\Domain Admins"
	printer admin =
	delete veto files = No
	veto files =
	browseable = No
	include =

[trusttst]
	path = /srv/shares/%S
	valid users = @ABRANTINA\l%S
	write list = @ABRANTINA\l%S
	force group = "l%S"
	force create mode = 02770
	force directory mode = 02770

[trusttst_a]
	path = /srv/shares/%S
	valid users = @ABRANTINA\trusttst
	write list = @ABRANTINA\trusttst
	force group = "ltrusttst"
	force create mode = 02770
	force directory mode = 02770

[trusttst_l]
	path = /srv/shares/%S
	valid users = @REDE-LC\trusttst
	write list = @REDE-LC\trusttst
	force group = "ltrusttst"
	force create mode = 02770
	force directory mode = 02770

[trusttst_2]
	path = /srv/shares/%S
	valid users = @ABRANTINA\ltrusttst, @ABRANTINA\trusttst, \
@REDE-LC\trusttst
	write list = @ABRANTINA\ltrusttst, @ABRANTINA\trusttst, \
@REDE-LC\trusttst
	force group = "ltrusttst"
	force create mode = 02770
	force directory mode = 02770
- -->8--

Attached a level 10 logging of the system winbind while reproducing the
"getent passwd" problem.

Thank you very much for any support on this matter.

- --
Lazarus Long
<lazarus (dot) long (at) bigfoot (dot) com>

+--------------------------------------------------------------+
| PGP or GnuPG Key:                                            |
| http://wwwkeys.eu.pgp.net:11371/pks/lookup?search=0x5C1DC205 |
+--------------------------------------------------------------+

Please do not send me attachments in proprietary formats
without request (i.e. Word, PowerPoint or Excel documents),
see <http://www.gnu.org/philosophy/no-word-attachments.html>

Por favor não me envie anexos em formatos proprietários sem que
os tenha pedido (p.e. documentos em Word, PowerPoint ou Excel),
veja <http://www.gnu.org/philosophy/no-word-attachments.pt.html>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkqqKn0ACgkQCXRGvVwdwgWwOQCgkQA/N6Zl91hJuJt9l0xbPE7P
XPwAoJYR+4rS9+HfBGP2BZ9ID2HGh570
=60ZX
-----END PGP SIGNATURE-----


More information about the samba mailing list