Abrir elink desde firefox: Asociar protocolo ed2k al amule

Para que al pulsar en los elinks y que se abran los enlaces en nuestro amule debemos hacer lo siguiente:
1) Abrir el Firefox

2) En la barra de direcciones escribimos about:config

3) Pulsamos el botón derecho del ratón, y a continuación Nuevo/Lógico. En nombre de la preferencia ponemos network.protocol-handler.external.ed2k y en el valor de true.

3) Pulsamos de nuevo el botón derecho del ratón, y a continuación Nuevo/Cadena Como nombre escribimos network.protocol-handler.app.ed2k y en el valor /usr/bin/ed2k.

Recuperar ventana desaparecida

Recientemente me desapareció la ventana LOG en el Jdeveloper. Para poder recuperarla:
1) Cerrar JDeveloper
2) Hacer una copia de seguridad y borrar el archivo windowinglayout.xml. El archivo está en el hombe del jdev, no en su directorio de instalación. El directorio en mi SUSE era /home/usuario/jdevhome/system/oracle.ide.10.1.3.40.66. El número de la versión cambiará según la que tengas instalado
3) Abrir JDeveloper. Hacer click en View -> El nombre de la ventana perdida
4) En el proceso se habrá generado un nuevo windowinglayout.xml.

Password will be truncated to 8 characters

Recientemente al acceder por sftp a una maquina me apareció un mensaje indicándome que tenia la contraseña caducada. Al cambiar la contraseña apareció esto:
Password will be truncated to 8 characters

Para solucionar el problema, y que nuestro sistema nos permita password de más de ocho carácteres debemos:
1) editar el fichero
/etc/login.defs
2) añadimos dos lineas:
PASS_MAX_LEN 20
PASS_MIN_LEN 5

con esto controlamos la longitud permitida de las contraseñas, tanto la máxima como la mínima

Cómo redireccionar STDOUT y STDERR a archivos

Con el siguiente comando:

(./comando | tee stdout.txt) 3>&1 1>&2 2>&3 | tee stderr.txt

-
- Direccionamos la salida estándar STDOUT al archivo stdout.txt
- Direccionamos la salida de errores STDERR al archivo stderr.txt
- Se siguen mostrando por consola tanto los errores como los mensajes estándar

Bloquear ataques por fuerza bruta en nuestro servidor SSH

Si hemos configurado nuestro sevidor SSH y echamos un ojo a los mensajes de seguridad en SUSE:
tail -n100 /var/log/messages
o bien
grep sshd /var/log/messages
Veremos que hay muchos ataque por fuerza bruta a nuestro servidor. Podemos tomar varias medidas para solucionar el problema:

1) Cambiar nuestra configuración del servidor SSHD a través del fichero /etc/ssh/sshd_config . Algunos parámetros podrían ser:

a)
PermitRootLogin no <-- evitamos el acceso usando el usuario root, esto es casi obligatorio en cualquier sistema

b) PasswordAuthentication no <- no se permite el acceso a través de password, tendríamos que utilizar ssh keys, lo cual puede resultar un poco engorroso si tenemos muchos usuarios

c)Port 2221 <- cambiamos el puerto de escucha del SSHD, es una medida bastante sencilla y evitará muchos ataques, el único inconveniente es que todos los usuarios deben saber cual es el nuevo puerto. Esta medida previene de ataques fortuitos a nuestro sistema, es decir, si escanean nuestra red buscando equipos con el puerto 22 abierto no apareceremos. Un análisis a fondo de nuestro equipo revelará al atacante que estamos ejecutando un servidor ssh, y podría realizar a continuación un ataque por fuerza bruta.

d)Otra medida para proteger en parte nuestro sistema es utilizar el script denyhost (http://denyhosts.sourceforge.net/). Dicho script realiza dos tareas sencillas: 1) monitorizar nuestro fichero de mensajes (/var/log/messages) 2) cuando encuentra intento de accesos por fuerza bruta dsde una determinada ip, la añade al fichero /etc/hosts.deny

De esta manera tras uno pocos intentos por fuerza bruta la ip atacante será bloqueada. Vamos a configurarlo para nuestro Suse 10.2:

1) Descargar los paquetes python-dev a través de YAST2

2) Descargar el script denyhost a través de http://denyhosts.sourceforge.net/ , en la sección download. Yo he descargado la versión DenyHosts-2.6.tar.gz

3) Descomprimir el archivo --> tar zxvf DenyHosts-#.#.#-tar.gz

4) Dentro del directorio y como root --> python setup.py install

5) Los archivos se instalan en /usr/share/denyhosts. Vamos al directorio --> cd /usr/share/denyhosts

6) Creamos el archivo de configuración mediante --> cp denyhosts.cfg-dist denyhosts.cfg .

7) En el archivo denyhosts.cfg hay que buscar la variable SECURE_LOG comentamos la de Redhat y descomentamos la de Suse --> SECURE_LOG = /var/log/messages.

8) Si vamos a usarlo como daemon debemos crear también el archivo del demonio --> cp daemon-control-dist daemon-control

9) Editamos el fichero daemon-control

10) buscamos la variable DENYHOSTS_BIN y cambiamos el valor a --> DENYHOSTS_BIN = "/usr/local/bin/denyhosts.py"
11) Cambiamos los permisos y el propietario del fichero daemon-control->
chown root daemon-control
chmod 700 daemon-control

12) Para arrancar el demonio manualmente --> ./daemon-control start

13) Para arrancarlo al inicio del sistema:

ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts <--crea un enlace en init.d chkconfig --add denyhosts <--crea entradas en rc2.d, rc3.d y rc5.d

14)si deseamos permitir algún host siempre, debemos añadirlo a hosts.allow, por ejemplo el localhost:
sshd:localhost

Instalación suse 10.2

En la instalación de Suse 10.2 me salía un mensaje de error:

"could not find the CD drive with the install CD"

Ésto es debido a un problema con mi chipset intel 875 y suse 10.2

Para solucionarlo antes de empezar la instalación, en la pantalla azul donde nos da las opciones
-- boot from Hard disk
-- install
...etc

en la parte inferior podemos personalizar los comandos de instalación/arranque, únicamente con añadir
insmod = ide-generic nos detectará correctamente el dvd.

Cómo conocer versión de Suse y del kernel

Ejecuta el comando

--> uname -a

Para obtener la información sobre la versión del kernel, la fecha, nombre de la máquina ...

Con el comando:
--> cat /etc/SuSE-release

obtenemos la version de SUSE instalada

Cambiar el SGA_MAX_SIZE

Este parámetro ( SGA_MAX_SIZE) se puede modificar cambiando su valor en el init.ora.
También podemos modificarlo mediante sql, pero no cuando la base de datos esté en línea:

1) parar la base de datos:
--> shutdown immediate;

2) Arancarla sin montar
--> startup nomount;

3) cambiar el tamaño:
alter system set sga_max_size=2G scope=spfile;

4) es necesario parar y reiniciar la BD para que el cambio sea efectivo:
--> shutdown immediate;
--> startup;

Otro parámetro interesante es el SGA_TARGET, su valor siempre será inferior al SGA_MAX_SIZE. Éste sí se puede modificar con la base de datos en línea.

Modos de operación de Oracle 10g

Habitualmente para arrancar la base de datos totalmente utilizaremos directamente el comando:

--> startup

Hay tres fases de arraque opcionalmente podemos usar startup más un comando. Queda explicado a continuación

1) Fase de no montaje: se leen los parámetros del sistema, se inician las estructuras de memoria y los procesos de segundo plano. La instancia se arranca pero SIN asociarla a la base de datos. Normalmente se utiliza cuando se modifica o se necesita crear el archivo de control:

--> startup nomount ;

2) Fase de montaje: se asocia la instancia con la base de datos. Se usa el archivo de parámetros para localizar los archivos de control, que contienen el nombre de los archivos de datos y los registros rehacer. Los archivos de datos y los registros de rehacer no están abiertos, así que no son accesibles por usuarios finales para tareas normales. Se utiliza este modo para realizar algunas tareas de mantenimiento

dos comandos
--> startup mount ;
o
--> alter database mount ;


3) Fase apertura: se abren los archivos de datos y los registros rehacer. La base de datos queda disponible para las operaciones normales. Es necesario que existan registros rehacer si no existen hay que usar el comando --> resetlogs, que crea unos registros nuevos.

dos comandos

--> startup open ;
o
--> alter database open ;

si necesitamos usar el resetlogs sería algo asi:

--> startup open resetlogs ;
o
--> alter database open resetlogs ;


Otras formas de abrir la base de datos:
a)Abrir la base de datos en modo de sólo lectura, para que no puedan realizarse ni inserciones, ni actualizaciones ni borrados:
--> alter database open read only ;

b)Abrir la base de datos en modo restringido. Sólo los usuarios con los dos privilegios create session y restricted session pueden usarla. Es una forma util de que sólo el DBA pueda usar la BD:
--> startup restrict ;

c) Se puede cambiar el estado de la base de datos de modo que solo los usuarios sys y system puedan hacer consultas, sin que tengamos que detener la base de datos y posteriormente usar startup restrict. Hay que habilitr la opción quiesce en el Database Resource Manager:
--> alter system quiesce restrict ;
--> altersystem unquiesce ;

d) Forzar el reinicio. Cuando oracle no se ha detenido apropiadamente y sea imposible reiniciarlo. Se ejecuta un shutdown abort y a continuzación un startup:
--> startup force ;
--> startup force

Cómo parar Oracle 10g

Para Parar la Base de Datos se utiliza el comando shutdown.

shutdown normal --> espera a que todos los usuarios se desconecten de la base de datos y todas las transacciones terminen. No es demasiado práctico ya que si algun usario olvido desconectarse la base de datos quedará a la espera de dicha desconexión para pararse. Deja la BD en un estado coherente.

shutdown immediate --> se cancelan todas las transacciones actuales y se desconecta a los usuarios. Tampoco se permiten nuevas transacciones Deja la BD en un estado coherente, y es una de las mejores formas de parar la base de datos.

shutdown transactional --> similar a la immediate, pero permite que se terminen las transacciones en curso.

shutdown abort --> es la forma más dura de parar la base de datos. Todas las transacciones se terminan inmediatamente, sin que sean confirmadas o canceladas, y todos los usuarios son desconectados. Sólo se debe usar si se tienen problemas para detener la base de datos.

Dejar de usar shared_servers

Al parecer cuando una instancia de oracle esta marcada como shared server no utiliza todos los procesadores, y se limita sólo a uno. Aprovechar 1 CPU de 4 es un problema. Para conseguir que se utilicen todo hay que eliminar esto. Vamos por pasos

1) comprobamos las CPUS que tenemos:

SHOW PARAMETER cpu;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cpu_count integer 4
parallel_threads_per_cpu integer 2

2) Si usamos linux podemos usar algunos comandos para comprobar la carga de CPU del sistema. Dos de estos comandos son:

mpstat -P ALL 3 --> muestra la información de todos los procesadores, y actualiza cada 3 segundos

top --> muestra todos los procesos y el consumo de los recursos del sistema.

3) Podemos ver los parámetros usando:
show parameter shared_servers
show parameter servers

mostrará todos los parámetros que contengan la cadena de texto. Si está fijado a 1 el parámetro shared_servers es que la instancia esta en modo shared.

4) Para cambiar el parámetro tendremos que utilizar

alter system set shared_servers = 0;

Al fijar este parámetro ningún cliente podrá conectarse en modo shared, sin embargo puede que haya todavía algunas conexiones en modo shared. Si los parámetros SHARED_SERVERS y MAX_SHARED_SERVERS los fijamos a 0, todos los servers se finalizaran y las peticiones de los restantes clientes se encolarán hasta que el valor de SHARED_SERVERS o MAX_SHARED_SERVERS se incrementen

5) para finalizar todos los dispatcher hay qe introducir:
ALTER SYSTEM SET DISPATCHERS = '';

6) podemos usar las vistas V$DISPATCHER yV$SHARED_SERVER para comprobar si existen conexiones shared

select * from V$DISPATCHER;
select * from V$SHARED_SERVER;

Conocer Versión de Oracle

Para obtener la version concreta de oracle que usas:

select * from product_component_version

como system al menos.

Para conocer la version del sqlplus es de 32 o 64 bits

file $ORACLE_HOME/bin/sqlplus 

Para saber la versión:
sqlplus -H | grep Release


Inicio del BLog

empiezo el 01/03/2007