Sharp.Augeas/Sharp.Augeas.Test/lens/tests/test_pam.aug

74 lines
2.1 KiB
Plaintext
Raw Normal View History

2022-11-08 20:57:02 +03:00
module Test_pam =
let example = "#%PAM-1.0
AUTH [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
session optional pam_keyinit.so force revoke
"
test Pam.lns get example =
{ "#comment" = "%PAM-1.0" }
{ "1" { "type" = "AUTH" }
{ "control" = "[user_unknown=ignore success=ok ignore=ignore default=bad]" }
{ "module" = "pam_securetty.so" } }
{ "2" { "type" = "session" }
{ "control" = "optional" }
{ "module" = "pam_keyinit.so" }
{ "argument" = "force" }
{ "argument" = "revoke" } }
test Pam.lns put example after
set "/1/control" "requisite"
= "#%PAM-1.0
AUTH requisite pam_securetty.so
session optional pam_keyinit.so force revoke
"
(* Check that trailing whitespace is handled & preserved *)
let trailing_ws = "auth\trequired\tpam_unix.so \n"
test Pam.lns put trailing_ws after
set "/1/type" "auth"
= trailing_ws
test Pam.lns get "@include common-password\n" =
{ "include" = "common-password" }
test Pam.lns get "-password optional pam_gnome_keyring.so\n" =
{ "1"
{ "optional" }
{ "type" = "password" }
{ "control" = "optional" }
{ "module" = "pam_gnome_keyring.so" }
}
test Pam.lns get "session optional pam_motd.so [motd=/etc/bad example]\n" =
{ "1"
{ "type" = "session" }
{ "control" = "optional" }
{ "module" = "pam_motd.so" }
{ "argument" = "[motd=/etc/bad example]" }
}
(* Multiline PAM entries; issue #590 *)
test Pam.lns get "account \\\ninclude \\\n system-auth\n" =
{ "1"
{ "type" = "account" }
{ "control" = "include" }
{ "module" = "system-auth" } }
test Pam.lns get "account\\\n[success=1 default=ignore] \\
pam_succeed_if.so\\\nuser\\\n =\\\nvagrant\\\nuse_uid\\\nquiet\n" =
{ "1"
{ "type" = "account" }
{ "control" = "[success=1 default=ignore]" }
{ "module" = "pam_succeed_if.so" }
{ "argument" = "user" }
{ "argument" = "=" }
{ "argument" = "vagrant" }
{ "argument" = "use_uid" }
{ "argument" = "quiet" } }
(* Local Variables: *)
(* mode: caml *)
(* End: *)