我目前正在关注红十字会协会。你们能告诉我如何强制所有本地用户在下次登录时更改密码吗?
答案1
除了 root 之外,还有其他用户是守护进程(进程管理器),您不应更改它们。
我建议以 root 身份发出以下命令:
for user in $(grep "/home" /etc/passwd | cut -s -d':' -f1)
do
passwd -e $user
done
始终测试代码部分,尤其是在应用修改用户登录能力的命令之前。如果你做错了,你可能不得不赶紧撤消你的工作。
首先尝试以下操作,以确保您拥有希望使其密码过期的有效用户列表:
grep "/home" /etc/passwd | cut -s -d':' -f1
来自切割(1)手册页:
cut - remove sections from each line of files
-s, --only-delimited
do not print lines not containing delimiters
-d, --delimiter=DELIM
use DELIM instead of TAB for field delimiter
-f, --fields=LIST
select only these fields; also print any line that contains
no delimiter character, unless the -s option is specified
我的建议是创建一个新用户,尝试passwd -e
使用该用户名,注销并登录以验证是否获得了预期的行为,然后再将相同的命令应用于其他用户。