我想在系统上创建一些具有不同命名模式的新用户:
- 老:(
firstname+initial of the second name
例如johnk
:) - 新的:(
firstname.surname
例如john.kennedy
:)
我被新用户的密码更改困扰。理想情况下,我想从文件中提取影子密码,但我仍在学习 BASH 脚本,我认为它太高级了,所以现在我刚刚创建了一个包含旧用户和相应影子密码的列表。我正在考虑使用以下命令更新新用户密码:/usr/sbin/usermod $u -p "$HASH"
但我不确定如何为该命令列出旧用户并将其与新用户匹配。
#!/usr/bin/env bash
OLD="
johnk="shadow_hash"
...
"
NEWUSERS="
john.kennedy
...
"
for u in $NEWUSERS; do
if [ -z "$(getent passwd $u)" ]; then
echo "User $u does NOT exist, creating..."
/usr/sbin/useradd $u
# /usr/sbin/usermod $u -p "$HASH"
else
echo "User $un DOES exist."
fi
done