Ubuntu 20.04 LTS
。一个简单的bash 脚本到添加新用户通过交互模式的命令行:
#!/bin/bash
# Script to add a user to Linux system
if [ "$(id -u)" -eq 0 ]; then
read -p "Enter username : " username
read -s -p "Enter password : " password
egrep "^$username" /etc/passwd >/dev/null
if [ $? -eq 0 ]; then
echo "$username exists!"
exit 1
else
pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
useradd -m -p $pass $username
[ $? -eq 0 ] && echo "User has been added to system!" || echo "Failed to add a user!"
fi
else
echo "Only root may add a user to the system"
exit 2
fi
通过该脚本添加用户后,文件中的结果/etc/shadow
看起来很奇怪。例如用户名 demo
和密码 demo
,useradd
向文件添加命令/etc/shadow
:
demo:paR7EXftedvjA:19081:0:99999:7:::
没有关于id
、param
和 的信息salt
,因为它应该以当前接受的形式描述。看起来它只是一个哈希,或者我不知道那是什么paR7EXftedvjA
。我尝试在或等命令中使用demo
salt 和demo
密码将其恢复,但结果不一样。mkpasswd
openssl