diff options
author | makefu <github@syntax-fehler.de> | 2015-08-31 10:47:29 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2015-08-31 10:47:29 +0200 |
commit | 2eb8bcf9d1c293a8b28730c9a12d9a857c5a43a7 (patch) | |
tree | c8a1d55a148e59f51a400e0d5dc11780d4e4005c /tv/2configs/test.nix | |
parent | 0acd7f23e1e3adf4bf1427f186a7bf5505ff910d (diff) | |
parent | 83f06535de527c7470f8ff9c8b5e3a4632cf7cb9 (diff) |
Merge remote-tracking branch 'cd/master'
Diffstat (limited to 'tv/2configs/test.nix')
-rw-r--r-- | tv/2configs/test.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tv/2configs/test.nix b/tv/2configs/test.nix new file mode 100644 index 000000000..409b4e9b4 --- /dev/null +++ b/tv/2configs/test.nix @@ -0,0 +1,31 @@ +{ config, lib, pkgs, ... }: + +with import ../4lib { inherit lib pkgs; }; + +let + out = { + environment.systemPackages = [ + su-test + ]; + security.sudo.extraConfig = '' + tv ALL=(test) NOPASSWD: ALL + ''; + users.extraUsers.test = { + shell = "${test-shell}"; + }; + }; + + su-test = pkgs.execveBin "su-test" rec { + filename = "/var/setuid-wrappers/sudo"; + argv = ["sudo" "-u" "test" "-i"]; + }; + + test-shell = pkgs.execve "test-shell" rec { + filename = "${pkgs.bash}/bin/bash"; + argv = ["sh" "--noprofile" "-l"]; + envp.ENV = pkgs.writeText "test-env" '' + ${shell.cat "Hello, `$(j0w\nd0g!)`!\\o/\n"} >&2 + ''; + }; + +in out |