2009 julio

Recuperar password en Ubuntu

By | Linux, Ubuntu | 6 Comments

candadoMuchos me han consultado cómo recuperar la contraseña de Ubuntu para un usuario en caso de que se les haya olvidado. El caso es que una contraseña no puede ser recuperada, pero lo que si se puede hacer es generar una nueva, para ello, tendremos que seguir estos pasos.

Los pasos son sencillos

  • Enciende el ordenador y cuando aparezca el prompt del grub o lilo presionas la tecla ESC
  • Desplázate hasta la linea del kernel que uses (en caso de que sea más de uno) y presiona la tecla “e”
  • Sitúate al final de la linea y agrega rw init=/bin/bash
  • Presiona Enter y después b para reiniciar el sistema
  • Tu sistema iniciará con el usuario Root y sin contraseña
  • Para poner nueva contraseña tendrás que teclear: passwd tu_usuario
  • Escribe la contraseña y evita olvidarla
  • Reinicia el sistema

Ahora, lo que yo no entiendo es, si es tan fácil resetear una contraseña de administrador en un sistema Linux.. ¿para qué se utilizan? cualquiera podría resetear el sistema y acceder como administrador ¿no? supongo que en configuraciones con ordenadores al público o críticos este truco estará bloqueado por contraseñas en el boot loader.

Reinstalación de Roundcube

By | Linux | No Comments

Problema:

Queremos reinsalar Roundcube desde cPanel en un sistema que lo tiene implementado.

Basta con lanzar esta instrucción para que todo se estabilice.

/usr/local/cpanel/bin/update-roundcube --force

ソルサン。

Ayudanto a tunear /etc/my.cnf

By | Linux, Ubuntu | No Comments

Un pequeño script que, al ejecutarlo, nos ayudará con la información que nos da darle forma según los requerimientos y recursos que tengamos en una máquina.

tuning-primer.tar

# wget -c http://www.solusan.com/wp-content/2009/07/tuning-primer.tar.gz
# tar xzvf tuning-primer.sh.zip
# chmod +x tuning-primer.sh.zip && ./tuning-primer.sh.zip

ソルサン。

Programador de tareas en Ubuntu (cron)

By | Linux, Ubuntu | 2 Comments

En Ubuntu, cron es el “Administrador de tareas” en segundo plano (demonio) que ejecuta programas a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el archivo crontab.

Los usuarios habilitados para crear su archivo crontab se especifican en el archivo cron.allow. De manera análoga, los que no lo tienen permitido figuran en /etc/cron.d/cron.deny, o /etc/cron.deny, dependiendo de la versión de unix.

Cómo programar una tarea en crontab

Nada mejor que un ejemplo del archivo crontab

[email protected]:#crontab -e
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01  * * * * root nice -n 19 run-parts /etc/cron.hourly
50  0 * * * root nice -n 19 run-parts /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts /etc/cron.monthly

Para agregar, quitar o modificar tareas, hay que editar el crontab. Esto se hace con la orden crontab -e, que abrirá el editor definido en la variable de entorno EDITOR y cargará el archivo crontab correspondiente al usuario que está logueado.

Cada vez que se ejecuta el crontab, se envía un mail al usuario que aparece en la variable de entorno MAILTO, si está habilitado, indicándole la tarea realizada.

La sintaxis en sí…

El símbolo Numeral “#” es un comentario, todo lo que se encuentre después de ese carácter no será ejecutado por cron. El momento de ejecución se especifica de acuerdo con la siguiente tabla:

Minutos: (0-59)
Horas: (0-23)
Días: (1-31)
Mes: (1-12)
Día de la semana: (0-6), siendo 1=Lunes, 2=Martes, … 6=sábado y 0=Domingo
Para especificar todos los valores posibles de una variable se utiliza un asterisco (*).
La última columna corresponde al path absoluto del binario o script que se quiere ejecutar.

Por ejemplo:

24 12 * * 1 /usr/bin/who >> /home/hola.txt
Ejecuta la orden who todos los lunes a las 12:24 y guarda la salida en el archivo hola.txt

Para especificar dos o más valores en cada variable, estas deben estar separadas por comas, siguiendo con el ejemplo anterior:

0,24 * * * 1 /usr/bin/who >> /home/hola.txt

Ejecuta la orden who todos los lunes cada media hora y guarda la salida en el archivo hola.txt

Si queremos que se ejecute cada 15 minutos sería:

0,15,30,45 * * * * /usr/bin/who >> /home/quien.tex
ó
*/15 * * * * /usr/bin/who >> /home/quien.tex
En este ejemplo veremos como pasarle mas de un comando al cron y de paso como puede programarse una descarga:

30 21 * * * cd /media/sda7/dexter/distributions/isos;wget http://hola.com/archivo_a_descargar.loquesea

Este otro es para programar el apagado de la PC. En este caso todos los sábados a las 9:30 pm.

30 21 * * 6 /sbin/shutdown -h now

Espero que les haya servido!!! A mi me sirvió para programarle a moodle correr el script necesario para que envíe los correos de los foros o información importante a los estudiantes.

Vía: http://skrdz.wordpress.com/2007/08/31/programador-de-tareas-en-ubuntu-cron/

Borrando congelados

By | Linux | 2 Comments

Una solución de mantener limpia la cola de exim, sobre todo cuando mueve cantidades ingentes de correo puede ser la inclusión en crontab de este pequeño script:

#!/bin/sh

/usr/sbin/exim -bpr | grep frozen | awk {'print $3'} | xargs /usr/sbin/exim -Mrm

Aunque a veces se nos quedan correos que están 'mal formados' para ello tira directamente del spool.

# cd /var/spool/exim/
# rm */message-id*

Tunning my.cnf

By | MySQL | No Comments

Un ejemplo más de los mil que puedes encontrar en la red para darle un poco de vitaminas a tu servidor MySQL.

[mysqld]
datadir=/var/lib/mysql
safe-show-database
old_passwords
back_log = 15
skip-innodb
max_connections = 200
key_buffer = 256M
myisam_sort_buffer_size = 128M
join_buffer_size = 1M
read_buffer_size = 16M
sort_buffer_size = 32M
table_cache = 2048
thread_cache_size = 784
wait_timeout = 15
connect_timeout = 10
tmp_table_size = 64M
max_heap_table_size = 64M
max_allowed_packet = 8M
max_connect_errors = 10
read_rnd_buffer_size = 524288
bulk_insert_buffer_size = 8M
query_cache_limit = 2M
query_cache_size = 712M
query_cache_type = 1
query_prealloc_size = 163840
query_alloc_block_size = 32768
default-storage-engine = MyISAM

[mysqld_safe]
# err-log=/var/log/mysqld.log
# pid-file=/var/lib/mysql/mysql.pid
open_files_limit = 8192

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 16M
write_buffer = 16M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

Para comprobar que no se te descalabra el server echa un vistazo con estás tres instrucciones:

ps aux | grep -c mysql
ps aux | grep -c httpd
free -m

Si no tira mucho o nada de SWAP es que vamos bien 😉

ps aux | grep -c mysql
94

ps aux | grep -c httpd
98

free -m
total used free shared buffers cached
Mem: 2020 1357 662 0 128 770
-/+ buffers/cache: 458 1562
Swap: 0 0 0

ソルサン。