aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/fuserdb/main.go
diff options
context:
space:
mode:
authorOphestra Umiker <cat@ophivana.moe>2024-11-17 23:31:06 +0900
committerOphestra Umiker <cat@ophivana.moe>2024-11-17 23:31:06 +0900
commit2e23cef7bb952e4964cd4994867e2d51e978e95c (patch)
tree9f33539929e6feacac1b1e3c1643bccd623c5aca /cmd/fuserdb/main.go
parent6a6d30af1f15b0aa1b79174ecb08b59bd77dabb0 (diff)
cmd/fuserdb: generate group entries
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'cmd/fuserdb/main.go')
-rw-r--r--cmd/fuserdb/main.go34
1 files changed, 4 insertions, 30 deletions
diff --git a/cmd/fuserdb/main.go b/cmd/fuserdb/main.go
index 9283d82c..6f10ee7e 100644
--- a/cmd/fuserdb/main.go
+++ b/cmd/fuserdb/main.go
@@ -2,7 +2,6 @@ package main
import (
"bytes"
- "encoding/json"
"errors"
"flag"
"fmt"
@@ -46,18 +45,9 @@ func main() {
fmsg.Fatalf("cannot create output: %v", err)
}
- type payload struct {
- UserName string `json:"userName"`
- Uid int `json:"uid"`
- Gid int `json:"gid"`
- RealName string `json:"realName"`
- HomeDirectory string `json:"homeDirectory"`
- Shell string `json:"shell"`
- }
-
for _, u := range users {
fidString := strconv.Itoa(u.fid)
- for aid := 0; aid < 9999; aid++ {
+ 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)
@@ -69,27 +59,11 @@ func main() {
homeDirectory = varEmpty
}
- fileName := userName + ".user"
- if f, err := os.OpenFile(path.Join(*out, fileName), os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644); err != nil {
- fmsg.Fatalf("cannot create %s: %v", userName, err)
- } else if err = json.NewEncoder(f).Encode(&payload{
- UserName: userName,
- Uid: uid,
- Gid: uid,
- RealName: realName,
- HomeDirectory: homeDirectory,
- Shell: *shell,
- }); err != nil {
- fmsg.Fatalf("cannot serialise %s: %v", userName, err)
- } else if err = f.Close(); err != nil {
- fmsg.Printf("cannot close %s: %v", userName, err)
- }
- if err := os.Symlink(fileName, path.Join(*out, us+".user")); err != nil {
- fmsg.Fatalf("cannot link %s: %v", userName, err)
- }
+ writeUser(userName, uid, us, realName, homeDirectory, *shell, *out)
+ writeGroup(userName, uid, us, nil, *out)
}
}
- fmsg.Printf("created %d entries", len(users)*10000)
+ fmsg.Printf("created %d entries", len(users)*2*10000)
fmsg.Exit(0)
}