我知道chsh
用于通过修改/etc/passwd
.因此,原则上任何人都可以运行此命令并更改其他用户的默认 shell,但这是不允许的。
这怎么停在chsh
?
答案1
chsh
是设定值,因此它可以在意味着用户可以使用 root 权限执行操作的上下文中运行。任何 setuid 的内容都必须非常小心地编写,以防止权限升级。 chsh
是用C写的,看起来检查运行该程序的人员是否与您要求更改的用户相同。
我知道chsh
用于通过修改/etc/passwd
.因此,原则上任何人都可以运行此命令并更改其他用户的默认 shell,但这是不允许的。
这怎么停在chsh
?
chsh
是设定值,因此它可以在意味着用户可以使用 root 权限执行操作的上下文中运行。任何 setuid 的内容都必须非常小心地编写,以防止权限升级。 chsh
是用C写的,看起来检查运行该程序的人员是否与您要求更改的用户相同。