summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2022-11-30 16:44:58 -0500
committerAndrew Cady <d@jerkface.net>2022-11-30 16:44:58 -0500
commitb2dedb2f16b96f84335de92703b39ab00e99c06c (patch)
tree9e053202025f48ae0fcbcfd98d385f890df8ced5
parentd9abf4a3805bb6a775596b56a5e7ecacd2a0006a (diff)
quasseluser-* improvements
-rwxr-xr-xcreate-quasselcore-user17
-rwxr-xr-xquasseluser-check-password1
-rwxr-xr-xquasseluser-create23
-rwxr-xr-xquasseluser-reset-password (renamed from reset-quasselcore-user-password)5
-rwxr-xr-xquasseluser-set-password25
-rwxr-xr-xquasseluser-users2
6 files changed, 54 insertions, 19 deletions
diff --git a/create-quasselcore-user b/create-quasselcore-user
deleted file mode 100755
index 3ec9915..0000000
--- a/create-quasselcore-user
+++ /dev/null
@@ -1,17 +0,0 @@
1#!/bin/sh
2
3create_quasselcore_user()
4{
5 username=$1
6 [ "$username" ]
7 if ! read password || ! [ "$password" ]
8 then
9 password=$(tr -cd a-z < /dev/urandom | head -c16)
10 fi
11 printf '%s\n' "$username" "$password" "$password" | ./run-quasselcore --add-user
12}
13
14set -e
15[ $# -eq 1 ]
16create_quasselcore_user "$@"
17
diff --git a/quasseluser-check-password b/quasseluser-check-password
index b6f2351..ca2d4c8 100755
--- a/quasseluser-check-password
+++ b/quasseluser-check-password
@@ -11,6 +11,7 @@ salt=${qpass#*:}
11if ! [ "$PASSWORD" ] 11if ! [ "$PASSWORD" ]
12then 12then
13 read -s -p "Password to check: " PASSWORD 13 read -s -p "Password to check: " PASSWORD
14 echo >&2
14fi 15fi
15 16
16ourhash=$(printf %s%s "$PASSWORD" "$salt" | sha512sum) 17ourhash=$(printf %s%s "$PASSWORD" "$salt" | sha512sum)
diff --git a/quasseluser-create b/quasseluser-create
new file mode 100755
index 0000000..7665cf4
--- /dev/null
+++ b/quasseluser-create
@@ -0,0 +1,23 @@
1#!/bin/bash
2
3quasseluser_create()
4{
5 username=$1
6 [ "$username" ]
7
8 prompt=
9 if test -t 0
10 then
11 prompt="Enter new password for user \"$username\": "
12 fi
13 if ! read ${prompt:+ -p "$prompt"} -s password || ! [ "$password" ]
14 then
15 password=$(tr -cd a-z < /dev/urandom | head -c16)
16 fi
17 printf '%s\n' "$username" "$password" "$password" | ./run-quasselcore --add-user
18}
19
20set -e
21[ $# -eq 1 ]
22quasseluser_create "$1"
23
diff --git a/reset-quasselcore-user-password b/quasseluser-reset-password
index 936b9dd..2a12165 100755
--- a/reset-quasselcore-user-password
+++ b/quasseluser-reset-password
@@ -1,6 +1,6 @@
1#!/bin/sh 1#!/bin/sh
2 2
3reset_quasselcore_user_password() 3quasseluser_reset_password()
4{ 4{
5 username=$1 5 username=$1
6 password=$2 6 password=$2
@@ -9,5 +9,6 @@ reset_quasselcore_user_password()
9 9
10set -e 10set -e
11[ $# -eq 2 ] 11[ $# -eq 2 ]
12reset_quasselcore_user_password "$@" 12quasseluser_reset_password "$@"
13
13 14
diff --git a/quasseluser-set-password b/quasseluser-set-password
new file mode 100755
index 0000000..c0226d1
--- /dev/null
+++ b/quasseluser-set-password
@@ -0,0 +1,25 @@
1#!/bin/bash
2
3quasseluser_set_password()
4{
5 username=$1
6 password=$2
7 printf '%s\n' "$password" "$password" | ./run-quasselcore --change-userpass "$username"
8}
9
10set -e
11[ $# -eq 1 ]
12[ "$1" ]
13if ! [ "$PASSWORD" ]
14then
15 if test -t 0
16 then
17 prompt="Enter new password for user \"$1\": "
18 else
19 prompt=
20 fi
21 read -s ${prompt:+ -p "$prompt"} PASSWORD
22fi
23[ "$PASSWORD" ]
24
25quasseluser_set_password "$1" "$PASSWORD"
diff --git a/quasseluser-users b/quasseluser-users
new file mode 100755
index 0000000..a529dcc
--- /dev/null
+++ b/quasseluser-users
@@ -0,0 +1,2 @@
1#!/bin/sh
2./quasselcore-sqlite "select username from quasseluser"