mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
Test login using pam_winbind.so and group membership.
(This used to be commit 4c2b915ed12584037731d8ccd246ad54986a7564)
This commit is contained in:
parent
2d27d8c720
commit
8a50f4ded9
102
testsuite/nsswitch/login.exp
Normal file
102
testsuite/nsswitch/login.exp
Normal file
@ -0,0 +1,102 @@
|
||||
#
|
||||
# @(#) Test logins using pam_winbind.so module using telnet
|
||||
#
|
||||
|
||||
load_lib util-defs.exp
|
||||
load_lib nsswitch-config.exp
|
||||
|
||||
#
|
||||
# @(#) Test user can login
|
||||
#
|
||||
|
||||
spawn telnet localhost
|
||||
|
||||
set test_desc "telnet localhost (login)"
|
||||
|
||||
expect {
|
||||
"login:" { }
|
||||
timeout { fail "timed out in $test_desc"; return }
|
||||
eof { fail "end of file in $test_desc"; return }
|
||||
}
|
||||
|
||||
send "$domain/$USER\r"
|
||||
|
||||
set test_desc "telnet localhost (password)"
|
||||
|
||||
expect {
|
||||
"Password:" { }
|
||||
timeout { fail "timed out in $test_desc"; return }
|
||||
eof { fail "end of file in $test_desc"; return }
|
||||
}
|
||||
|
||||
send "$PASSWORD\r"
|
||||
|
||||
expect {
|
||||
"$ " { }
|
||||
"Login incorrect" { fail "login incorrect"; return }
|
||||
timeout { fail "timed out in $test_desc"; return }
|
||||
eof { fail "end of file in $test_desc"; return }
|
||||
}
|
||||
|
||||
pass "login $domain/$USER"
|
||||
|
||||
#
|
||||
# @(#) Check supplementary group membership
|
||||
#
|
||||
|
||||
set test_desc "supplementary groups"
|
||||
|
||||
# Get list of groups
|
||||
|
||||
send "id -G\r"
|
||||
|
||||
expect {
|
||||
-re "((\[0-9]+ )*\[0-9]+\r)" { exp_continue; }
|
||||
"$ " { }
|
||||
timeout { fail "timed out in $test_desc"; return }
|
||||
eof { fail "end of file in $test_desc"; return }
|
||||
}
|
||||
|
||||
set groups $expect_out(1,string)
|
||||
set wb_groups [util_start "bin/wbinfo" "-r $domain/$USER"]
|
||||
|
||||
verbose "id groups are $groups"
|
||||
verbose "wbinfo groups are $wb_groups"
|
||||
|
||||
# Check all groups from id are in wbinfo and vice-versa
|
||||
|
||||
set failed 0
|
||||
|
||||
foreach { group } $groups {
|
||||
set got_group 0
|
||||
foreach { wb_group } $wb_groups {
|
||||
if { $wb_group == $group } {
|
||||
set got_group 1
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if { !$got_group } {
|
||||
fail "group $group not in output of wbinfo -r"
|
||||
set failed 1
|
||||
}
|
||||
}
|
||||
|
||||
foreach { wb_group } $wb_groups {
|
||||
set got_group 0
|
||||
foreach { group } $groups {
|
||||
if { $group == $wb_group } {
|
||||
set got_group 1
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if { !$got_group } {
|
||||
fail "group $group not in output of id -G"
|
||||
set failed 1
|
||||
}
|
||||
}
|
||||
|
||||
if { !$failed } {
|
||||
pass "id/wbinfo groups match"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user