Sistema cups
Es un sistema de impresión para S.O de tipo Unix que permite a un equipo actuar como servidor de impresión.Un equipo cliente podrá enviar tareas de impresión a este servidor el cual se encargará de gestionarlas para satisfacer las necesidades del cliente.
En cups,la información es enviada a un planificador o spooler, desde ahí, el trabajo se envía a un sistema de filtros que convierten el trabajo a un formato que entiende la impresora y, finalmente, se envían los datos a un backend el cual se trata de un filtro especial que envía los dato traducidos al formato que entiende la impresora, a un periférico que será el encargado de la impresión en sí.
El fichero de configuración principal es
/etc/cups/cupsd.conf
Algunos parámetros son:
LogLevel:Establece el tipo de información que aparecerá en los logs
Listen:Especifica el puerto en el cual atenderá peticiones el servicio cups.Por defecto utiliza el puerto escucha en localhost:631
Browsing:Muestra o no las impresoras disponibles dentro de la red.Por defecto su valor es On.
Maxclients:Especifica el número máximo de clientes que puede atender el servidor de manera simultánea
Allow From:Específica a quien permite el acceso a la zona declarada.Si asignamos All,cualquiera podrá entrar.También podemos especificar la ip o el nombre de equipo de quien queramos que acceda.
Este fichero contiene la lista de las colas de impresión que están configuradas en el equipo
/etc/cups/printers.conf
Algunas opciones que se le pueden pasar son:
Accepting:Se le puede asignar el valor yes o no dependiendo de si queremos que la impresora en cuestión acepte nuevos trabajos o no.
AllowUser:Especifica la lista de usuarios a los que se les permitirá utilizar la impresora
DenyUser:Especifica la lista de usuarios a los que se les denegará el uso de la impresora en cuestión
Shared:Especifica si la impresora se comparte en la red o o dependiendo de si se le asigna el valor yes o no respectivamente
Mediante este comando podemos generar nuevos trabajos de impresión
lp
Algunos de los parámetros son:
-u:Especifica el usuario conel cual se conectará al servidor de impresión
-d:Especifica la impresora a la que se mandarán los trabajos de impresión
-i:Especifica el job-id de un trabajo ya existente para modificar algunas de sus opciones
-n:Número de copias que queremos que nos saque del trabajo o trabajos
-t:Asigna un nombre al trabajo
Algunas de las opciones que se le pueden pasar son:
-o media=tamaño:Se le asigna el tamaño de página
-o cpi=N: En N especifica el número de caracteres a imprimir por pulgada.Por defecto son 10
-o scaling=número:Escala los archivos de imagen de tal forma que los ajusta al porcentaje de la página especificado en número para que se impriman en una sola hoja o en varias
Para cancelar la impresión
cancel
Los parámetros que se le pueden pasar son:
-E:Fuerza que la comunicación con el servidor se realice encriptada
-U:Especifica el usuario con el que conectarse con el servidor
-a: Cancela todos los trabajos en el destino seleccionado o todos los trabajos en todos los destinos si no se le pasa ninguno
-h:Elije un servidor alternativo
-u:Cancela los trabajos cuyo propietario sea el usuairo especificado
Para mostrar información sobre los trabajaos enviados a una cola de impresión entre otras cosas se utiliza el comando
lpstat
Algunos parámetros que se le pueden pasar son:
-l:Muestra un istado de impresoras ,clases y trabajos
-p:Muestra las impresoras y si tienen o no habilitadas la impresión.Si no se especifica ninguna impresora se muestra todas
-r:Muestra si el servicio cups está corriendo o no
-u:Muestra una lista de trabajos de impresión ordenadas por el nmbre de usuario.
-d:Muestra la cola de impresiñon por defecto
-t:Muestra toda la información de estado
Podemos configurar impresoras y clases mediante el comando
lpadmin
Algunos de los parámetros son:
-c:Añade la impresora especificada a la clase que le digamos.Si la clase no existe la creará.
-r:Elimina la impresora seleccionada de la clase que le digamos.Si la clase queda vacío se elimina también.
-v:Establece el "device-uri" esto es la cadena de conexión con la impresora.Aquí se le especificará si se conecta por usb, vía http, etc..
-D:Muestra información detallada sobre la impresora seleccionada
-E:Habilita la impresora de manera que pueda aceptar trabajos.
Con el comando podemos mostrar o establecer opciones de una impresora
lpoptions
-l:Lista las opciones específicas de la impresora y las opciones establecidas
-r:Elimina la opción seleccionada de la configuración de la impresora
-o:Especifica una nueva opción para la impresora seleccionada.
viernes, 6 de marzo de 2015
Samba
Introducción
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 computadoras con GNU/Linux, Mac 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
La 'suite' completa de samba se compone de varios paquetes. Destacamos los más importantes:
samba - Servidor de archivos e impresoras tipo LanManager para Unix.
samba-common - Archivos comunes de samba utilizados para clientes y servidores.
smbclient - Cliente simple tipo LanManager para Unix.
swat - Herramienta de administración de Samba via web
samba-doc - Documentación de Samba.
smbfs - Comandos para montar y desmontar unidades de red samba
winbind - Servicio para resolver información de usuarios y grupos de servidores Windows NT
Instalar samba
sudo apt-get install samba samba-common smbclient samba-doc smbfs
Archivo de configuración de samba
/etc/samba/smb.conf
Los usuarios que utilizan samba son independientes a los que hay en el sistema.
Para dar de alta un usuario hay que ejecutar:
smbpasswd -opcion usuario
Para eliminar usuario
smbpasswd -x usuario
Para ver los usuarios del sistema
pbdedit -w -L
Compartir una carpeta tocar el fichero /etc/samba/smb.conf
La forma más básica de compartir una carpeta es :
Las opciones de configuración son:
Crear una carpeta a varios usuarios y un grupo
Compartir una impresora
Nfs: Sistema de archivos en red
Es un servicio que permite que los equipos GNU/Linux puedan compartir carpetas entre sí.
Para instalarlo
apt-get install nfs-kernel-server nfs-common portmap
Para iniciarlo
service nfs-kernel-service start
Fichero de configuración
/etc/exports
Utilidades:
Montar una unidad NFS manualmente
mount 192.168.20.100:/datos/prueba
Montar una unidad NFS automáticamente
192.168.20.100:/datos /prueba nfs rw,hard,intr 0 0
domingo, 22 de febrero de 2015
Instalar Gnome
Los requisitos mínimos «recomendados», teniendo en cuenta los efectos de escritorio son :
* Procesador x86 a 1 GHz.
* Memoria RAM de 1 GB.
* Disco Duro de 15 GB (swap incluida).
* Tarjeta gráfica y monitor capaz de soportar una resolución de 800x600.
* Lector de CD-ROM, puerto USB o tarjeta de red.
* Conexión a Internet puede ser útil.
Los efectos de escritorio se activan por defecto en las siguientes tarjetas gráficas:
* Intel (i915 o superior, excepto GMA 500, nombre en clave «Poulsbo»)
* NVidia (con su controlador propietario o el controlar abierto incorporado Nouveau)
* ATI (a partir del modelo Radeon HD 2000 puede ser necesario el controlador propietario)
Con una máquina con un procesador de 64 bits (x86-64), y especialmente si dispone de más de 3 GB de RAM, se recomienda utilizar la versión de Ubuntu para sistemas de 64 bits.
martes, 17 de febrero de 2015
Configuración de la red
A la hora de configurar un dominio hay que proveer al sistema de los siguientes servicios.
- Servidor dhcp
- Servidor DNS
- Cortafuegos
La mayoría se proveen desde fuera del servidor de dominio, pero también se puede configurar desde este
En este tema nos centraremos en el cortafuegos
Esquema de red
Configuración de la red
Las tarjetas de red se configuran durante el arranque
Eth0, eth1…
Se puede hacer mediante ifconfig pero solo servirá
hasta el siguiente reinicio
- ifconfig 192,168,1,2 netmask 255,255,255,0 up
- ifconfig eth0 down
- ifconfig eth0 up
- route add –nt 0/0 gw 192,168,1,1 eth0 (puerta de enlace)
Archivo de configuración
/etc/network/interfaces
lo auto
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Otros ficheros
Nombre del equipo
/etc/hostname
Escribir el nombre
Escribir el nombre
Servidores DNS
DNS locales
/etc/hosts
DNS Internet
/etc/resolv.conf
nameserver 8,8,8,8
Actualizar los cambios
/etc/init.d/networking restart | stop | start | force-reload
Otros servicios de red
- Dhcp -dhcp3-server
- DNS -/etc/hosts
- SERVIDOR WEB-apache
- CORREO ELECTRÓNICO -sendmail
- FIREWALL Y NAT-Iptables
- Escritorio Remoto -vnc, teamviewer
LDAP
LDAP es un protocolo de aplicación que permite el acceso a un dominio. Protocolo de Acceso a Directorio Ligero.Es un protocolo estándar que permite administrar directorios, esto es, acceder a bases de información de usuarios de una red mediante protocolosTCP/IP.
Usan BD como backend para almacenar y gestionar las entradas de directorio
Se pueden crear subdominios para:
- Rendimiento
- Localización geográfica
- Cuestiones administrativas
Modelos LDAP (tipos de servicios)
Modelo de información
- Estructura y tipos de datos del directorio
- Directorios = entradas estructuradas (árbol)
- Cada entrada = atributos (nombre + valor)
Modelo de asignación de nombres
- Referencia de las entradas y datos. Nombre único.
- Cada entrada un ID único (DN: Distinguished name) a partir del RDN (Relative DN)
Modelo funcional
- Operaciones para acceder al árbol: autenticación, solicitudes y actualizaciones
Modelo de seguridad
- Cliente: probar su identidad
- Servidor: controlar el acceso
OpenLDAP
Implementación de LDAP de código abierto
Características
- Licencia libre
- Multiplataforma
- Integración con aplicaciones
- IPv6, LDAPv3 y Referrals (esquema distribuido)
- Permite operaciones de publicación de esquemas
- Internacionalización (UTF8)
- Soporta extensiones y muchas BD
- Contiene un esquema de mapeo
- Mecanismos avanzados de búsqueda
Componentes OpenLDAP
sladpd: demonio principal
slurpd: demonio del servidor de replicación
Librerías
Herramientas, utilidades y clientes
Instalación y Configuración
apt-get install slapd ldap-utils
service slapd {start | stop | restart}
- Arrancar o reiniciar el servidor LDAP sudo /etc/init.d/slapd restart
- Parar el servidor LDAP sudo /etc/init.d/slapd stop
En el directorio /etc/ldap
- Archivos de configuración
- Schemas
Configuración mediante el
asistente
sudo dpkg-reconfigure slapd
Administración: Cargar plantillas
Hay que instalar unas plantillas para manejar usuarios y
grupos
Instalar plantillas para almacenamiento de usuarios unix
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
Configuración esquema básico
- 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 Ejemplo de configuración del archivo ldif
Ejemplo de configuración
Unidades organizativas
Hay que crear una unidad organizativa para usuarios y
otra para grupos
- dn: ou=users
- dn: ou=groups
Sólo cuando estén creados dominio y administrador.
Después podemos crear usuarios y grupos para hacer
pruebas. Crearemos los usuarios javier, joaquin y
miguel en el grupo profesores y los usuarios jessica y
joel en el grupo alumnos.
Ejemplo de configuración
Últimos pasos
Cargar en el directorio los archivos ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f
/tmp/ldapcurso-esquema-basico.ldif
sudo ldapadd -c -x -D cn=admin, dc=majada,
dc=com -W -f /tmp/ldapcurso-usuarios.ldif
Comprobación de las entradas añadidas
ldapsearch -xLLL –b “dc=majada,dc=com” uid=juan sn
givenName cn
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 BD en formato ldif
- slapindex :regeneración de índices
- slappaswd :genera una contraseña de usuario
Servidor de autenticación
Instalación
sudo apt-get install ldap-auth-client nscd
Configuración
sudo auth-client-config -t nss -p lac_ldap
Librería (para que conecte con el servidor al autenticar)
sudo apt-get install libpam-ldapd
Actualización de PAM
sudo pam-auth-update
Probar la autenticación
sudo /etc/init.d/nscd restart
pamtest passwd jessica (autenticación de la contraseña)
Trying to authenticate for service .
Password: // Introducimos el password de jessica
Authentication successful. // La autentificación ha sido satisfactoria
finger joel -finger para usuarios que están solo en el
dominio
Login: joel Name: Joel Javier
Directory: /home/www/alumnos Shell: /bin/sh
Last login Tue Sep 27 18:02 (CEST) on pts/3 from 192.168.1.213
No mail.
No Plan
Herramientas gráficas
- lat -LDAP Admin Tool
- PhpLdapAdmin -Entorno web
- JXplorer
lunes, 2 de febrero de 2015
Procesos
Definición
Un proceso puede informalmente entenderse como un programa en ejecución. El concepto se refiere a la ejecución de diversas instrucciones por parte del microprocesador
Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".
El sistema operativo se encarga de gestionar los procesos pudiendo crear y borrar los procesos y establecer comunicaciones entre ellos.
Un proceso informático puede atravesar diferentes estados. Puede estar en ejecución (cuando está utilizando el microprocesador), bloqueado (su ejecución requiere que se realice otro evento) o listo (cuando libera el microprocesador).
Es posible distinguir entre diferentes tipos de procesos. Los procesos cooperativos, son aquellos que son gestionados por varias configuraciones de hardware. Los procesos distribuidos, en cambio, se encuentran repartidos entre varios elementos de un sistema. También existen los procesos paralelos, que se asemejan a los sistemas más importantes.
1 programa cuenta con varios procesos. Se dividen:
- SO necesita algo
- Entrada de un nuevo usuario (paralelo)
- Si lo ejecuta al entrar termina al salir
Procesos creados por el SO:
- Errores
- Instrucciones inválidas
- Fallos E/S
- Usuarios
- Sistema
Bloque de control de Procesos BCP
Se almacenan los atributos del proceso
Simula a una imagen del proceso en un momento concreto
- Registros
- Ubicación de variables
- Pila
Se usa para concurrencia (los procesos entran y salen de la CPU constantemente)
Información del BCP
Identificadores
- Proceso
- Proceso padre
- Usuario
Información sobre el control del proceso
- Prioridad
- Tiempo de espera
- Procesos hijos generados
Tabla de BCP
Al crearse el proceso se crea el BCP y se almacena en
una tabla de BCP’s
La tabla puede ser
- Estática (tiene un nº máximo)
- Dinámica (sin límite)
Al cargarse el proceso, se cargan los datos (registros,
variables…) en el BCP y al parar el proceso es al revés
Todo lo gestiona el SO por lo que necesita conocer el
estado en que se encuentra el proceso
Acciones de los procesos
- Salvar contexto del proceso que abandona la ejecución
- Cambiar el estado del proceso
- Mover el BCP a otra cola (listo, bloqueado…)
- Solicitar otro proceso
- Actualizar el nuevo BCP
- Actualizar las estructuras de datos y memoria
- Volcar al procesador el contenido del nuevo proceso
División mínima de acciones
1 proceso -Varios hilos
Ventajas de separar hilos y procesos
- La información de los hilos hay mucha que es común
- menos tiempo para consultarla
- Comunicación entre hilos más rápida porque están en zonas comunes de memoria
- Ejecución paralela de varios hilos
Se suele trabajar a nivel de hilos:
- Fin de un proceso = fin de los hilos
- Suspensión de un proceso = suspensión de hilos y liberación de memoria
- Como ocupan menos recursos se liberan más
Interrupción
- Mecanismo para ejecutar un bloque de instrucciones interrumpiendo la ejecución de un programa
- Por ejemplo, las teclas del teclado
Excepción
- Situaciones de error en un programa que requieren que se ejecute un bloque de instrucciones
- Por ejemplo, una división proporcionar una letra para una suma
CRON
- Ejecutar tareas programadas en un momento determinado
- Hay que instalarlo
AT
- Ejecutar tareas programadas una sola vez
- Hay que instalarlo
- Ejercicio: Ejecutar un script cada vez que arranque el equipo
viernes, 23 de enero de 2015
Funciones
Uno de los mayores utilidades que posee una shell es el permitirnos crear funciones para realizar tareas repetitivas fácilmente.El funcionamiento de estas funciones es parecido al que posee cualquier lenguaje de programación, en el cual se agrupan conjunto de comandos y se los llama por un nombre.
Podemos definir funciones en un script de shell:
Salida: String
Podemos definir funciones en un script de shell:
funcion() {
comandos
}
comandos
}
Para llamarla:
funcion p1 p2 p3
Siempre tenemos que definir
la función antes de llamarla:
#!/bin/bash
# Definición de funciones
funcion1() {
comandos
}
funcion2() {
comandos
}
# Programa principal
funcion1 p1 p2 p3
# Definición de funciones
funcion1() {
comandos
}
funcion2() {
comandos
}
# Programa principal
funcion1 p1 p2 p3
Valores de entrada
#! /bin/bash
function suma() {
resultado=$(expr $a +
$b)-----------------------Se pueden sustituir por $1 y $2 (y $3, $4…)
echo “La suma es
“$resultado
}
a=5
b=10
suma $a
$b-----------------------Se pueden sustituir por $1 y $2 (y $3, $4…
Valores de salida
Una función puede devolver
ninguno, uno o más valores
Si no devuelve nada-Procedimiento
Si devuelve algo -función
Para devolver un valor -return
#! /bin/bash
function suma() {
resultado=$(expr $a + $b)
return $resultado
}
a=5
b=10
suma $a $b
c =
$?---------------------------------------------------Toma el valor que devuelve
el return
echo $c
Salida: String
Para devolver un string se
usa un procedimiento
#! /bin/bash
convertir_en_hex() {
case $valor in
0) valor=“0”;;
1) valor=“1”;;
2) valor=“2”;;
…
10) valor=“A”;;
11) valor=“B”;;
12) valor=“C”;;
…
*) valor=“ERROR en la
entrada”;;
esac
}
valor =2
convertir_en_hex $valor
echo “el resultado es
$valor”
jueves, 22 de enero de 2015
Estructura de Control
Se denominan estructuras de control a aquellas que determinan qué instrucciones deben ejecutarse y qué número de veces.
Existen dos tipos de estructuras de control:
-Alternativas o de selección
-Repetitivas o de iteración.
Programación iterativa
- Una instrucción detrás de otra
- En orden
- Sin saltarse ni repetir ninguna
Estructuras de control - Cambiar el flujo del programa
Estructuras
Condición simple
IF
if condicion
then
Comandos
else
Comandos
fi
Operadores lógicos
Qué son:
Son símbolos que se utilizan para darle a una búsqueda un orden lógico.
Los operadores lógicos son los que se utilizan en la evaluación de condiciones lógica
(verdadero o falso),no se ha de confundir con los operadores booleanos, que son utilizado sobre
variables.
El comando expr
$ expr arg1 op arg2
Operaciones
Tipos de operadores
El comando test
Evalúa archivos,cadenas y números
test –opción archivo
Opciones
$ test –f /etc/passwd
$ test 20 –lt 40
$ test [cadena1 !=cadena2]
Suscribirse a:
Comentarios (Atom)