企业在分发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