Password

使用 setuid 更改 root 的密碼

  • February 6, 2016

是否可以使用 setuid 更改 root 的密碼?

我嘗試的是編寫一個簡單的程序,該程序呼叫system("passwd root")由 root 擁有,並且它的 setuid 位已設置,但它不起作用。輸出是:You may not view or modify password information for root.

在您的程序中,您可能忽略了將真實有效的 uid 設置為相同的值。Gids 也應該匹配 root 的 gid。像這樣的東西:

setuid(geteuid());
setgid(getegid());

參見範例sue(一個簡單的 setuid/setgid 包裝器)。

托馬斯·迪基是絕對正確的。但是,不要這樣做。改為使用sudo

創造/etc/sudoers.d/change_root_pass

YOURUSERNAME ALL = (ALL) passwd root

(更改您的使用者名)。

引用自:https://unix.stackexchange.com/questions/260386