diff options
author | Antoni Sawicki <tenox@google.com> | 2022-03-27 01:43:46 -0700 |
---|---|---|
committer | Antoni Sawicki <tenox@google.com> | 2022-03-27 01:43:46 -0700 |
commit | 3e97e42fc630ce545f8e5d9a07950b02b8650637 (patch) | |
tree | b3c82270fd991dc15e39d6d69c18a8e35f9d3289 | |
parent | 8710f4b38cf304bb0e4bcfdfb6f3530c9e367fe3 (diff) | |
download | wfm-3e97e42fc630ce545f8e5d9a07950b02b8650637.tar.gz |
add setro/rw
-rw-r--r-- | users.go | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -56,6 +56,10 @@ func manageUsers() { delUser(flag.Arg(2)) case "passwd": pwdUser(flag.Arg(2)) + case "setro": + setUser(flag.Arg(2), false) + case "setrw": + setUser(flag.Arg(2), true) default: fmt.Println("usage: user <list|add|delete|passwd|setrw|setro> [username] [rw|ro]") } @@ -124,6 +128,24 @@ func pwdUser(usr string) { saveUsers() } +func setUser(usr string, rw bool) { + if usr == "" || rw == "" { + log.Fatal("user add requires username and ro/rw\n") + } + chg := false + for i, u := range users { + if u.User != usr { + continue + } + users[i].RW = rw + chg = true + } + if !chg { + log.Fatal("User not found / nothing changed") + } + saveUsers() +} + func rndStr(len int) string { b := make([]byte, len) rand.Read(b) |