¿Cómo ver en la terminal que tienes privilegios de sudo? (así que sabiendo que tengo estos privilegios, puedo escribir sudo -k
) ¡Sería mejor no agregar demasiada información al terminal también, solo una especie de alerta simple y pequeña!
EL TIEMPO RESTANTE ES IMPOSIBLE, ¿verdad?
Además, ¿cómo ver cuánto tiempo todavía tengo con esos privilegios en ese terminal específico? (así que puedo dejar que termine en lugar de escribir sudo -k
). Creo que el tiempo restante podría aparecer cada vez que presiono la tecla Enter.
EDITAR: Investigué más y descubrí que /var/lib/sudo/$USER/$nPts
(donde $ nPts es el terminal actual pts a partir de ps -p $$
) tiene su marca de tiempo actualizada cada vez que se emite un comando sudo, y solo es accesible si usa un comando sudo, por lo que el tiempo restante siempre será el configurado uno ...
PD: Alternativamente a eso, lo intenté alias sudo='sudo -k'
pero no me gusta tener que escribir la contraseña para cada comando ... Y también, esto alias sudos='sudo -k'
(o alias ssudo='sudo -k'
, bueno, si escribiste una línea larga, solo presiona Inicio y escribe 's') funciona si solo quiero emitir un comando escribiendo sudos
. Pero aún extraño saber cuándo tengo los privilegios normales de sudo para saber que necesito actuar ...
Respuestas:
[Todavía me gustaría saber si hay una mejor respuesta.]
Encontré una manera que funciona, y el mensaje se mantendrá en una sola línea:
Al final de su
~/.bashrc
agregar esto:EDITAR: descubrí que
sudo -n uptime
actualizará el tiempo de espera de sudo, por lo que cada vez que presione la tecla Intro, ese tiempo de sudo se actualizará ... Eso hace que conocer el tiempo restante sea inútil, ya que siempre será el configurado, por defecto a 15 minutos ... .y para encontrar el mejor formato de colores para su gusto, puede usar ScriptEchoColor con
--escapedchars
opciones como:para detener el parpadeo eliminar
\E[5m
como en\E[0m\E[93m\E[41m\E[1m SUDO \E[0m
fuente
Su terminal no tiene "privilegios de sudo", a menos que haga algo tonto como
sudo bash
¡NO HAGA ESTO!Todo lo que tiene que hacer para "tener privilegios normales de sudo" es abstenerse de escribir
sudo
delante del comando./usr/bin/id
Es una buena manera de ver quésudo
hace. Por ejemplo:La
sudo
página de manual dice "La política de sudoers almacena en caché las credenciales durante 15 minutos, a menos que se anule en sudoers (5)". Lo que esto significa es que, de manera predeterminada, si emite unsudo
comando (e ingresa su contraseña), luego espera 14.9 minutos antes de emitir un segundosudo
comando, no tendrá que ingresar su contraseña nuevamente. Si espera 15.1 minutos, deberá volver a ingresar la contraseña.sudo -k
simplemente expira el temporizador de 15 minutos inmediatamente. El único uso que puedo versudo -k
es si estás a punto de ceder tu terminal desbloqueado a alguien en quien no confíasUID 0
.fuente
sudo
delante del comando". Pero si quiero verificar las reglas de mi firewalliptables -L
, no funcionará a menos que escribasudo iptables -L
. Mi punto es, ¿cómo podemos evitar usar sudo?sudo -k
, estoy preocupado por los atacantes para poder acceder remotamente a mi máquina (Realmente no sé si pueden hacerlo de todos modos ...), o en caso dejo mi máquina abierta sin bloquearlo durante unos momentos ... bueno, El punto real es que: ¡Quiero hacerlo de esta manera! No me importa tener quesudo -k
volver a escribir mi contraseña más tarde tantas veces como sea necesario, ¡me siento bien cuando lo hago de esta manera! :)/bin/su
. ¿Seguro que quieres descartarlo? "Acceso remoto a mi máquina ..." y, supongo, hacerse cargo/proc/YourPID/fd/{0,1,2}
. No. Si se accede a su máquina de forma remota, Bad Guy tiene formas más fáciles de UID 0. Debe aumentar su Linux-foo antes de este nivel de preocupación.alias k=/usr/bin/sudo -k
, sustituir elsudo
comando con una función de alias o bash que envuelve la llamada a/usr/bin/sudo
con/usr/bin/touch $HOME/tmp/$$/sudotime
, y por último, añadir algo a imprimir $ {{time (ahora) - tiempo ($ HOME / tmp / $ $ / sudotime))) en su indicador de Bash. No es trivial, pero si te hará sentir bien, hazlo.sudo
con un alias a cualquier palabra aleatoria, aún podrían escribir en/usr/bin/sudo
lugar desudo
y todavía funcionaría como sudo :(. De todos modos, me gusta la idea ... Me pregunto si cambio el real/usr/bin/sudo
romperá algo más que todos mis guiones que lo usan ... incluso si lo hago, podrían, al leer los guiones, adivinar en qué se convirtió sudo ...