summaryrefslogtreecommitdiff
path: root/bin/aux/addwuser.rc
diff options
context:
space:
mode:
Diffstat (limited to 'bin/aux/addwuser.rc')
-rwxr-xr-xbin/aux/addwuser.rc33
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/aux/addwuser.rc b/bin/aux/addwuser.rc
new file mode 100755
index 0000000..9364d39
--- /dev/null
+++ b/bin/aux/addwuser.rc
@@ -0,0 +1,33 @@
+#!/bin/rc
+
+if(! ~ $#werc_root 0)
+ cd $werc_root
+
+fn usage {
+ if(! ~ $#* 0)
+ echo $0: $* >[1=2]
+ echo 'Usage:' $0 'user_name user_password [groups ...]' >[1=2]
+ exit usage
+}
+
+if(! test -d etc/users/)
+ usage 'Run for root of werc installation or set $werc_root'
+
+user_name=$1
+shift
+user_pass=$1
+shift
+user_groups=$*
+
+if(~ $"user_name '' || ~ $"user_pass '')
+ usage
+
+mkdir etc/users/$user_name
+echo $user_pass > etc/users/$user_name/password
+
+if(! ~ $#user_groups 0)
+ for(g in $user_groups) {
+ mkdir -p etc/users/$g
+ echo $user_name >> etc/users/$g/members
+ }
+