Estoy intentando, en C ++, escribir un programa que solicite el privilegio sudo si no lo tiene. Lo he logrado a través de execl("/usr/bin/sudo", "sudo", argv[0]); pero mi mayor problema es intentar probarlo. ¿Hay alguna manera de hacer que el sistema olvide que recientemente usé sudo para poder ejecutar y solicitar acceso nuevamente?

1
Oantby 22 ene. 2015 a las 00:47

2 respuestas

La mejor respuesta

Sudo -k invalida las credenciales.

Editar:

Hay un comando sudo -K (K mayúscula) que puede invocar para invalidar las credenciales, pero la marca -k se puede usar anteponiéndola a argv (tal vez incluso en función de la configuración de compilación)

3
Tasos Vogiatzoglou 21 ene. 2015 a las 22:03

Realice los siguientes pasos para cambiar el tiempo de espera predeterminado. sudo visudo

Desplácese hacia abajo y agregue la siguiente línea al final: Defaults: user_name timestamp_timeout = 0

1) Cambie el nombre de usuario a su nombre de usuario real.

2) Cambie 10 (en minutos) a lo que desee. Un valor de -1 lo hará infinito (para una sola sesión).

3) Presiona Ctrl-X y luego presiona Y. ¡Ya estás listo!

Referencia

0
Amal Ts 21 ene. 2015 a las 21:56