diff options
Diffstat (limited to 'cmd/fuserdb/main.go')
| -rw-r--r-- | cmd/fuserdb/main.go | 34 |
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) } |
