jueves, 25 de octubre de 2012

Un Poco de MySQL !!

Que es MySQL


Es un sistema administrativo relacional de bases de datos (RDBMS por sus siglas en ingles Relational Database Management System). Este tipo de bases de datos puede ejecutar desde acciones tan básicas, como insertar y borrar registros, actualizar información ó hacer consultas simples, hasta realizar tareas tan complejas como la aplicación lo requiera.



MySQL es un servidor multi-usuarios muy rápido y robusto de ejecución de instrucciones
en paralelo, es decir, que múltiples usuarios distribuidos a lo largo de una red local o Internet podrán ejecutar distintas tareas sobre las bases de datos localizadas en un
mismo servidor.


Utiliza el lenguaje SQL (Structured Query Language) que es el estándar de consulta a bases de datos a nivel mundial.


MySQL ha estado disponible desde 1996, pero su desarrollo data desde 1979 y ha ganado 3 años consecutivos el premio Linux Journal Reader’s Choice Award.





Ventajas:

-MySQL software es Open Source.

-Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento.

-Bajo costo en requerimientos para la elaboración de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema.

-Facilidad de configuración e instalación.

-Soporta gran variedad de Sistemas Operativos.

-Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que está.

-Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente apropiado para acceder bases de datos en Internet.

-El software MySQL usa la licencia GPL


Desventajas:

-Un gran porcentaje de las utilidades de MySQL no están documentadas.

-No es intuitivo, como otros programas (ACCESS).





Configuración de MySQL en Windows Server 2008 


Luego de que hayan instalado MySQL en sus equipos, a continuación procedemos a configurar lo necesario para crear nuestra base de datos, crear tablas, insertar información en dichas tablas, e igualmente como modificar datos.

Lo primero que debemos hacer es ir al inicio, y buscar la Terminal de MySQL que se nos ha instalado en nuestro ordenador.





-Ahora, nos aparecerá una ventana en negro pidiéndonos ingresar una contraseña.



-Luego de a ver ingresado la contraseña, digitaremos el comando SHOW DATABASES; (muy importante en cada comando o linea que digitamos, no se les olvide colocar al final punto y coma (;). Esta linea SHOW DATABASES; nos permite ver las bases de datos creadas en nuestro servidor MySQL.



-Luego digitamos USE personas; esto nos sirve para seleccionar la base de datos que vamos a configurar, ya luego de a ver seleccionado la base de datos miramos las tablas que estén creadas, para mirar las tablas digitamos SHOW TABLES;




-Ahora crearemos una tabla, siempre tengan en cuenta, que así se crea una tabla:

create table formulario (
-> nombre char(15), 
(char significa la cantidad de caracteres que se van a ingresar en la columna nombres)
-> apellidos char(15),
-> telefono char(10));

-Luego de a ver acabo de definir las columnas, para terminar y cerrar con la creacion de nuestra tabla colocamos ); siempre.




-Y verificamos con show tables; que si se haya creado nuestra tabla.




-Luego de a ver creado nuestra tabla, utilizamos DESCRIBE formulario; para ver que si se haya creado correctamente.




-Ahora ingresaremos datos en nuestra nueva tabla, siempre que vayamos a ingresar datos, siempre los ingresamos de esta manera:

en la linea values, significan los valores que vamos a ingresar de acuerdo al orden de las columnas como podemos ver en la imagen, al momento de ingresar dichos valores abrimos paréntesis y abrimos comillas para ingresar el valor que va a aparecer en dicha columna.

Ejemplo:




-Ahora, verificaremos que si se hayan ingresado los datos correctamente, con el siguiente comando podremos ver los datos ya ingresados en nuestra nueva tabla: select * from formulario;

en donde el asterisco, significa que queremos ver todo el contenido de dicha tabla, veamos:




-A continuación, miraremos como editar o actualizar un dato que hayamos ingresado mal, miremos en el siguiente ejemplo:

en donde set teléfono = "____", es el dato el cual queremos modificar y en donde where apellidos = "______" es un dato que va asociado con dicha información, mejor dicho, una guía para que sepa en que usuario por decirlo asi, en que usuario se a modificar.





-Listo, esto es lo básico que deben de saber sobre MySQL, espero les haya servido, que Dios los Bendiga !!

Un Poco de Scripts !!

Un Poco de Scripts

-Un Script es un archivo ejecutable con una serie de ordenes que serán ejecutadas secuencial mente por un programa interprete, que en este caso sera la shell o interprete de comandos entre el usuario y el S.O, por lo general se almacena en un archivo de texto plano. El uso habitual de estos Scripts es interactuar con el usuario o el sistema operativo.

-Aunque en entornos UNIX la mayoría de los guiones son identificados por dicho encabezamiento, también pueden ser identificados a través de la extensión ".sh", siendo ésta quizá menos importante que el encabezamiento, ya que casi todos los sistemas no necesitan dicha extensión para ejecutar el guion, por lo tanto, esta suele ser añadida por tradición, o más bien, es útil para que el usuario pueda identificar estos archivos a través de una interfaz de línea de comandos sin necesidad de abrirlo.





-Si Quieren ver ejemplos de scripts aca tengo unos los cuales implementarlos creando un archivo en la shell de linux y ejecutandolos para que vean dicho funcionamiento.



1) Script para listar el contenido de nuestro directorio personal y envía toda esa información a un nuevo script llamado script2:


#!/bin/bash
###1er Ejercicio

echo "Bueno es el primer intento"
ls -R  /home
ls -R  /home >> /home/script2




2) Script que me indica en que carpeta me encuentro actualmente:


#!/bin/bash
###2do ejercicio

var1=/home/elkin
echo "Hola nuestro directorio personal es $HOME y actualmente estoy en $PWD"



3) Script para ver el contenido en el directorio donde estamos actualmente:


#!/bin/bash
###3er Ejercicio

echo `ls`



4) Script para sumar el numero 1 con un numero cualquiera, en este caso el numero 6:


#!/bin/bash
###4to Ejercicio

N=6
echo "'1+$N'=$((1+$N))"




5) Script para mostrarme la ruta de una carpeta estando en mi directorio personal:


#!/bin/bash
###5to ejercicio

PATH=/opt/bin
echo "Mostrame la ruta ahi de buena de $PATH"



6) Script para crear 50 usuarios, utilizando un bucle llamado for:


#!/bin/bash
###6to Ejercicio

for n in {0..50..1}
do
echo "creando usuario user$n"
adduser  user$n
mkdir /home/user$n/tareas/
touch /home/user$n/tareas/utilidades
done


6.1) Script que elimina los 50 usuarios creados anteriormente, hasta con sus directorios personales:

#!/bin/bash

for n in {0..50..1}
do
echo "eliminando los usuarios user$n"
deluser  user$n
rm -R /home/user$n/
done



7) Script de una calculadora, utilizando el si(fi) entonces(then), de modo que ingresemos un numero, el signo a utilizar, ingresamos el segundo numero y obtenemos nuestro resultado:

#!/bin/sh
###7mo Ejercicio

echo "ingrese un numero"
read valor1
echo "ingrese el signo"
read signo
echo "ingrese otro numero"
read valor2


if [ $signo = "+" ]
then
echo "el resultado es"
expr $valor1 $signo $valor2
fi

if [ $signo = "-" ]
then
echo "el resultado es"
expr $valor1 $signo $valor2
fi

if [ $signo = "x" ]
then 
echo "el resultado es"
expr $valor1 \* $valor2
fi

if [ $signo = "%" ]
then
echo "el resultado es"
expr $valor1 $signo $valor2
fi



8) Script que me muestra un mensaje cada 5 segundos en las otras shell de linux:

#!/bin/bash
###8vo Ejercicio

i="0"
while [ $i -lt 4 ]
do

echo "Abstenganse de hacer mal uso de los recursos, esta siendo siendo observado" > /dev/tty1
date > /dev/tty1
cal > /dev/tty1

echo "Abstenganse de hacer mal uso de los recursos, esta siendo siendo observado" > /dev/tty2
date > /dev/tty2
cal > /dev/tty2

echo "Abstenganse de hacer mal uso de los recursos, esta siendo siendo observado" > /dev/tty3
date > /dev/tty3
cal > /dev/tty3

echo "Abstenganse de hacer mal uso de los recursos, esta siendo siendo observado" > /dev/tty4
date > /dev/tty4
cal > /dev/tty4

echo "Abstenganse de hacer mal uso de los recursos, esta siendo siendo observado" > /dev/tty5
date > /dev/tty5
cal > /dev/tty5

echo "Abstenganse de hacer mal uso de los recursos, esta siendo siendo observado" > /dev/tty6
date > /dev/tty6
cal > /dev/tty6

sleep 5
sh script8
done



lunes, 8 de octubre de 2012

Samba y DFS !!

Que es Samba?
Es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX
De esta forma, es posible que ordenadores con GNU/LinuxMac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.

Entre los sistemas tipo Unix en los que se puede ejecutar Samba, están las distribuciones GNU/Linux, Solaris y las diferentes variantes BSD entre las que podemos encontrar el Mac OS X Server de Apple.

Cual es el archivo de configuracion para el Servidor Samba?
El Archivo de configuración para el servidor Samba esta ubicado en /etc/samba/smb.conf
Alli configuraremos las siguientes lineas:
Security =
En esta linea describimos el metodo de acceso para el servidor Samba.
Hay 4 opciones para configurar el security qeu son :






Al final del archivo es donde especificamos cual va ser el archivo y las carpetas vamos a compartir entre los S.O  y que opciones pueden tener los clientes.






Ahora iniciamos servicio.



Ahora en nuestra maquina windows XP introduciremos la direccion IP en el navegador.




Ahora ya estando adentro observamos sus carpetas y archivos dentro de el.



























DFS

Que es DFS?


Es un Sistema de archivos distribuido (DFS) es un conjunto de servicios al cliente y de servidor que permiten a una organización que utiliza los servidores de Microsoft Windows para organizar muchas acciones distribuidos de archivos SMB en un sistema de archivos distribuido. 
DFS proporciona transparencia de ubicación y redundancia para mejorar la disponibilidad de los datos en la cara de la insuficiencia o carga pesada, permitiendo acciones en múltiples ubicaciones diferentes para ser lógicamente agruparse en una carpeta o raíz DFS.
DFS de Microsoft se denomina indistintamente como "DFS" y "DFS" por Microsoft y no está relacionada con el Sistema de archivos distribuido DCE, que celebró el "DFS" marca , pero se interrumpió en 2005.
También se conoce como "MS-DFS" o "MSDFS" en algunos contextos, por ejemplo, en el proyecto Samba espacio de usuario.

No hay obligación de utilizar los dos componentes de DFS junto, es perfectamente posible utilizar el componente de espacio de nombres lógico sin necesidad de utilizar la replicación DFS archivo, y es perfectamente posible utilizar la replicación de archivos entre servidores sin combinarlos en un espacio de nombres.
A raíz DFS sólo puede existir en una versión de servidor de Windows (desde Windows NT 4.0 y superiores) y OpenSolaris (en el espacio del núcleo ) o un equipo que ejecuta Samba (en el espacio de usuario .) Las ediciones Enterprise y centros de datos de Windows Server puede alojar múltiples raíces DFS en el mismo servidor. OpenSolaris tiene la intención de apoyar a múltiples raíces DFS en "un proyecto de futuro basado en Active Directory (AD) basados ​​en dominio espacios de nombres DFS". 
Hay dos formas de implementar DFS en un servidor:
  • Espacio de nombres DFS independiente para permitir una raíz DFS que sólo existe en el equipo local, y por lo tanto no utilizaActive Directory . A DFS independientes sólo se puede acceder en el equipo en el que se creó. No ofrece ninguna tolerancia a fallos y no se puede vincular a cualquier DFS otros. Esta es la única opción disponible en sistemas Windows NT Server 4.0. Raíces DFS independientes se encuentran raramente debido a su utilidad limitada.

  • Basado en el dominio espacio de nombres DFS almacena la configuración de DFS en Active Directory, la raíz del espacio de nombres DFS es accesible a \ \ dominio \ <dfsroot> o \ \ fq.domain.name \ <dfsroot>. Las raíces de espacio de nombres no tiene que residir en los controladores de dominio, pueden residir en los servidores miembro, si los controladores de dominio no se utilizan como los servidores raíz de espacio de nombres, y luego de varios servidores miembros deberían utilizarse para proporcionar tolerancia a fallos.




Espacios de nombres DFS
Acciones de archivos tradicionales, asociados a un único servidor, tienen sendas pequeñas y medianas empresas de la forma \ \ <SERVIDOR> \ <ruta \ <subpath>. Basadas en el dominio DFS caminos compartidos de archivos se distinguen por el uso del nombre de dominio en lugar del nombre del servidor, en la forma \ \ <domain.name> \ <dfsroot> \ <ruta>.
 Cuando un usuario accede a una acción, ya sea directamente o mediante la asignación de una unidad, su equipo tendrá acceso a uno de los servidores vinculados con esta acción, siguiendo las reglas que se pueden configurar por el administrador de red.
 Por ejemplo, el comportamiento predeterminado es que los usuarios tendrán acceso al servidor más cercano a ellos, pero esto puede ser anulado a preferir un determinado servidor.
Si falla un servidor, el cliente puede seleccionar un servidor diferente de forma transparente para el usuario. Una advertencia importante con respecto a esta flexibilidad es que actualmente abiertos archivos potencialmente se convertirá en inutilizable, ya que los archivos abiertos no pueden ser no-over.


Conexion Samba y DFS

1.Ingresamos a nuestra maquina como root y observamos nuestra dirección IP.



2.Observamos las carpetas del servidor Samba y ingresamos al archivo de configuración.


3.Observamos la configuracion de el archivo del servidor Samba que esta ubicado en  /etc/samba/smb.conf .



4. Ingresamos los datos y configuracion de la informacion que vamos a compartir








 5.Observamos que la carpeta si exista y miramos los archivos que contiene.


 6.Observamos los permisos y dueños  de la carpeta y archivos dentro de esta la cual vamos a compartir.











 7.Ahora reinciamos el servicio del Servidor Samba.



8.Ahora ya teniendo nuestro servidor DFS instalado nos disponemos a configurar los espacios de nombres de el mismo con los respectivos permisos para cada usuario.












10.Ahora ingresamos a ver los archivos del servidor Samba que se encuentra en nuestra maquina de Debian  desde Windows Server.
.


11.Para ingresar a ver el contenido de las carpetas que esta compartiendo el servidor Samba especificamos su dirección Ip del  servidor para poder ver el contenido de sus carpetas compartidas.

12.Ahora ya ingresada la dirección Ip del servidor Samba nos muestra las carpetas que este esta compartiendo.





13. Ahora desde nuestro servidor especificamos los permisos que tendrán cada usuario que se podrá loggear para poder ver las carpetas compartidas.



14.Ahora le describimos al servidor que tipo de permisos NTFS tendrá cada usuario. 




15.Ahora ya realizado los cambios en el servidor reiniciamos servicio.


16.Ahora ingresamos por medio de uno de nuestros usuarios a nuestro servidor DFS desde Windows XP.