1 module Test_MasterPasswd =
3 let conf = "root:*:0:0:daemon:0:0:Charlie &:/root:/bin/ksh
4 sshd:*:27:27::0:0:sshd privsep:/var/empty:/sbin/nologin
5 _portmap:*:28:28::0:0:portmap:/var/empty:/sbin/nologin
6 test:x:1000:1000:ldap:1434329080:1434933880:Test User,,,:/home/test:/bin/bash
9 test MasterPasswd.lns get conf =
14 { "class" = "daemon" }
15 { "change_date" = "0" }
16 { "expire_date" = "0" }
17 { "name" = "Charlie &" }
19 { "shell" = "/bin/ksh" } }
25 { "change_date" = "0" }
26 { "expire_date" = "0" }
27 { "name" = "sshd privsep" }
28 { "home" = "/var/empty" }
29 { "shell" = "/sbin/nologin" } }
35 { "change_date" = "0" }
36 { "expire_date" = "0" }
37 { "name" = "portmap" }
38 { "home" = "/var/empty" }
39 { "shell" = "/sbin/nologin" } }
45 { "change_date" = "1434329080" }
46 { "expire_date" = "1434933880" }
47 { "name" = "Test User,,," }
48 { "home" = "/home/test" }
49 { "shell" = "/bin/bash" } }
51 (* Popular on Solaris *)
52 test MasterPasswd.lns get "+@some-nis-group:::::::::\n" =
53 { "@nis" = "some-nis-group" }
55 test MasterPasswd.lns get "+\n" =
58 test MasterPasswd.lns get "+:::::::::\n" =
64 { "change_date" = "" }
65 { "expire_date" = "" }
70 test MasterPasswd.lns get "+:::::::::/sbin/nologin\n" =
76 { "change_date" = "" }
77 { "expire_date" = "" }
80 { "shell" = "/sbin/nologin" } }
82 test MasterPasswd.lns get "+:*:::ldap:::::\n" =
88 { "change_date" = "" }
89 { "expire_date" = "" }
94 (* NIS entries with overrides, ticket #339 *)
95 test MasterPasswd.lns get "+@bob::::::::/home/bob:/bin/bash\n" =
97 { "home" = "/home/bob" }
98 { "shell" = "/bin/bash" } }
100 (* NIS user entries *)
101 test MasterPasswd.lns get "+bob:::::::::\n" =
102 { "@+nisuser" = "bob" }
104 test MasterPasswd.lns get "+bob:::::::User Comment:/home/bob:/bin/bash\n" =
105 { "@+nisuser" = "bob"
106 { "name" = "User Comment" }
107 { "home" = "/home/bob" }
108 { "shell" = "/bin/bash" } }
110 test MasterPasswd.lns put "+bob:::::::::\n" after
111 set "@+nisuser" "alice"
112 = "+alice:::::::::\n"
114 test MasterPasswd.lns put "+bob:::::::::\n" after
115 set "@+nisuser/name" "User Comment";
116 set "@+nisuser/home" "/home/bob";
117 set "@+nisuser/shell" "/bin/bash"
118 = "+bob:::::::User Comment:/home/bob:/bin/bash\n"
120 test MasterPasswd.lns get "-bob:::::::::\n" =
121 { "@-nisuser" = "bob" }
123 test MasterPasswd.lns put "-bob:::::::::\n" after
124 set "@-nisuser" "alice"
125 = "-alice:::::::::\n"