viernes, 28 de octubre de 2011

agregar servicio en windows 2003 server



Kit de software donde base lo que se pide

fuente

Crear un servicio de windows para cualquier ejecutable o script

Existen momentos, en los que podemos necesitar correr en el ordenador algún programa, script o programa como un servicio, de manera que sepamos que se ejecutara en cada reinicio del sistema.

Una de las formas mas fáciles para realizar esta tarea es usar los ejecutables INSTSRV.EXE y SRVANY.EXE que podemos encontrar en el kit de recursos de Windows 2000 o kit de recursos de Windows 2003/XP. - DESCARGAR -

La forma de utilizar estos programas es el siguiente:

  1. Una vez instalado el kit de recursos, buscaremos la ruta de instalación que por defecto es en "%programfiles%\Windows Resource Kits\Tools" en castellano y copiaremos desde esta ruta a el fichero instsrv.exe a %windir%\ y srvany.exe a c:\ con el fin de no tener que usar rutas muy largas.
  2. Necesitamos crear el servicio dando un nombre corto con el cual podremos acceder al servicio en caso que queramos hacerlo por consola de comandos, por ejemplo net stop nombre_de_nuestro_servicio . Para ello abrimos la consola de comandos en inicio | ejecutar y ponemos cmd, y en la ventana de consola de comandos que nos abre escribimos:

    - en caso de a ver realizado el paso 1
    c:\> instsrv nombre_de_nuestro_servicio c:\srvany.exe

    ó

    c:\>"%programfiles%\Windows Resource Kits\Tools\instsrv.exe" nombre_de_nuestro_servicio c:\>"%programfiles%\Windows Resource Kits\Tools\srvany.exe"

  3. Una vez echos estos pasos, abriremos services.msc para comprobar que se encuentra nuestro servicio creado con el nombre que le hemos dado.

    *Atención para usar el registro del sistema hay que tener sumo cuidado, realice siempre una copia de seguridad de su registro y aprenda antes a restaurarlo, ya que cualquier cambio indebido puede afectar a la estabilidad del sistema y a la perdida de datos en el mismo.

    Abrimos el registro tecleando en la consola de comandos cmd y nos desplazamos en el registro hasta la siguiente clave.
    [HKLM\System\CurrentControlSet\Services\Nombre_de_nuestro_servicio\]

  4. En ella creamos una clave con nombre Parameters y dentro siguientes valors:

    Valor Alfanumerico - Nombre: Application = ruta_de_nuestro_ejecutable --> tipo REG_SZ
    Valor Alfanumerico - Nombre: AppDir = ruta_de_trabajo_de_nuestro_programa --> tipo REG_SZ (Opcional)
    Valor Alfanumerico - Nombre: AppParameters = parámetros_necesarios --> Tipo REG_SZ (Opcional)

Por ejemplo si lo que queremos es poner un programa como servicio, que lo hemos copiado en c:\herramienta\backup.exe, tendríamos que poner:

c:\> instsrv Backup c:\srvany.exe
c:\>regedit
[HKLM\System\CurrentControlSet\Services\Backup\Parameters]
Application = c:\herramientas\backup.exe
AppDir = c:\herramientas

Si por el contrario, lo que queremos es poner como servicio un script por ejemplo en python que lo tenemos en c:\script\backup.py, tendríamos que poner:

c:\> instsrv Backup c:\srvany.exe
c:\>regedit
[HKLM\System\CurrentControlSet\Services\Backup\Parameters]
Application = c:\python25\python.exe
AppDir = c:\script
AppParameters = c:\script\backup.py

También podremos poner como servicio un proceso por lotes o también llamado batch, como por ejemplo c:\script\backup.bat, tendríamos que poner:

c:\> instsrv Backup c:\srvany.exe
c:\>regedit
[HKLM\System\CurrentControlSet\Services\Backup\Parameters]
Application = c:\script\backup.bat
AppDir = c:\script


ESTE FU MI EJEMPLO A PRODUCCIÓN QUE HIZE

C:\Archivos de programa\Windows Resource Kits\Tools>cd c:\Tools

C:\Tools>C:\Tools\instsrv.exe" "jboss-3-2-8-sp1" c:\Tools\srvany.exe

El nombre de archivo, directorio o etiqueta del volumen no es válido.


C:\Tools>C:\Tools\instsrv.exe "jboss-3-2-8-sp1" c:\Tools\srvany.exe

The service was successfuly added!

Make sure that you go into the Control Panel and use

the Services applet to change the Account Name and

Password that this newly installed service will use

for its Security Context.


Después abri el regedit como se menciona arriba

y agregue la carpeta

Parameters y dentro de esta las variables

Application y

AppDir

Me fui abrir los servicios lo inicie y lo detuve sin problemas



C:\Tools>C:\Tools\instsrv.exe "jbossDetener-3-2-8-sp1" c:\Tools\srvany.exe

The service was successfuly added!

Make sure that you go into the Control Panel and use

the Services applet to change the Account Name and

Password that this newly installed service will use

for its Security Context.

Este segundo no funciono por causa del script de bajado

se da debaja en forma manual shutdown.bat -S




viernes, 14 de octubre de 2011

archivo temporal de CRON en suse linux 10

Se encuentra hubicado en la ruta

/tmp/


En este archivo guarda lo que existia antes de editar y guardar nuevamente los cambios nuevamente en el cron


crontab.XXXXoYwoUe


al dar un "more" o "cat" al archivo crontab.XXXXoYwoUe se prodra visualizar lo que contenia antes del ultimo grabado

domingo, 9 de octubre de 2011

Activar auditoría de una base de datos oracle 10g

fuentes http://www.orasite.com/seguridad/activar-auditoria-de-una-base-de-datos


Se pretende mediante un sencillo ejemplo práctico para ver cómo se puede auditarlas conexiónes a una base de datos ORACLE o auditar los intentos de modificación a las tablas de un usuario.

Teniendo en cuenta que el parámetro que habilita la posibilidad de auditar la base de datos ORACLE en el init.ora es audit_trail que el comando sql que activa la auditoría sobre algo es AUDIT ( para desactivar NOAUDIT ) y que la tabla para mirar ( usuario sys ) el seguimiento de auditoría es dba_audit_trail vamos a realizar este sencillo ejemplo.

  1. Activar la auditoria de intento de conexiones fallidas para todos los usuarios.

    Miramos que actualmente no está activada la auditoria en la base de datos

    SQL> select name , value from v$parameter where name like ‘audit_trail’;

    audit_trail NONE

    Activamos la auditoría de la base de datos

    SQL> alter system set audit_trail = DB scope = spfile;

    Reiniciamos la base de datos ( shutdown immediate, startup ) y comprobamos que la auditoría se ha activado.

    SQL> select name , value from v$parameter where name like ‘audit_trail’;

    audit_trail DB

    Activamos la auditoría para ver la conexión y desconexión de los usuarios a la base de datos, se hace con la siguiente sentencia

    SQL> audit connect;

    SE REINICIA LA BASE DE DATOS

  2. Visualizar las tablas de auditoría para comprobar que se insertan datos cuando intentamos conectarnos sin lograrlo.

    En el apartado anterior hemos activado la auditoría para ver como se conectan los usuarios a la base de datos, vamos a realizar varias pruebas y mostrar dónde se puede comprobar que los usuarios se han conectado a la base de datos.

    Nos conectamos con varios usuarios a la base de datos ( en nuestro caso con system y el usuario user9 que está creado )

    SQL> connect user9/user9;

    SQL> connect system/system;

    Tras habernos conectado a la base de datos miramos la tabladba_audit_trail para ver que datos contiene.

    SQL> select username , action_name , priv_used , returncode from dba_audit_trail ;

    “SYSTEM” “LOGON” 1017

    “SYSTEM” “LOGON” 1017

    “USER9″ “LOGON” 1017

    “USER9″ “LOGON” “CREATE SESSION” 0

    “USER9″ “LOGON” 1017

    “USER9″ “LOGON” 1017

    Observarmos que en esta tabla se registran los intentos de conexión de los usuarios, por lo tanto podemos saber quien se ha conectado a la base de datos

  3. Activar la auditoria sobre la modificación de tablas del usuario Scott.

    Ahora vamos a activar la auditoría sobre la modificación de las tablas sobre el usuario Scott, de esta forma cualquier modificación realizada en una tabla que pertenezca a este usuario será registrada en las tablas y podremos ver quien ha realizado esa modifiación.

    SQL>audit insert,update on scott . bonus by access;

    SQL>audit insert,update on scott . emp by access;

    SQL>audit insert,update on scott .dept by access;

    SQL>audit insert,update on scott . salgrade by access;

    En este caso estamos auditando cada una de las tablas que pertenencen al usuario scott ( bonus, emp, dept, salgrade ) en caso de que alguien inserte algo en ellas o realice alguna actualización. ( si queremos auditar el borrado o la lectura de alguna fila, solo hay que añadir los permisos de select y delete detrás del comando audit).Al ponerlo by access se guardará un registro en la tabla de auditoría por cada intento de insert o update que se realice sobre cada una de las tablas nombradas. ( exite también el registro by session, en el cual se registra por sesión única el intento de insert o update sobre las tablas ).

    Miramos la tabla user_obj_audit_opts ( con el usuario scott )

    SQL>select * from user_obj_audit_opts;

    “BONUS” “TABLE” “-/-” “-/-” “-/-” “-/-” “-/-” “-/-” “A/A” “-/-” “-/-” “-/-” “A/A” “-/-” “-/-” “-/-” “-/-” “-/-”

    “DEPT” “TABLE” “-/-” “-/-” “-/-” “-/-” “-/-” “-/-” “A/A” “-/-” “-/-” “-/-” “A/A” “-/-” “-/-” “-/-” “-/-” “-/-”

    “EMP” “TABLE” “-/-” “-/-” “-/-” “-/-” “-/-” “-/-” “A/A” “-/-” “-/-” “-/-” “A/A” “-/-” “-/-” “-/-” “-/-” “-/-”

    “SALGRADE” “TABLE” “-/-” “-/-” “-/-” “-/-” “-/-” “-/-” “A/A” “-/-” “-/-” “-/-” “A/A” “-/-” “-/-” “-/-” “-/-” “-/-”

    Y observamos que es lo que estamos auditando del usuario scott, en este caso se vería que eta activada para cada una de las tablas la auditoría para update e insert.

    (A/A) –> activado / por acceso

    La prueba que se puede realizar es conectarse con otro usuario que tenga permisos de insert y update sobre estas tablas y realizar una serie de inserciones y actualizaciones en esas tablas. En este caso suponemos que un usuario, user9 que tiene permisos de inserción y actualización sobre las tablas del usuario scott ha realizado una serie de inserciones y actualizaciones sobre estas tablas. La forma de ver si las ha realizado o no ( teniendo activada la auditoría es la siguiente ).

    SQL>select * from sys . dba_audit_trail where ( action_name = ‘INSERT’ ) or ( action_name = ‘UPDATE’ ) ;

    El resultado es el siguiente:

    “ERIN-0S2WXM4BDG\Erin” “USER9″ “ERIN-0S2WXM4BDG” 19/04/2006 15:38:56 “SCOTT” “BONUS” 2 “INSERT” 267 2 47 0

    “ERIN-0S2WXM4BDG\Erin” “USER9″ “ERIN-0S2WXM4BDG” 19/04/2006 15:39:09 “SCOTT” “BONUS” 2 “INSERT” 267 3 50 0

    “ERIN-0S2WXM4BDG\Erin” “USER9″ “ERIN-0S2WXM4BDG” 19/04/2006 15:39:19 “SCOTT” “BONUS” 6 “UPDATE” 267 4 55 0

    Observamos que se han registrado los intentos de inserción y de modificación sobre la tabla BONU

martes, 4 de octubre de 2011

CAMBIAR TAMAÑO DE REDOLOG EN ORACLE 10G Y 11G

ESTOS PASOS SE APLICARON PARA VERSION DE BASE DE DATOS ORACLE 10 Y 11G

link en los que me base

http://nelsonjaviermartinezacosta.blogspot.com/2009/07/aumentar-tamano-redologs.html

http://eskernel.blogspot.com/2009/07/redolog-files.html

link para leer version 7.3.2

http://www.infor.uva.es/~jvegas/cursos/bd/orarq/orarq.html

--comando para ver la ruta donde estan los archivos redolog

select * from v$logfile;

/ruta_fisica_del_archivo/

--comando para ver sobre que redo log esta trabajando la base y ver el redolog INACTIVO que es el que se puede eliminar para volver a utilizar y redimenxionar y no agregar mas redolog

select group#, bytes, status from v$log

--comando para hacer un checkpoint y cambiar de redo log

alter system switch logfile;

--Se preparo las sentencias que se van a plicar en el momento adecuado dependiendo el el moento que este INACTIVO el redo log

alter database drop logfile group 1;

alter database add logfile group 1 ('/ruta_fisica_del_archivo/redo01.log') size 200m reuse;

alter database drop logfile group 2;

alter database add logfile group 2 ('/ruta_fisica_del_archivo/redo02.log') size 200m reuse;

alter database drop logfile group 3;

alter database add logfile group 3 ('/ruta_fisica_del_archivo/redo03.log') size 200m reuse;


$ sqlplus / as sysdba

SQL*Plus: Release 10.1.0.2.0 - Production on Mar Oct 4 03:24:25 2011

Copyright (c) 1982, 2004, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Release 10.1.0.2.0 - 64bit Production

SQL> select group#, bytes, status from v$log;

GROUP# BYTES STATUS

---------- ---------- ----------------

1 10485760 CURRENT

2 10485760 INACTIVE

3 10485760 INACTIVE

SQL> alter database drop logfile group 2;

Database altered.

SQL> alter database add logfile group 2 ('/ruta_fisica_del_archivo/redo02.log') size 200m reuse;

Database altered.


SQL> select group#, bytes, status from v$log;

GROUP# BYTES STATUS

---------- ---------- ----------------

1 10485760 CURRENT

2 209715200 UNUSED

3 10485760 INACTIVE


SQL> alter system switch logfile;

System altered.

SQL> select group#, bytes, status from v$log;

GROUP# BYTES STATUS

---------- ---------- ----------------

1 10485760 ACTIVE

2 209715200 CURRENT

3 10485760 INACTIVE

SQL> alter database drop logfile group 3;

Database altered.

SQL> alter database add logfile group 3 ('/ruta_fisica_del_archivo/redo03.log') size 200m reuse;

Database altered.

SQL> select group#, bytes, status from v$log;

GROUP# BYTES STATUS

---------- ---------- ----------------

1 10485760 ACTIVE

2 209715200 CURRENT

3 209715200 UNUSED

SQL> alter system switch logfile;

System altered.

SQL> select group#, bytes, status from v$log;

GROUP# BYTES STATUS

---------- ---------- ----------------

1 10485760 INACTIVE

2 209715200 ACTIVE

3 209715200 CURRENT

SQL> alter database drop logfile group 1;

Database altered.

SQL> alter database add logfile group 1 ('/ruta_fisica_del_archivo/redo01.log') size 200m reuse;

Database altered.

SQL> select group#, bytes, status from v$log;

GROUP# BYTES STATUS

---------- ---------- ----------------

1 209715200 UNUSED

2 209715200 ACTIVE

3 209715200 CURRENT


SQL> alter system switch logfile;

System altered.

SQL> select group#, bytes, status from v$log;

GROUP# BYTES STATUS

---------- ---------- ----------------

1 209715200 CURRENT

2 209715200 INACTIVE

3 209715200 ACTIVE