tests: pam: use absolute path to module .so
This is a valid configuration and both (a) skips the tests if it's unbuilt/not installed and (b) makes it work even if installed outside the system directory (like in /u/l/l/s instead of /l/s) Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #13259
This commit is contained in:
parent
7b6c4cbb1f
commit
ff0fc5af12
|
@ -0,0 +1 @@
|
|||
/utilities.kshlib
|
|
@ -6,3 +6,6 @@ dist_pkgdata_SCRIPTS = \
|
|||
pam_nounmount.ksh \
|
||||
pam_short_password.ksh \
|
||||
utilities.kshlib
|
||||
|
||||
% : %.in
|
||||
sed 's|@pammoduledir[@]|@pammoduledir@|g' $< > $@
|
||||
|
|
|
@ -26,8 +26,4 @@ rmconfig
|
|||
destroy_pool $TESTPOOL
|
||||
del_user ${username}
|
||||
del_group pamtestgroup
|
||||
|
||||
rm -rf "$runstatedir"
|
||||
for dir in $TESTDIRS; do
|
||||
rm -rf $dir
|
||||
done
|
||||
log_must rm -rf "$runstatedir" $TESTDIRS
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
. $STF_SUITE/tests/functional/pam/utilities.kshlib
|
||||
|
||||
command -v pamtester > /dev/null || log_unsupported "pam tests require the pamtester utility to be installed"
|
||||
[ -f "$pammodule" ] || log_unsupported "$pammodule missing"
|
||||
|
||||
DISK=${DISKS%% *}
|
||||
create_pool $TESTPOOL "$DISK"
|
||||
|
|
|
@ -24,24 +24,25 @@
|
|||
|
||||
username="pamtestuser"
|
||||
runstatedir="${TESTDIR}_run"
|
||||
pammodule="@pammoduledir@/pam_zfs_key.so"
|
||||
pamservice="pam_zfs_key_test"
|
||||
pamconfig="/etc/pam.d/${pamservice}"
|
||||
|
||||
function keystatus {
|
||||
log_must [ "$(zfs list -Ho keystatus "$TESTPOOL/pam/${username}")" = "$1" ]
|
||||
log_must [ "$(get_prop keystatus "$TESTPOOL/pam/${username}")" = "$1" ]
|
||||
}
|
||||
|
||||
function genconfig {
|
||||
for i in password auth session; do
|
||||
printf "%s\trequired\tpam_permit.so\n%s\toptional\tpam_zfs_key.so\t%s\n" "$i" "$i" "$1"
|
||||
done > "${pamconfig}"
|
||||
printf '%s\trequired\tpam_permit.so\n%s\toptional\t%s\t%s\n' \
|
||||
password password "$pammodule" "$1" \
|
||||
auth auth "$pammodule" "$1" \
|
||||
session session "$pammodule" "$1" > "${pamconfig}"
|
||||
}
|
||||
|
||||
function rmconfig {
|
||||
log_must rm "${pamconfig}"
|
||||
log_must rm -f "${pamconfig}"
|
||||
}
|
||||
|
||||
function references {
|
||||
log_must [ "$(<"${runstatedir}/$(id -u ${username})")" = "$1" ]
|
||||
}
|
||||
|
Loading…
Reference in New Issue