CUPS: “Common UNIX Printing System” o Sistema de Impresión Común para UNIX, es un potente software que se utiliza para imprimir desde las diferentes aplicaciones instaladas tales como el propio navegador que está usted utilizando ahora para leer este post.
El proceso de imprimir implica los siguientes pasos :
1 Un usuarios o un programa envía un trabajo de impresión.
2 El trabajo se almacena en una cola de impresión.
3 El planificador se encarga de enviar los trabajos de impresión al sistema d efiltros para convertirlos en un fomarto que entienda la impresora.
4 El sistema de filtros realiza la conversión de los trabajos.
5 Los trabajos son enviados al backend que se encarga de pasárselos a la impresora.
6 Se eliminan los trabajos que han sido transmitidos a la impresora de la cola de impresión.
El fichero principal de configuración es /etc/cups/cupsd.conf
Opciones
Accepting: la impresora acepta nuevos trabajos o no.
Allowuser: lista de usuarios que pueden usar la impresora.
Denyuser: lista de usuarios que no pueden usar la imprsora.
Shared: especifica si la impresora está compartida en red o no.
Administración de Sistemas Operativos ADD ASIR
Blog de la asignatura Administración de Sistemas Operativos del ciclo superior Administración de Sistemas Informáticos en Red
viernes, 6 de marzo de 2015
domingo, 1 de marzo de 2015
Convivencia e integración de sistemas heterogéneos : Servidor SAMBA
Existen dos formas de compartir archivos entre equipos :
Compartir archivos e impresoras (Samba) : entre equipos GNU/Linux y Windows.
NFS : nativo de sistemas GNU/Linux.
Instalación de samba
Ubuntu
apt-get install samba4 smbclient
Fedora
yum install samba samba-client
Iniciar servicio
service samba4 start
Crear usuarios en samba
smbpasswd -opcion usuario
Ejemplo :
smbpasswd -a pedro
Para eliminar usuario
smbpasswd -x usuario
Forma básica de compartir una carpeta
Editar archivo /etc/samba/smb.conf
[miscosas]
path = /datos/
public = no
valid users = juan,pedro
Asistentes gráficos de Samba
swat
System-config-samba
Instalación de NFS
apt-get install nfs-kernel-server nfs-common portmap
Iniciar servicio
service nfs-kernel-service start
Montar unidad NFS manualmente
mount 192.168.1.100:/datos /prueba
Montar una unidad NFS automáticamente
192.168.1.100:/datos /prueba nfs rw.hard,intr 0 0
Compartir archivos e impresoras (Samba) : entre equipos GNU/Linux y Windows.
NFS : nativo de sistemas GNU/Linux.
Instalación de samba
Ubuntu
apt-get install samba4 smbclient
Fedora
yum install samba samba-client
Iniciar servicio
service samba4 start
Crear usuarios en samba
smbpasswd -opcion usuario
Ejemplo :
smbpasswd -a pedro
Para eliminar usuario
smbpasswd -x usuario
Forma básica de compartir una carpeta
Editar archivo /etc/samba/smb.conf
[miscosas]
path = /datos/
public = no
valid users = juan,pedro
Asistentes gráficos de Samba
swat
Instalación de NFS
apt-get install nfs-kernel-server nfs-common portmap
Iniciar servicio
service nfs-kernel-service start
Montar unidad NFS manualmente
mount 192.168.1.100:/datos /prueba
Montar una unidad NFS automáticamente
192.168.1.100:/datos /prueba nfs rw.hard,intr 0 0
viernes, 13 de febrero de 2015
Servicios de Directorio en Redes Linux : Configuración de la red
nano /etc/network/interfaces
- allow hotplug eth0: el adaptador eth0 se habilitará automáticamente si reiniciamos el servicio de networking.
- iface eth0 inet static: Estoy usando una ip fija para mi servidor por eso he puesto static, si quisieras una configuración por dhcp escribirías dhcp y el resto de líneas inferiores podrías comentarlas con #.
address: La dirección ip de la máquina.
netmask: Máscara.
network: La red.
En principio estos 3 anteriores parámetros son necesarios y los dos de abajo son opcionales.
Broadcast: Dirección ip de broadcast.
Gateway: Puerta de enlace (si queremos tener salida a internet).
Configuración temporal de interface de red
ifconfig [interface] [ip]
Ejemplo:
ifconfig eth0 192.168.1.139
Servicios de Directorio en Redes Linux : LDAP
LDAP (Lightway Directory Access Protocol - Protocolo de Acceso a Directorio Ligero) es un protocolo de aplicación que permite el acceso a un dominio.
Instalación de Ldap:
sudo apt-get install slapd ldap-utils
Instalación de servidor de autenticación:
sudo apt-get install ldap-auth-client nscd
Instalación de librería PAM LDAP
sudo apt-get install libpam-ldapd
Actualización de PAM
pam-auth-update
OlcSuffix: Nombre del dominio o directorio base
OlcRootDN; Nombre del administrador del servidor LDAP
oldRootPW; Contraseña del administrador del servidor LDAP
olcAcces to attrs=userPassword: El acceso global a las contraseñas del dominio será para el administrador del servidor LDAP.
Directorio base: dn; dc=majada,dc=com
Administrador de directorio base : cn=admin,dc=majada,dc=com
Unidades organizativas: users y groups
Agrego los usuarios:
dn; Nombre completo de la cuenta de usuario
cn: nombre abreviado
sn: surname
uid: id del usuario
Agrego los usuarios a las unidades organizativas:
dn: Nombre de la unidad organizativa.
memberUid: nombre del usuario que pertenece a la unidad organizativa,
Por último cargar en el directorio los archivos ldif:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/ldap-esquema-basico.ldif
sudo ldapadd -c -x -D cn=admin, dc=carlosmajada,dc=com -W -f /tmp/ldap-usuarios.ldif
He almacenado los archivos en el directorio /tmp ya que las contraseñas están en texto plano por lo que una vez cargados los archivos no es recomendable dejarlos en el sistema.
Instalación de Ldap:
sudo apt-get install slapd ldap-utils
Instalación de servidor de autenticación:
sudo apt-get install ldap-auth-client nscd
Instalación de librería PAM LDAP
sudo apt-get install libpam-ldapd
Actualización de PAM
pam-auth-update
Fichero de ejemplo de esquema básico de ldap (extensión ldif)
OlcRootDN; Nombre del administrador del servidor LDAP
oldRootPW; Contraseña del administrador del servidor LDAP
Fichero de ejemplo de usuarios y unidades organizativas de ldap (extensión ldif)
Directorio base: dn; dc=majada,dc=com
Administrador de directorio base : cn=admin,dc=majada,dc=com
Unidades organizativas: users y groups
dn; Nombre completo de la cuenta de usuario
cn: nombre abreviado
sn: surname
uid: id del usuario
Agrego los usuarios a las unidades organizativas:
dn: Nombre de la unidad organizativa.
memberUid: nombre del usuario que pertenece a la unidad organizativa,
Por último cargar en el directorio los archivos ldif:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/ldap-esquema-basico.ldif
sudo ldapadd -c -x -D cn=admin, dc=carlosmajada,dc=com -W -f /tmp/ldap-usuarios.ldif
He almacenado los archivos en el directorio /tmp ya que las contraseñas están en texto plano por lo que una vez cargados los archivos no es recomendable dejarlos en el sistema.
jueves, 5 de febrero de 2015
Programación en Shell : Procesos
- Un programa en ejecución es un conjunto de procesos.
- Un proceso está compuesto de un conjunto de hilos.
- Los hilos son operaciones determinadas de un programa. Por ejemplo cuando editamos una imagen en Photoshop, le cambiamos el color o contraste, eso sería un hilo de un proceso.
Interrupcion; El programa espera una orden para ejecutar el proceso. Por ejemplo un videojuego que use las teclas ASWD para mover al personaje, estará esperando que se pulse una de estas teclas para realizar el proceso.
Excepción: Son los errores de los programas. Por ejemplo una aplicación sencilla como la calculadora de Windows, está esperando un número para realizar una suma y se le proporciona una letra.
Comandos para la automatización de tareas en Linux
CRON: Es un administrador regular de procesos en segundo plano que ejecuta procesos a intervalos regulares, por ejemplo cada minuto, día, semana o mes. Los procesos deben ejecutarse y la hora en la que deben hacerlo en el fichero crontab.
AT: Permite programar tareas para que se ejecuten a determinada fecha y hora. La sintaxis del comando at es sencilla: at [hora] [fecha], algunos ejemplos son:
at 20:00 // ejecuta la tarea a las 8:00 PM
at 02:10 JUN 27 // ejecuta la tarea a esa hora el dia 27 de Junio
- Un proceso está compuesto de un conjunto de hilos.
- Los hilos son operaciones determinadas de un programa. Por ejemplo cuando editamos una imagen en Photoshop, le cambiamos el color o contraste, eso sería un hilo de un proceso.
Estados de los procesos
Interrupcion; El programa espera una orden para ejecutar el proceso. Por ejemplo un videojuego que use las teclas ASWD para mover al personaje, estará esperando que se pulse una de estas teclas para realizar el proceso.
Excepción: Son los errores de los programas. Por ejemplo una aplicación sencilla como la calculadora de Windows, está esperando un número para realizar una suma y se le proporciona una letra.
Comandos para la automatización de tareas en Linux
CRON: Es un administrador regular de procesos en segundo plano que ejecuta procesos a intervalos regulares, por ejemplo cada minuto, día, semana o mes. Los procesos deben ejecutarse y la hora en la que deben hacerlo en el fichero crontab.
AT: Permite programar tareas para que se ejecuten a determinada fecha y hora. La sintaxis del comando at es sencilla: at [hora] [fecha], algunos ejemplos son:
at 20:00 // ejecuta la tarea a las 8:00 PM
at 02:10 JUN 27 // ejecuta la tarea a esa hora el dia 27 de Junio
miércoles, 4 de febrero de 2015
Programación Shell : Funciones
Definición:
Las funciones en Shell nos permiten usar tareas repetitivas fácilmente. Son un conjunto de comandos a los que se les asigna un nombre.
Sintaxis de una función
nombre_funcion ( ){
primer_comando
segundo_comando
}
Valores de entrada
Las funciones pueden aceptar valores de entrada que se definen en el script pero fuera de la función.
Ejemplo:
#! /bin/bash
funcion_que_tal{
echo "Hola $1, como estás?"
}
Ejecutamos la función y le pasamos un parámetro, en este caso el valor de entrada es "amigo": funcion_que_tal amigo
Resultado: Hola amigo, como estás?
También es posible indicarle estos valores de entrada en el propio script y pueden ser más de un único parámetro.
Ejemplo:
#! /bin/bash
funcion_que_tal {
echo "Hola $1, como estás?"
echo "Espero que estés $2"
}
$1 = amigo
$2 = bien
Ejecutamos la función y este sería el resultado:
Hola amigo como estás?
Espero que estés bien
Las funciones en Shell nos permiten usar tareas repetitivas fácilmente. Son un conjunto de comandos a los que se les asigna un nombre.
Sintaxis de una función
nombre_funcion ( ){
primer_comando
segundo_comando
}
Valores de entrada
Las funciones pueden aceptar valores de entrada que se definen en el script pero fuera de la función.
Ejemplo:
#! /bin/bash
funcion_que_tal{
echo "Hola $1, como estás?"
}
Ejecutamos la función y le pasamos un parámetro, en este caso el valor de entrada es "amigo": funcion_que_tal amigo
Resultado: Hola amigo, como estás?
También es posible indicarle estos valores de entrada en el propio script y pueden ser más de un único parámetro.
Ejemplo:
#! /bin/bash
funcion_que_tal {
echo "Hola $1, como estás?"
echo "Espero que estés $2"
}
$1 = amigo
$2 = bien
Ejecutamos la función y este sería el resultado:
Hola amigo como estás?
Espero que estés bien
jueves, 29 de enero de 2015
Programación en Shell : Estructuras de control
Las estructuras de control sirven para cambiar el flujo del programa. De esta manera no se ejecuta unas instrucción detrás de otra, sino que dependiendo de la estructura de control hará una instrucción u otra. Hay varios tipos de estructuras de control:
Condición simple
IF: Si se cumple una condición se realizan estos comandos, si no se cumple se realizan estos otros comandos.
if condicion
then
comandos
else
comandos
fi
Condición múltiple
CASE: Se crean múltiples opciones y se selecciona una. Si no se selecciona ninguna se realiza la opción por defecto *)
case $variable in
valor1) comandos
valor2) comandos
valor3) comandos
valor4) comandos
*) comandos
esac
Repetición
WHILE:
while condicion
do
comando1
comando2
done
Contador
for ((expr1;expr2;expr3))
do
comando1
comando2
done
Leer datos desde un fichero
#! /bin/bash
for i in $(cat /etc/passwd);do
echo "$i"
done
Condición simple
IF: Si se cumple una condición se realizan estos comandos, si no se cumple se realizan estos otros comandos.
if condicion
then
comandos
else
comandos
fi
Condición múltiple
CASE: Se crean múltiples opciones y se selecciona una. Si no se selecciona ninguna se realiza la opción por defecto *)
case $variable in
valor1) comandos
valor2) comandos
valor3) comandos
valor4) comandos
*) comandos
esac
Repetición
WHILE:
while condicion
do
comando1
comando2
done
Contador
for ((expr1;expr2;expr3))
do
comando1
comando2
done
Leer datos desde un fichero
#! /bin/bash
for i in $(cat /etc/passwd);do
echo "$i"
done
Suscribirse a:
Comentarios (Atom)



