aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoni Sawicki <tenox@google.com>2022-03-27 01:43:46 -0700
committerAntoni Sawicki <tenox@google.com>2022-03-27 01:43:46 -0700
commit3e97e42fc630ce545f8e5d9a07950b02b8650637 (patch)
treeb3c82270fd991dc15e39d6d69c18a8e35f9d3289
parent8710f4b38cf304bb0e4bcfdfb6f3530c9e367fe3 (diff)
downloadwfm-3e97e42fc630ce545f8e5d9a07950b02b8650637.tar.gz
add setro/rw
-rw-r--r--users.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/users.go b/users.go
index 57f1adc..bd717dd 100644
--- a/users.go
+++ b/users.go
@@ -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)