lunes, 9 de marzo de 2015

Introducción a la programación en Shell

¿Que es una shell?

Shell es un interprete de comandos, permitiendo una comunicación directa entre el usuario y el ordenador.

Podemos utilizar distintos editores de texto para la creación de estos archivos.

Como por ejemplo el editor Vi -> http://linuxzone.es/how-tomanual-basico-de-uso-del-editor-vi/
y el Nano

Estos archivos tendrán un formato .sh y se ejecutarán mediante ./nombredelarchivo.sh

Todos los archivos .sh deberán contener en el inicio de pagina #! /bin/bash  para indicarle con que programa se ejecutara el script.

Variables

Las variables no pueden llamarse igual que las palabras reservadas por ejemplo:

!         case    do
done      elif    else
esac      fi      for
function  if      in
select    then    time
until     while   { 
}         [[      ]]

Comandos para visualizar ficheros: 
less
cat
more
..
Ejemplo : less /etc/passwd 
Tambien podemos utilizar filtros para agilizar busquedas del contenido en los ficheros utilizando el comando PIPE.

less /etc/passwd | root
Mostrar la información referente al usuario root.
head/tail
Mostrarán el principio(cabeza) o el final (cola) de un archivo
head /etc/passwd 
tail /etc/passwd  




LDAP

LDAP ( Protocolo Liger de Acceso)

Es un protocolo que trabaja en el nivel de aplicación, y permite el acceso organizado y compartido de directorios en un entorno de red. LDAP también se puede considerar una base de datos debido a que es capaz de almacenar información referente a usuarios (login y contraseñas) que serán necesarias para autentificarse en los equipos y para poder disfrutar de los servicios disponibles en el equipo.

OpenLDAP

Es una implementación libre del protocolo LDAP que tiene su propia licencia y  que soporta múltiples esquemas, por lo que permite la conexión con cualquier otro LDAP. También es un protocolo multiplataforma.

OpenLdap tiene cuatro comonentes principales


  • slapd - Demonio LDAP principal
  • Slurpd - demonio de replicación de actualizaciones Ldap autónomo
  • Rutinas de bibliotecas de soporte del protocolo DAP
  • Utilidades, herramientas y clientes. 
Instalación y configuración


apt-get install slapd ldap-utils
service slapd start| stop| restart 


Reiniciar el servicio

service lapd restart

Ruta del sistema

/etc/ldap

Para el manejo de usuarios deberemos instalar las plantillas:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif

En el cual podemos definir :

Base del directorio: parámetro olcSuffix. dc=majada,dc=com

 Nombre de usuario administrador: parámetro olcRootDN . cn=admin,dc=majada,dc=com

 Contraseña: parámetro olcRootPW. ldapadmin

Permiso de acceso a contraseñas: parámetro olcAccess: to attrs=userPassword. administrador permiso de escritura y a cada usuario para cambiar su propia contraseña

 Permiso de acceso global al directorio: parámetro olcAccess:to *. Daremos al usuario administrador permiso de escritura y a todos los usuarios, permisos de lectura


Herramientas y utilidades


  • Cliente 


ldapmodify : modificar entradas de un directorio
ldapadd : añade entradas al directorio
ldapsearch : busca entradas en el directorio
ldapdelete : elimina entradas en el directorio


  • Servidor 


slapadd : añadir entradas desde un fichero ldif.
slapcat : extraer de una base de datos en formato ldfi.
slapindex : regeneración de indices.
slappaswd : genera una contraseña de unsuario.


También contamos con herramientas gráficas como por ejemplo:

lat: LDAP admin tool
phpldapAdmin: Entorno web
JXplorer.














































Configuracion de la Red

Para una correcta configuracion de un dominio debemos configurar con una configuracion básica en nuestro servidor, como por ejemplo

Deberemos contar con:
Un servidor DCHP
Un servidor DNS
Y un Firewall

Se pueden instalar tanto fuera como dentro de nuestro servidor.

Para comprobar toda  nuestra información de red, podemos ejecutar el comando ifconfig -a
El fichero de configuración lo podemos encontrar en la ruta /etc/network/interfaces

Este fichero nos permite indicar de forma manual los datos de red.

Ejemplo del fichero :

lo auto
iface eth0 inet static
address 192.168.1.150
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
broadcast 192.168.1.255


Para reiniciar la interfaz de red ejecutamos el comando ifdown/ifup (interfaz de red)
Por ejemplo ifdown eth0
Y para levantar lo ifup eth0
Esto actualizará y/o renovará nuestra información de red.

También podemos reiniciar el servicio de red con el comando.
/etc/init.d/networking restart | stop | start




Servidor cups

¿Que es el servidor Cups?

Es un sistema de impresión comunitario para sistemas Linux, permitiendo que un equipo actué como servidor de Impresión aceptando peticiones de clientes  y gestionarlo de manera adecuada.

Instalación

apt-get install cups
apt-get install cups-common
apt-get install cups-client

Cups, almacena la cola de impresión en el fichero /var/spool/cups el cual almacena dos ficheros, uno relacionado al fichero de impresión y otro fichero al usuario que lo ejecuta.
También se encarga de transformar los archivos a un formato que el sistema los pueda leer.
Y una vez finalizada la impresión el planificador elimina los archivos de la cola de impresión.

Archivo de Configuracion Cups

Podemos encontrar el archivo de configuración en la ruta /etc/cups/cups.conf. La sintaxis del fichero es similar a la del servidor Apache.
Podemos encontrar parametros como:

Longlevel: Establece el tipo de información que se almacenara en los logs.
Listen: El puerto en el que se mantendrá escuchando cups. (631 por defecto).
Browsing: Muestra o no, las impresoras disponibles en la red.
Maxclients: especifica el numero de clientes que podrán hacer uso de forma simultanea.
Allow From: Indica que clientes tendrán acceso (IP,Nombre_usuario, ALL (Todos).

Fichero /etc/cups/printers.conf almacena la cola de impresion de las impresoras configuradas en nuestro equipo.
Permite realizar configuraciones como:
Accepting: Yes o No, dependiendo si queremos que nuestra impresora acepte trabajos o no.
Allowuser: Permite definir a que usuarios se les permitirá  acceso al servicio.
DenyUser: Define a que usuarios se les negará el servicio.
Shared: Indica si la impresora se comparte en red.

Con el comando lpoptions Podemos mostrar o especificar opciones de una impresora.
Con el comando lpadmin podemos configurar impresoras y clases.

Tambien podemos realizar todo tipo de configuraciones mediante una interfaz web haciendo uso de nuestro numero de IP del servidor de impresion e indicando el puerto:
Ej: 192.168.1.0/24:631







domingo, 1 de marzo de 2015

ADD_UT10_AB1 Samba

ADD_UT10_AB1 Samba


Existen dos métodos para compartir archivos:


  1. Mediante Samba 
  2. NTFS 


Samba : Sirve para compartir directorios y subdirectorios  con Windows y otros equipos pertenecientes a nuestra red y de diferentes sistemas Operativos.
Cada sistema mostrara las carpetas como si se encontrarán de forma local, siendo de mucha ayuda para el usuario.

 Niveles de Seguridad:

  • Seguridad orientada a los recursos
  • Seguridad orientada a los usuarios 


Método de instalación:  apt-get install samba (debian).

Solo podrán usar este método los usuarios dados de alta. Es decir, no todos los usuarios tienen este privilegio.

Para dar de alta a un usuario ejecutamos :
       smbpasswd -opcion usuario

Para dar de baja a un usuario ejecutamos:
       smbpasswd -x usuario

Para ver los usuarios dados de alta en el sistema ejecutamos
     pdbedit -w -L

Fichero de configuración:

   /etc/smb.conf

Tambien tenemos otro método para compartir carpetas entre sí utilizando NFS permitiendo centralizar la administración de discos.

 NFS (Network File System - Sistema de Archivos en Red):

Es el sistema nativo utilizado por linux para compartir carpetas en una red

Instalación del servicio:

    apt-get install nfs-kernel-server nfs-common portmap

Para iniciar el servicio:
     service nfs-kernel service start

Principales características


  • Transparencia de acceso
  • Transparencia de ubicación
  • Transparencia ante falla 
El archivo /etc/exports contiene el listado de los sistemas de Archivos que son exportados a otras maquinas.