From 134247b57d2ff93c7b70815158474d94bed1074b Mon Sep 17 00:00:00 2001 From: Ophestra Date: Thu, 23 Jan 2025 17:04:19 +0900 Subject: nix: configure target users via nixos This makes patching home-manager no longer necessary. Signed-off-by: Ophestra --- cmd/fuserdb/main.go | 69 ----------------------------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 cmd/fuserdb/main.go (limited to 'cmd/fuserdb/main.go') diff --git a/cmd/fuserdb/main.go b/cmd/fuserdb/main.go deleted file mode 100644 index 2c3dd24e..00000000 --- a/cmd/fuserdb/main.go +++ /dev/null @@ -1,69 +0,0 @@ -package main - -import ( - "bytes" - "errors" - "flag" - "fmt" - "os" - "path" - "strconv" - - "git.gensokyo.uk/security/fortify/internal/fmsg" -) - -func main() { - fmsg.SetPrefix("fuserdb") - - const varEmpty = "/var/empty" - - out := flag.String("o", "userdb", "output directory") - homeDir := flag.String("d", varEmpty, "parent of home directories") - shell := flag.String("s", "/sbin/nologin", "absolute path to subordinate user shell") - flag.Parse() - - type user struct { - name string - fid int - } - - users := make([]user, len(flag.Args())) - for i, s := range flag.Args() { - f := bytes.SplitN([]byte(s), []byte{':'}, 2) - if len(f) != 2 { - fmsg.Fatalf("invalid entry at index %d", i) - } - users[i].name = string(f[0]) - if fid, err := strconv.Atoi(string(f[1])); err != nil { - fmsg.Fatal(err.Error()) - } else { - users[i].fid = fid - } - } - - if err := os.MkdirAll(*out, 0755); err != nil && !errors.Is(err, os.ErrExist) { - fmsg.Fatalf("cannot create output: %v", err) - } - - for _, u := range users { - fidString := strconv.Itoa(u.fid) - for aid := 0; aid < 10000; aid++ { - userName := fmt.Sprintf("u%d_a%d", u.fid, aid) - uid := 1000000 + u.fid*10000 + aid - us := strconv.Itoa(uid) - realName := fmt.Sprintf("Fortify subordinate user %d (%s)", aid, u.name) - var homeDirectory string - if *homeDir != varEmpty { - homeDirectory = path.Join(*homeDir, "u"+fidString, "a"+strconv.Itoa(aid)) - } else { - homeDirectory = varEmpty - } - - writeUser(userName, uid, us, realName, homeDirectory, *shell, *out) - writeGroup(userName, uid, us, nil, *out) - } - } - - fmsg.Printf("created %d entries", len(users)*2*10000) - fmsg.Exit(0) -} -- cgit v1.3.1