Linux下普通用户能否修改其它用户的密码?

发布于 2022-09-01 19:21:08 字数 190 浏览 21 评论 0

Linux下密码通过 /etc/passwd 文件进行管理,该文件只有root用户有rw权限,普通用户是通过带有Setuid的passwd程序对自己的密码进行修改的,setuid可能将用户的权限提升到root,既然只是修改/etc/passwd文件,而普通用户在运行passwd程序时权限已提升至root,为何普通用户不能更改其它用户的密码,而root用户就可以呢?

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

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

发布评论

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

评论(1

油饼 2022-09-08 19:21:08

因为 passwd 在修改密码之前会查看当前用户是否匹配要修改的用户,否则就不会往下执行。

会显示“您不能查看或更改xxx的密码信息。”之类的提示。这个提示是passwd修改密码之前的判断,而不是在修改shadow的时候系统提示的权限不足。

而对于普通用户是没有办法修改 passwd 的源码的(只有二进制文件才能设置setuid),因为没有权限,所以没办法修改passwd的执行流程,所以没办法绕过passwd对用户的校验,因此不能够修改其他人的密码。

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