Fixed console password utility ymspass.py
This commit is contained in:
+22
-7
@@ -14,15 +14,28 @@ cfg = {
|
|||||||
'user': 'yms'
|
'user': 'yms'
|
||||||
}
|
}
|
||||||
|
|
||||||
def set_pass():
|
def set_pass(uid):
|
||||||
newpass = getpass('New Password: ')
|
sql = "SELECT login, displayname FROM user WHERE userid=%s"
|
||||||
|
db.cur.execute(sql, (uid,))
|
||||||
|
user = db.cur.fetchone()
|
||||||
|
displayname = "{}/{}".format(user[0], user[1])
|
||||||
|
try:
|
||||||
|
newpass = getpass(f"New Password for '{displayname}': ")
|
||||||
|
except (EOFError, KeyboardInterrupt):
|
||||||
|
print("Aborted.")
|
||||||
|
return
|
||||||
cryptpass = bcrypt.hashpw(newpass.encode(), bcrypt.gensalt())
|
cryptpass = bcrypt.hashpw(newpass.encode(), bcrypt.gensalt())
|
||||||
print(cryptpass.decode())
|
|
||||||
|
|
||||||
sql = "UPDATE user SET pass=%s WHERE userid=%s"
|
sql = "UPDATE user SET pass=%s WHERE userid=%s"
|
||||||
|
db.cur.execute(sql, (cryptpass.decode(), uid))
|
||||||
|
db.conn.commit()
|
||||||
|
print("Ok.")
|
||||||
|
|
||||||
def get_user():
|
def get_user():
|
||||||
username = input('Username: ')
|
try:
|
||||||
|
username = input('Username: ')
|
||||||
|
except (EOFError, KeyboardInterrupt):
|
||||||
|
print("Aborted.")
|
||||||
|
return -1
|
||||||
sql = "SELECT userid FROM user WHERE login=%s"
|
sql = "SELECT userid FROM user WHERE login=%s"
|
||||||
db.cur.execute(sql, (username,))
|
db.cur.execute(sql, (username,))
|
||||||
row = db.cur.fetchone()
|
row = db.cur.fetchone()
|
||||||
@@ -44,8 +57,10 @@ if __name__ == "__main__":
|
|||||||
cfg['pass'] = config.get('DB', 'pass')
|
cfg['pass'] = config.get('DB', 'pass')
|
||||||
db = database.Database(cfg['host'], cfg['db'])
|
db = database.Database(cfg['host'], cfg['db'])
|
||||||
if db.connect(cfg['user'], cfg['pass']):
|
if db.connect(cfg['user'], cfg['pass']):
|
||||||
print("Connected to database")
|
print("Connected to database {}@{}".format(cfg['db'], cfg['host']))
|
||||||
print(get_user())
|
uid = get_user()
|
||||||
|
if uid >= 0:
|
||||||
|
set_pass(uid)
|
||||||
db.disconnect()
|
db.disconnect()
|
||||||
else:
|
else:
|
||||||
print("Cannot connect to database {}@{}".format(cfg['db'], cfg['host']))
|
print("Cannot connect to database {}@{}".format(cfg['db'], cfg['host']))
|
||||||
|
|||||||
Reference in New Issue
Block a user