jueves, 31 de enero de 2013
Linux | Consultar cuotas de los usuarios
Consultar las cuotas de todos los usuarios
repquota /dev/loop0
Simplemente hay que usar repquota y especificar el fichero /dev/loop0.
Linux | Consultar cuota de disco
Se crea un archivo de 96 mb y consulta la cuota
dd if=/dev/loop0 of=/tmp/fichero2 bs=1MB count=96
quota
Simplemente para consular una cuota hay que escribir quota.
Linux | Cuotas de disco
Se asignan cuotas al sistema de ficheros para que alumno no pueda usar mas de 100MB y el limite previo sea de 90MB.
mount -o remount,usrquota /dev/loop0 /especial
quotacheck -nm dev/loop0
quotaon /dev/loop0
edquota alumno -f /dev/loop0
Se monta el sistema de ficheros con mount y especificando las opciones con -o para montar de nuevo con remount y usrquota para especificar la quota del usuario.
Se comprueba la quota con quotacheck -nm de /dev/loop0.
Se activa la quota con /dev/loop0.
Para terminar se edita la cuota del usuario con edquota alumno -f /dev/loop0.
Linux | Montaje de un sistema de ficheros
Se monta el sistema de ficheros en especial para evitar que se puedan ejecutar programas con cambio de dominio y evitar ficheros especiales de dispositivos que pueda haber.
mkdir /especial
mount -o nosuid,nodev /dev/loop0/ /especial
Para ello se crea el directorio /especial con mkdir.
Y se monta con mount especificando las opciones con -o nosuid para evitar el cambio de dominio y nodev para evitar ficheros especiales.
Este se monta en /especial.
Linux | Dar formato a un sistema de ficheros
Se crea un sistema de ficheros ext4 sin bloques reservados y el tamaño de bloque de 2KB con etiqueta examen.
mke2fs -t ext4 -m 0 -L “examen” -b 2048 /dev/loop0
Donde mke2fs es el programa necesario para dar el formato al sistema de ficheros.
Este sistema de ficheros es de tipo ext4 , se define con la opción -t ext4.
Se crea sin bloques reservados con la opción -m 0.
Se le añade la etiqueta examen con -L.
El tamaño de bloque es de 2Kb con -b 2048.
El dispositivo al que se le va a dar formato es el dispositivo /dev/loop0.
Linux | Creacion y montaje de un dispositivo especial
Se crea un fichero de 400MB y asociándolo al dispositivo dev/loop0 con losetup
dd if=/dev/zero of=/tmp/fichero bs=1MB count=400
losetup /dev/loop0 /tmp/fichero
Donde bs es el tamaño de bloque y count es el numero de bloques.
Esto da como resultado un fichero /tmp/fichero de 400 MB
Se crea el fichero /tmp/fichero como fichero dispositivo especial /dev/loop0.
Linux | Politica de seguridad
Se edita el fichero selinux cambiando de la variable SELINUX de enforcing a disable
nano /etc/selinux/config → Cambiar en SELINUX a disable.
Guardar y cerrar.
Linux | Guardar fecha entrada y salida de un usuario
Se crea un usuario para el cual se copia en su directorio un fichero historial_usuario con la hora de entrada y de salida.
cd /etc/skel
nano historial_usuario
Escribir
echo “Historico de las entradas y salidas”
Guardar y cerrar.
En .profile se guardan las tareas al iniciar sesión, este fichero según el sistema operativo tambien se puede llamar .bash_profile
nano .profile
Escribir los comandos
fecha = $(date “+%d/%m/%Y”)
hora = $(date “+%H/%M/%S”)
echo “Login. Fecha: $fecha. Hora: $hora” >> “$HOME/historial_usuario”
Donde fecha es la fecha con el formato dd/mm/aaaa
Y la variable hora es la hora con el formato hh/mm/ss
Seguidamente se copian la fecha y la hora al directorio de usuario $HOME/historial_usuario
En .bash_logout se guardan las tareas al cerrar la sesión.
nano .bash_logout
find “$HOME” -newer “$HOME/historial_usuario” >> “$HOME/historial_usuario”
fecha = $(date “+%d/%m/%Y”)
hora = $(date “+%H/%M/%S”)
echo “Logout. Fecha: $fecha Hora: $hora” >> “$HOME/historial_usuario”
Antes de cerrar sesión se busca dentro del directorio $HOME el nuevo con -newer $HOME/historial_usuario y este se añade sin borrar lo anterior a $HOME/historial_usuario.
Para terminar se copian las variables fecha y hora al directorio $HOME/historial_usuario.
sábado, 12 de enero de 2013
Como realizar consultas DNS con el nslookup de Windows
Resulta muy común tener que realizar consultas DNS para resolver algún problema.
Para realizar una consulta DNS con nslookup sólo debemos ejecutar el comando e indicar la consulta que queremos hacer:
C:\>nslookup
Default Server: 250.Red-80-58-61.staticIP.rima-tde.net
Address: 80.58.61.250
> systemadmin.es
Server: 250.Red-80-58-61.staticIP.rima-tde.net
Address: 80.58.61.250
Non-authoritative answer:
Name: systemadmin.es
Address: 87.98.227.154
Nos dará el resultado del registro A que le de el servidor DNS que tengamos configurado. En el caso que queramos hacer la consulta sobre un servidor específico deberemos indicar el servidor mediante el comando server y repetir la consulta:
> server 8.8.8.8
Default Server: google-public-dns-a.google.com
Address: 8.8.8.8
> systemadmin.es
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
Name: systemadmin.es
Address: 87.98.227.154
En el caso que queramos hacer una consulta de un registro diferente a A indicarlo mediante set querytype, set type o abreviando con set q:
> set q=ns
> systemadmin.es
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
systemadmin.es nameserver = ns1701.systemsadmins.es
systemadmin.es nameserver = qapla.systemsadmins.es
En el caso que queramos ver más información, como por ejemplo el TTL deberemos usar la opción set debug:
> set debug
> systemadmin.es
Server: google-public-dns-a.google.com
Address: 8.8.8.8
--------------------
Got answer:
HEADER:
opcode = QUERY, id = 8, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 2, authority records = 0, additional = 0
QUESTIONS:
systemadmin.es, type = NS, class = IN
ANSWERS:
-> systemadmin.es
nameserver = ns1701.systemsadmins.es
ttl = 3514 (58 mins 34 secs)
-> systemadmin.es
nameserver = qapla.systemsadmins.es
ttl = 3514 (58 mins 34 secs)
------------
Non-authoritative answer:
systemadmin.es
nameserver = ns1701.systemsadmins.es
ttl = 3514 (58 mins 34 secs)
systemadmin.es
nameserver = qapla.systemsadmins.es
ttl = 3514 (58 mins 34 secs)
Para quitar esta información extra deberemos usar el set nodebug:
> set nodebug
> set q=txt
> hari.systemadmin.es
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
hari.systemadmin.es text = "was HERE"
viernes, 11 de enero de 2013
Unidad 1_3.-Características de las instalaciones domóticas
GLUE RECORD
Unidad 1_2.-Beneficios de la Domótica
REGISTROS NS, MX, A, CNAME, PTR
Indica el FQDN de uno de los servidores de dominio de la zona. Nombre zona IN NS FQDN.
Unidad 1_1.4- Legislacion
Unidad 1_1.3- Conceptos de Domótica e Inmótica
Unidad 1_1.2- Implantación de la Domótica
REGISTROS SOA
Start authority (inicio de autoridad) indica la dirección del servidor principal de esa zona y datos de sincronización entre primario y secundario.
- Servi: miempresa.es, nombre de dominio del servidor principal de la zona.
- jaime.miempresa.es: Email de la persona responsable de esa zona.
- Número de serie: Usado por los servidores secundarios para saber si la copia que ellos tienen está o no actualizada.
- Actualización: Comprobar si se ha actualizado la zona.
- Reintento: Cada cuento tiempo deben los secundarios reintentar una actualización de zona.
- Expiración: Tiempo en segundos, durante el cual un secundario puede estar sin contactar con el primario para comprobar la zona.
- TTL negativo (minimum TTL): Tiempo de vida negativo. Tiempo en el que se debe almacenar en la caché de otro servidor.
1.- Instalaciones Domóticas. Unidad 1_1.1- Automatización de viviendas
BASE DE DATOS DNS
Nombre de dominio: Entrada que estas buscando (www.miempresa.es).
Clase: Indica la clase de registro [internet (IN)].
Tipo: Tipo de registro (que dato nos va a devolver).
Valor del TTL: Tiempo de vida durante el cual la entrada es válida.
Datos: Respuesta que esperamos.
ZONA PRIMARIA Y SECUNDARIA
Primaria: Ubicada en el servidor primario (copia maestra) de la que surgen todas las copias que se generan en las zonas secundarias.
SERVIDORES DE NOMBRES
Ordenador que tiene instalado un programa que atiende peticiones (preguntas) de clientes DNS.
- Reenviador: (Forwarders), reciben las peticiones de todos los servidores DNS de mi red. Se configura para minimizar las consultas DNS al exterior de una red corporativa, en la que existen varios servidores.
- Cache: Servidor DNS no autoritativo (ni primario ni secundario). Lía consultas y almacena en caché.
RESOLUCIÓN DE DIRECCIÓN IP A NOMBRE DE HOST
Averiguar a saber a que IP pertenece un nombre de host (relacionarlas).
CONSULTAS RECURSIVAS Y CONSULTAS INTERACTIVAS (NO RECURSIVAS)
El cliente hace una consulta y permanece a la espera mientras que el servidor es el que recorre todo el árbol DNS hasta encontrar respuesta.
Consultas interactivas (no recursivas).
El cliente deba seguir las referencias que le de el servidor.
FUNCIONAMIENTO DNS
Servidores DNS: Responden a las consultas realizadas por los clientes y buscan algún dato desconocido.
C || Programa que calcula el area de varios circulos y utiliza un array para almacenarlos
/*Programa
para calcular areas de varios circulos, usando un bucle
while;
los resultados se almacenan en un array;
no se
especifica el número de círculos*/
#include <stdio.h>
#define PI 3.14159
float
procesar (float radio); // prototipo
de funcion
int main()
{
system("cls");
int n, i = 0; //declaracion de variables
float radio[100], area[100]; //declaracion de arrays
printf("Para PARAR, introducir 0
en el valor del radio\n\n");
printf("Radio = ? ");
scanf("%f",
&radio[i]);
while
(radio[i])
{
if
(radio[i] < 0)
area[i]
= 0;
else
area[i]
= procesar(radio[i]);
printf("Radio
= ? ");
scanf("%f",
&radio[++i]);
}//fin de while
n = --i; /*el mayor valor de i*/
/*presentar los elementos del array*/
printf("\nRelacion de
resultados\n\n");
for(i=0; i<=n ; ++i)
printf("Radio
= %f\tArea = %f\n",radio[i], area[i]);
system("pause");
return 0; //terminacion exitosa
}//fin
de main
float
procesar ( float r ) //definicion de
funcion
{
float
a;
a
= PI * r * r;
return(a);
}//fin
de procesar
//****************************************************
Resultado
después de ejecutar el programa
Para
PARAR, introducir 0 en el valor del radio
Radio
= ? 3
Radio
= ? 4
Radio
= ? 5
Radio
= ? 0
Relacion
de resultados
Radio = 3.000000 Area = 28.274309
Radio = 4.000000 Area = 50.265442
Radio = 5.000000 Area = 78.539749
|
DOMINIO DNS VS ZONA DNS
DELEGACIÓN DNS
WHO IS
Cuando se registra un nombre de dominio, la Corporación de Internet para la Asignación de Nombres y Números de Internet (ICANN) exige su registrador de nombres de dominio para enviar su información de contacto personal a la base de datos WHOIS. Una vez que su anuncio aparezca en este directorio en línea, que está disponible al público a cualquier persona que elige para comprobar los nombres de dominio utilizando la herramienta de búsqueda WHOIS.
Hay una gran variedad de terceros que puedan comprobar los nombres de dominio en la base de datos WHOIS, incluyendo:
Los individuos comprobar los nombres de dominio para las fechas de caducidad.
Registradores comprobar los nombres de dominio cuando se transfiere la propiedad.
Autoridades comprobar los nombres de dominio en la investigación de actividades delictivas.
A modo de dominio registrador acreditado por nombres, Network Solutions ® debe cumplir con los requisitos de la base de datos WHOIS establecidas por ICANN. Sin embargo, en un esfuerzo para asegurar que los clientes se sientan cómodos con la visibilidad de su información personal, Network Solutions ofrece tres opciones para la lista de base de datos WHOIS.
GESTIÓN ADMINISTRATIVA DEL DNS
El registro, es la entidad que da de alta y baja dominios de segundo nivel que estén bajo el.
Registrador de dominios (registrar): Atienden la petición del cliente, comprueban que es correcta, reciben el pago y solicitan la petición en nombre del cliente al registro de dominios para la cual deben abonar una tasa.
Usuario registrante (registrant): Persona o empresa que compra el dominio y la va a utilizar para su propio beneficio.
jueves, 10 de enero de 2013
DOMINIOS
Dominios genéricos: gTLD son aquellos que tienen tres o más letras (.com, .org, .cat, .info, .name, .pro).
- com, org, net: se puede registrar un nombre bajo estos dominios sin ninguna limitación.
- int: reservado a entidades intergubernamentales y de ámbito internacional.
- gov, mil, edu: reservados al gobierno de los Estados Unidos (gov), a su ejercito (mil) y a instituciones de educaciónsuperior de cualquier país (edu).
- Test: Para ser usado a la hora de hacer pruebas con código fuente relacionado con DNS.
- Example: A la hora de hacer documentación sobre DNS, se deberá usar este dominio para evitar conflictos con el mundo real, si alguien quiere trasladar esos ejemplos a un servidor DNS real sin modificar nada.
- Invalid: Se usa cuando se está configurando un servidor DNS conectado a la jerarquía DNS y se quieren hacer pruebas que no afecten al normal funcionamiento de nuestra red.
- localhost: Debe apuntar a la dirección de loopback 127.0.0.1
C++ || Programa que calcula y despliega los cuadrados de los enteros del 1 a 10
/*Considere un programa con la funcion cuadrado definida por
el programador, que calcula y despliega los cuadrados de los
enteros del 1 al 10*/
#include<iostream>
using std::cout;
using std::endl;
int cuadrado(int); //prototipo
de la funcion
int main()
{
//repite 10 veces, calcula y
despliega
//el cuadrado de x
for(int x = 1; x <= 10;
x++)
cout <<
cuadrado(x) << " "; //llamada a la funcion
cout << endl;
system("pause");
return 0; //indica terminacion exitosa
}//fin de main
//definicion de la funcion cuadrado,
//la cual devuelve el cuadrado de un entero
int cuadrado ( int y ) //y es una copia del argumento de la funcion
{
return y * y ;
}//fin de la funcion cuadrado
Resultado:
1
4 9 16
25 36 49
64 81 100
|
C++ || Programa que utilizando una funcion, determina el mayor de tres numeros
/*El siguiente ejemplo utiliza la función definida por el
programador <mayor> para determinar y devolver el mayor de tres
números de punto flotante*/
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
double mayor( double, double, double); //prototipo de la funcion
int main()
{
double
numero1;
double
numero2;
double numero3;
system("cls");
cout <<
"Introduzca tres numeros de punto flotante: ";
cin >> numero1 >>
numero2 >> numero3;
//numero1, numero2 y numero3
son argumentos
//de la funcion mayor
cout << "El mayor
es: "
<< mayor(numero1, numero2, numero3 )
<< endl;
system("pause");
return
0; // indica terminacion exitosa
}//fin de main
//definicion de la funcion mayor;
//x, y, z son parámetros
double mayor(double x, double y, double z)
{
double may = x; //asume que x es el mayor
if( y > may ) //si y es mayor
may = y; //signa y a may
if( z > may ) //si z es mayor
may = z; //asigna z a may
return
may; //may es el mayor
}// fin de la funcion mayor
|