如何强制所有本地用户更改密码

如何强制所有本地用户更改密码

我目前正在关注红十字会协会。你们能告诉我如何强制所有本地用户在下次登录时更改密码吗?

答案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使用该用户名,注销并登录以验证是否获得了预期的行为,然后再将相同的命令应用于其他用户。

相关内容