linux下如何不修改密码

linux下如何不修改密码

有时我想要更改用户的密码,我会输入passwd,但我将以 root 身份登录,最终会更改 root 密码。我绝对不想在 Ubuntu 中这样做(因为我更喜欢那种神秘的气氛)。

是否有一个隐藏的组合键可以让我退出提示:

Enter new UNIX password:

ctrl-c等不工作。

我想我在 Ubuntu、SLeS 和 Centos 中都注意到了这一点。

到目前为止,我的转到只是转到另一个 tty 并杀死 passwd (这是一个坏主意吗?)

答案1

正如 IporSircer 在评论中建议的那样,您可以在确认提示时输入一个密码,然后输入另一个密码。你的方法也没有什么问题;passwd直到您输入并确认密码之后才真正开始更新密码数据库(甚至它应该以原子方式进行,因此kill不会破坏它)。

至少在我的系统上,你也可以直接按回车键;空 root 密码会被拒绝(但这不太安全,某些系统可能允许)。

另外两件事需要注意:首先,默认情况下 root 提示符和用户提示符看起来不同。 root 提示符使用#;用户提示$。这是故意的,因此您一眼就能看出您是以 root 身份登录的。另外,如果你经常犯这个错误,那么听起来你以 root 身份登录的次数太频繁了。仅在需要时才考虑以 root 身份登录,使用sudo等。您还可以按照 Mark Plotnick 在评论中建议的那样,向 root shell 添加一个 passwd 函数,以防止错误地更改 root 密码:function passwd() { if [ $# = 0 ]; then echo Usage: passwd username; else command passwd "$@"; fi }。 (例如,.bashrc在检查它是一个交互式 shell 后,您可以将其添加到 root 中)

其次,Ubuntu 上的初始 root 密码并不神秘,只是不存在(密码哈希字段设置为任何密码都无法匹配的值)。您应该能够使用usermod -L root或恢复该状态passwd -l root

相关内容