1import ./make-test-python.nix (
2 { lib, ... }:
3 {
4 name = "user-home-mode";
5 meta = with lib.maintainers; {
6 maintainers = [ fbeffa ];
7 };
8
9 nodes.machine = {
10 users.users.alice = {
11 initialPassword = "pass1";
12 isNormalUser = true;
13 };
14 users.users.bob = {
15 initialPassword = "pass2";
16 isNormalUser = true;
17 homeMode = "750";
18 };
19 users.users.carol = {
20 initialPassword = "pass3";
21 isNormalUser = true;
22 createHome = true;
23 home = "/users/carol";
24 };
25 };
26
27 testScript = ''
28 machine.wait_for_unit("multi-user.target")
29 machine.wait_for_unit("getty@tty1.service")
30 machine.wait_until_tty_matches("1", "login: ")
31 machine.send_chars("alice\n")
32 machine.wait_until_tty_matches("1", "Password: ")
33 machine.send_chars("pass1\n")
34 machine.succeed('[ "$(stat -c %a /home/alice)" == "700" ]')
35 machine.succeed('[ "$(stat -c %a /home/bob)" == "750" ]')
36 machine.succeed('[ "$(stat -c %a /users)" == "755" ]')
37 machine.succeed('[ "$(stat -c %a /users/carol)" == "700" ]')
38 '';
39 }
40)