FreeBSD更改用户密码Shell脚本

时间:2020-01-09 10:38:40  来源:igfitidea点击:

如何在FreeBSD操作系统下使用Shell脚本更改用户密码?

解决方法:您需要对-pw命令使用-h fd选项。
它提供了一个特殊的界面,通过该界面,交互式脚本可以使用pw设置帐户密码。
由于命令行和环境从根本上来说是程序接收信息的不安全机制,因此pw仅允许通过文件描述符(通常是交互式脚本和程序之间的管道)来设置帐户密码和组密码。

sh,bash,ksh和perl都具有完成此任务的机制。

Linux/UNIX应该能够使用passwd命令或perl脚本执行相同的操作。

添加用户并设置密码

添加一个名为Hyman的新用户,其密码为topSecrete:

# echo PASSWORD | pw add user USERNAME -h 0
# echo topSecrete | pw add user Hyman -h 0

修改现有用户密码

更改名为chitra的用户的密码

# echo newPassword | pw mod user chitra -h 0

更改用户密码的示例Shell脚本

#!/bin/sh
PW=/usr/sbin/pw
SHELL=/bin/csh
echo "*** ADD NEW USER SHELL SCRIPT ***"
echo -n "Username : " 
read user
echo "Password : " 
read -n passwd
echo ${passwd} | ${PW} add user ${user} -m -s ${SHELL} -h 0 >/dev/null 2>&1
if [ $? -eq 0 ]
then
	echo "User added to the system."
else
	echo "Failed to add user to the system."
fi