MacOS 使用expect 设置用户密码

企业在分发MacBook时,IT管理员会将MacOS的登录密码设置为空,为了方便用户使用,但是因为MacOS当前的用户密码是空(blank),在使用脚本做维护时,因为sudo在用户空密码为空的时候,是无法使用sudo来提升权限的,导致脚本运行失败,如果人为去终端上,一个一个修改,必定会花费大量人工时间,为解决这样的一个问题,我们使用了shell expect脚本来解决,目的是给当前用户设置一个密码。

设置密码脚本如下:

#!/bin/sh
CurrentUsername=`/usr/bin/id -un`
echo $CurrentUsername

expect <<EOF
spawn passwd $CurrentUsername
expect {
	"Old Password:" {send "\r";exp_continue}
	"New Password:" {send "qwer1234\r";exp_continue}
	"Retype New Password:" {send "qwer1234\r"}
}
EOF

清除密码脚本如下,即将当前用户密码设置为空:

#!/bin/sh
CurrentUserName=`/usr/bin/id -un`
echo $CurrentUserName

expect <<EOF
spawn passwd $CurrentUserName
expect {
	"Old Password:" {send "qwer1234\r";exp_continue}
	"New Password:" {send "\r";exp_continue}
	"Retype New Password:" {send "\r"}
}
EOF

上一篇:js根据含有对象的数组中某一个属性进行排序


下一篇:springboot读取配置文件的几种方式