linux重命名root后,使用su命令切换新用户时,提示密码错误

发布于 2022-09-03 19:17:29 字数 1193 浏览 6 评论 0

1、考虑到安全因素,用户希望把服务器上的root用户进行重命名,于是把/etc/passwd文件和/etc/shadow文件中的root修改为xxx。修改完毕后,测试正常,普通用户可以通过su - xxx的方式切换为特权用户。

2、后来看到有个pwconv命令,大概意思是通过passwd文件内容创建一个shadow文件。就想,这样好啊,不用修改两个文件了,我只需要修改/etc/passwd文件中的root为xxx后,只需要再执行pwconv命令岂不是更方便。于是,就按照这个思路做了。修改完毕后,测试普通用户su - xxx(新特权用户)时,总是报密码错误。但是普通用户weblogic登陆时,密码没有发生变化。不知道为什么会发生这样的情况?目测肯定和pwconv的工作机制有关,希望有高人来帮忙解释下。

3、由于发生了第2步的情况,于是我做了个实验:
(1)把/etc/passwd和/etc/shadow下的root用户名修改为新的用户xxx1
(2)运行pwconv命令
(3)使用su - xxx1切换用户名,仍然成功。

4、运行环境:RHEL6.6

5、刚刚又做了个实验,实验步骤:
(1)先备份/etc/passwd和/etc/shadow文件
(2)运行pwunconv,先把密码写回passwd文件
(3)再修改/etc/passwd文件中的root用户名为abcd
(4)再运行pwconv根据passwd文件重新创建shadow文件
(5)运行su - abcd,成功。

6、测测结论:
因此猜测pwconv的大致原理是否是:先扫描passwd文件查看哪行内容有改动,如果某行内容改动了。就根据本行的内容和/etc/login.defs中的值重新创建shadow文件。
至于为什么会出现第2步的情况,我想可能是系统本身已经启用了密码映射功能。此时系统中的passwd文件中的密码行都是"X",那么这时运行pwconv时,新shadow文件中原root那行的密码部分的内容是根据"X"生成的,而不是根据密码值生成的。这样就造成了普通用户切换新的特权用户时,总是提示密码不正确。
而普通用户weblogic的内容在passwd中没有发生变化,所以新的shadow文件也不会对此进行任何修改。那么pwconv命令就没有影响到weblogic用户。

如果上面的猜测结论大致正确的话,就能更好的解释第5个实验为什么能够成功了。因为pwunconv命令先把密码写回到了passwd文件,此时再改root名,然后pwconv命令即可创建新的shadow文件,并且新的特权用户使用旧root密码登录是没问题的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

踏月而来 2022-09-10 19:17:29

汗...

给最高权限账号进行重命名来提高所谓的安全,那是上一代连编程的搞不好的老一辈人的歪脑筋。建议你别这样搞,因为很多软件硬编码了root,如果你改了root,搞不好要出很多问题。

建议还是学学正规的安全教材,不要瞎搞。

怂人 2022-09-10 19:17:29

嗯,改成 administrator 就安全了

晚上看的问题里最喜感的了,不得不回复,虽然跟答案无关

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文