通过一次性重置每个用户的密码,我需要锁定10台
Linux服务器.这背后的故事很长,但总的想法是我需要在特定的时间很快发生.我将为所有用户帐户(刚开始)使用单个严格的密码,因此这不需要从密码文件或类似的东西中读取.
所以我需要的是编写脚本的最佳方法,这样我就可以立即重置所有密码.我可以使用cat / etc / passwd |提取用户帐户列表cut -f1 -d:command,但最终包括所有帐户,包括我认为我不应该搞乱的系统帐户.
那么这里最好的选择是什么?
注意!重置密码时,还需要确保从〜/ .ssh / authorized_keys文件中擦除任何额外内容.直到之后才记得这个 – 谢天谢地,我几乎把服务器紧紧锁住了,除了服务器到服务器之外,在authorized_keys中什么都没有.
解决方法
您可以选择UID> = 500以确保您只获得真实用户而不是系统帐户,然后使用选项–stdin of passwd来更改passowrd.
像这样的东西应该工作:
while IFS=: read u x nn rest; do if [ $nn -ge 500 ]; then echo "YOURSTRONGPASSWORD" |passwd --stdin $u; fi done < /etc/passwd