我试图为debian / ubuntu useradd创建一个哈希密码。我使用python创建哈希并使用bash创建具有哈希密码的用户。我认为我做错了,因为当我尝试使用用户密码登录时,它无法正常工作。我想它希望我加入实际的哈希值。
在python中,我创建了这样的加密哈希密码。它是在python类中,但我缩短了它,所以你可以得到图片。
import crypt
import random
def salt(self):
saltchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
return random.choice(saltchars) + random.choice(saltchars)
def custom_user(self):
user = self.textEditUser.text()
password = self.textEditPassword.text()
hashed_pw = crypt.crypt(str(password), "$6$"+self.salt()) # say password is "password"
print hashed_pw #returns $6$5l$lrm4UvmiYZcducdBFs8NortA.zeWuXrnmoVEYtLxmmDIGLN.9gjs.X6Z/fR6wDkh06lnDN8LTjzwrImSCR72T/
我使用单独的bash脚本来创建这样的用户:
#!/bin/bash
PASSWORD='$6$5l$lrm4UvmiYZcducdBFs8NortA.zeWuXrnmoVEYtLxmmDIGLN.9gjs.X6Z/fR6wDkh06lnDN8LTjzwrImSCR72T/'
USERNAME="Jon"
if id -u $USERNAME >/dev/null 2>&1; then
userdel -r -f $USERNAME
useradd -m -p $PASSWORD -s /bin/bash $USERNAME
usermod -a -G sudo $USERNAME
echo $USERNAME:$PASSWORD | chpasswd
else
useradd -m -p $PASSWORD -s /bin/bash $USERNAME
usermod -a -G sudo $USERNAME
echo $USERNAME:$PASSWORD | chpasswd
fi
我怎样才能使用密码而不是哈希值来登录?
答案 0 :(得分:-1)
python -c "import crypt; print crypt.crypt(\"foo\", \"\$6\$$(</dev/urandom tr -dc 'a-zA-Z0-9' | head -c 32)\$\")"