-1
我想用C編寫程序,它將以root用戶身份打開bash,但對於任何用戶都沒有密碼。以root用戶身份運行C程序,無密碼
#include <unistd.h>
#include <stdio.h>
int main(void)
{
char *argv[] = { "/bin/bash","-c","sudo /bin/bash",0 };
execve(argv[0], &argv[0],0);
return 0;
}
我的系統是Linux Mint的18.2索尼婭,和我設置把這兩個命令
chown root:root a.out
chmod u=srwx,go=xr a.out
但仍當我嘗試執行此,它要求的密碼。如果還有其他選項,我不想編輯/ etc/sudoers。
允許以root用戶身份運行程序,而不必指定root的密碼(並且沒有通過sudoers或其他方式給出明確的許可),聽起來就像是一個安全漏洞,你不覺得嗎? –
在某些特定情況下,它不是。我們可以判斷,直到我們知道整個數字? OP *必須*警告風險,或者解釋整個情況。請注意,許多程序(尤其是守護進程)都有一個setuid位,並以root用戶身份運行,通常用於執行一些初始化,然後以普通用戶的身份執行setuid()。 –
@DanielKamilKozar OP有能力將所有者設置爲root並設置「SETUID」。 – iBug