mirror of
https://gitea.invidious.io/iv-org/documentation.git
synced 2024-08-15 00:53:34 +00:00
T.: Document ways for resetting passwords just w standard shell utils
This commit is contained in:
parent
87a8eaae93
commit
d9a641f6d7
1 changed files with 19 additions and 2 deletions
|
@ -4,10 +4,11 @@ Resetting a user's invidious password needs you to edit the database.
|
||||||
|
|
||||||
Firstly, generate a bcrypt-encrypted hash for the new password you want to set for the user.
|
Firstly, generate a bcrypt-encrypted hash for the new password you want to set for the user.
|
||||||
|
|
||||||
This can be done with the `bcrypt` python module, though there are other ways of doing the same.
|
This can, for example, be done with the `bcrypt` python module or the `mkpasswd` shell utility (the latter should be preinstalled on most systems):
|
||||||
|
|
||||||
```
|
```
|
||||||
python3 -c 'import bcrypt; print(bcrypt.hashpw(b"<INSERT PASSWORD HERE>", bcrypt.gensalt(rounds=10)).decode("ascii"))'
|
python3 -c 'import bcrypt; print(bcrypt.hashpw(b"<INSERT PASSWORD HERE>", bcrypt.gensalt(rounds=10)).decode("ascii"))' # python
|
||||||
|
mkpasswd --method=bcrypt-a -R 10 # mkpasswd
|
||||||
```
|
```
|
||||||
|
|
||||||
To do so, first attach to the database:
|
To do so, first attach to the database:
|
||||||
|
@ -23,3 +24,19 @@ UPDATE users SET password = 'HASH' WHERE email = 'USERNAME';
|
||||||
```
|
```
|
||||||
|
|
||||||
After that, the password should be reset.
|
After that, the password should be reset.
|
||||||
|
|
||||||
|
This script bundles all needed commands so you don't have to enter everything manually every time, and also checks that the username exists before writing to the database:
|
||||||
|
```sh
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
printf 'User ID: '
|
||||||
|
read -r ID
|
||||||
|
if [ "$(su postgres -c "psql invidious -c \"SELECT email FROM users WHERE email = '$ID';\"" | tail -n 2 | head -n 1)" != '(1 row)' ]; then
|
||||||
|
echo 'Error: User ID does not exist'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
HASH="$(mkpasswd --method=bcrypt-a -R 10)"
|
||||||
|
su postgres -c "psql invidious -c \"UPDATE users SET password = '$HASH' WHERE email = '$ID';\""
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in a new issue