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