Я хочу проверить работоспособность пароля su. Я думаю о том, чтобы выполнить команду su, настроив дочерний процесс, затем ввести пароль и получить текущий UID, чтобы определить, равен ли он 0, но сейчас я не знаю, как подключить ввод-вывод. , Перейдите к сценарию, открытому дочерним процессом, есть ли способ подключения IO или другие методы для проверки безопасности пароля su, большое спасибо:)
int main(){
pid_t pid;
if((pid = fork()) < 0){
printf("fock error!\n");
}
else if(pid == 0){// child
execl("/bin/sh", "-sh", (char*)0);
//Execute su and input password to become root user, but I dont know how to pass the command to my shell
exit(1);
}
else{ // parents
waitpid(pid, NULL, 1);
//get my child process exec ' result
}