jueves, 8 de septiembre de 2011

Saber a qué paquete pertenece un fichero

Algunas veces hay ficheros con nombres curiosos, y uno se pregunta qué paquete debe haber instalado este fichero. Por ejemplo el fichero:

/usr/bin/pico

Yo me pregunto, ¿quién lo habrá puesto ahí?

Pues fácil:
$ sudo aptitude install dlocate -y
$ dlocate /usr/bin/pico
> perl: /usr/bin/piconv

Pues mira, ha sido el paquete "perl".

Esto también sirve para ficheros de configuración, así como carpetas del sistema. Todo lo que esté "trackeado" por dpkg, es suceptible de ser encontrado por dlocate.

Un saludo, Jan.

UPDATE: El comando "dpkg-query -S /usr/bin/see" también hace lo mismo.

"sudo su" sin espera ( nodelay )

Pues como hoy me he tirado 30 minutos buscando esta opción y considerando que hay poca información sobre ella ( y menos en castellano ), así va:

¡NODELAY en pam_unix.so!

[¿De qué va el tema?]
Pues se trata de optimización de tiempo y comodiad en la consola. Cuando ejecutamos un comando con "sudo", normalmente nos pide la contraseña ( a menos que lo hayamos desactivado ). Esto es la política de seguridad bastante recomendada, ya que si no cualquier persona te podria juankear el ordenador si lo dejas solo un momento sin bloquear.

[Total, dónde está el problema, entonces?]
Pues que si al ejectuar cualquier comando con sudo, te equivocas al picar tu password, te tienes que esperar 3 segundos para volverlo a picar. Y esto es un coñazo. Ejemplo:

inedit@tpad:~$ sudo echo 1
[sudo] password for inedit: foo
- espera de tres segundos -
Invalid password, please try again:
[sudo] password for inedit: bar
- espera otra vez de tres segundos -
....etc...

[HOWTO]
Total, que esta opción se puede desactivar a través de las PAM de linux del siguiente modo:

sudo vim /etc/pam.d/common-auth

Y modificar la lína donde pone:
auth [success=2 default=ignore] pam_unix.so nullok_secure>

Y cambiarla por:
auth [success=2 default=ignore] pam_unix.so nullok_secure nodelay

De este modo se desactiva totalmente el tiempo de espera entre logins. Cuando te equivoques al escribir tu password, automáticamente te volverá a preguntar la clave.

[Precaución]
Y uno se preguntará, ¿por qué puñetas no estaba desactivado esto ya? Pues por motivos de seguridad: previene que se lanzen ataques de fuerza bruta contra el PC, ya que el hecho de que te tengas que esperar 3 segundos tras cada intento fallido, limita mucho los ataques ( los hace inviables por la cantidad de tiempo que se necesita probar un número acceptable de claves ). Aplicando la regla anterior estamos quiando esta restricción. O sea que cuidadín en ejecutar algo así en una máquina de producción donde tenga SSH expuesto en Internet y demás. Quien avisa no es traidor.

[Nota final]
Como siempre, en un extremo tenemos seguridad, y en el otro tenemos comodidad. No podemos elegir ambos. Por lo que lo mejor es quedarse siempre en un punto medio.

Un saludo, Jan.

Posdata: Si alguien consigue sacar algo en claro sobre el fichero /etc/pam.d/login y su parámetro "pam_faildelayso delay=3000000", que por favor deje un comentario y así completamos la información. Yo no he sido capaz de ajustarlo a un segundo. Gracias de antemano.