Recientemente he desactivado sudola capacidad de almacenamiento en caché de autenticación para que ahora me solicite una contraseña cada vez.
Y aunque esto es bueno para la seguridad, ha causado un pequeño problema para el que no he podido encontrar una solución, no puedo ejecutar comandos que van en la línea de:
sudo <command> &
En el pasado, habría ejecutado un sudocomando antes, habría almacenado en caché mi contraseña y me habría permitido ejecutar sudocomandos sin solicitud durante los próximos minutos, y por lo tanto me permitiría ejecutar el comando.
Pero cuando lo ejecuto ahora, ya que no hay almacenamiento en caché de antemano y cuando comienza un nuevo hilo inmediatamente y sudoni siquiera me pide una contraseña, no puedo ejecutarlo de esta manera.
Entonces, a menos que lo ejecute sudo -iantes, no puedo ejecutar un comando en este formato que se está volviendo bastante molesto.
Entonces, me preguntaba si hay alguna forma de evitar esto y aún ejecutar programas y comandos de esta manera.
Estoy ejecutando Ubuntu GNOME 15.10 con GNOME 3.18, y específicamente el programa que quiero ejecutar de esta manera es etherapesi eso hace alguna diferencia, pero realmente me gustaría que la solución funcione para todos los programas y comandos.

&no se puede buscar realmente, estoy cambiando eso a… sudo command in the background.Respuestas:
En lugar de ejecutar
sudoen segundo plano, digasudoque ejecute el comando en segundo plano. Deman sudo:Por ejemplo:
Otra forma sería usar un shell para ejecutar el comando:
Otra opción sería especificar un programa gráfico para obtener la contraseña y enviarla
sudoal fondo de todos modos:Los programas Askpass generalmente se usan para SSH. Uno de ellos es proporcionado por el
ssh-askpass-gnomepaquete, que se instala por defecto, al menos en Ubuntu 15.10.fuente
Si está dispuesto a configurar
timestamp_timeoutal menos algo como0.02(1.2 segundos, diría que es tan seguro como0) en/etc/sudoers(necesario en su caso, pero con la configuración predeterminada o contimestamp_timeoutcualquier cosa, pero0uno puede hacer lo siguiente) , puede establecer un alias como este~/.bashrc, que no requerirá que recuerde hacer algo antes de ejecutar el comando y que le permitirá mantener el control del proceso .:El truco aquí es el punto y coma, que hará que Bash analice
sudo -vprimero y por separado, autenticando al usuario, y limitará la parte de fondo potencial al[ $? ] && sudocomando, que verificará sisudo -vfue exitoso y se ejecutarásudonuevamente (potencialmente en segundo plano) en caso de que lo fuera.fuente
sudo -vExtiende el almacenamiento en caché de credenciales incluso si el almacenamiento en caché está desactivado? Y, IIRC <para expandir los alias, el espacio debe estar al final del comando, no al principio.timestamp_timeoutpuesto a0. Y sí, me equivoqué por completo con la expansión del alias, en realidad el alias no debería expandirse. Gracias.alias sudo='sudo -v && sudo'sería tan bueno?;Bash analizasudo -vprimero y por separado; el uso de&&Bash analizaría tanto como un solo comando y el fondo de forma inmediata.No puedes El
&envía el comando al fondo de inmediato. Es decir, se crea una subshell en segundo plano y el comando se ejecuta allí. Cuando ese comando emite un mensaje, como es el casosudo, el mensaje se muestra en segundo plano y nunca lo ve.La única forma de evitarlo es devolver el comando al primer plano, proporcionar la contraseña y enviarla de nuevo al fondo. Por ejemplo:
Ahora, ingrese su contraseña, presione Entery luego presione CtrlZpara enviarla de nuevo al fondo y
bgdecirle que continúe ejecutándose.Un enfoque más simple sería nunca usar
&y, en su lugar, enviar trabajos al fondo manualmente con CtrlZybgdespués de iniciarlos.Finalmente, es posible que desee considerar configurar el tiempo de espera de la contraseña de sudo en algo como 1 o 2 segundos. Eso aún le daría suficiente seguridad (a menos que esté tratando de protegerse contra Flash) y le permita ejecutar comandos como ese como se esperaba.
fuente
man sudoersdicetimestamp_timeoutdebe especificar minutos con una posible parte fraccionaria (que por cierto genera unsudoerror si intento especificar uno, no estoy seguro de por qué).2.5funciona bien aquí (Arch,sudoversión 1.8.15).