当我看着
usr/bin/目录中,我看到命令行中有passwd。
-rwsr-xr-x. 1 root root 30768 2012-02-22 20:48 /usr/bin/passwd它允许改变以获得根的权威。和s一起。
我想知道只有root才能更改其他用户的密码
passwd user我想找到这个命令的位置并查一下。
这个命令是否也是usr/bin/目录的一部分?或者是别的什么东西
我想做的是。
我登录
user1和类型
[user1] passwd user2当然在某种程度上它被封锁了。但我想知道更多。
发布于 2016-06-24 11:34:17
Unix (和Linux)有真实用户和有效用户的概念。setuid程序(如/usr/bin/passwd )将有效用户设置为文件所有者;在本例中,它将有效用户设置为root。
现在,程序如何处理这些提升的权限取决于程序本身。
对于passwd程序,如果您传递一个用户名,它将检查实际用户是否是根用户;如果它是根用户,则会成功,否则它将返回一个错误。
因此,root用户可以运行/usr/bin/password user2,这将工作,但是如果user运行相同的命令,那么它就失败了。只有一个程序,但是它的工作方式取决于运行它的用户。
发布于 2016-06-24 11:21:23
passwd二进制文件是suid的,因为它需要根权限来修改/etc/shadow文件。它将不允许非特权用户修改其他用户的密码。它将允许root修改任何用户的密码,但这不是它是suid的原因。
https://unix.stackexchange.com/questions/291827
复制相似问题