test -> El comando test evalúa una expresión; si evalúa que es verdadera, devuelve un 0 (verdadero), de otro modo devuelve 1 (falso).
Si no hay expresión, test también devuelve 1 (falso)
Se pueden evaluar distintas clases de expresiones, numéricas, cadenas de caracteres, archivos.
cut -> El comando cut selecciona partes de cada línea de cada archivo y las escribe en la salida estándar. Si no hay un archivo especificado, cut lee de la entrada estándar con el parámetro -f le decimos que campo (field) queremos cortar, y con el parámetro -d le decimos el delimitador que queremos utilizar; ejemplo, cut -f1 -d: /tmp/archivo va a quedarse con la primer columna del archivo utilizando como delimitador los dos puntos.
mkpasswd -> Este comando pertenece al paquete whois. Lo que hace es; dada una palabra, la encripta con el algoritmo que le indiquemos (aunque podemos no indicárselo, y por defecto lo hará con md5)
useradd -> Comando que se utilizar para agregar usuarios. -m indica que se debe crear el directorio home; -c representa el comentario; -g el grupo por defecto que va a tener el usuario, -p toma el valor que le demos y lo coloca como password en el archivo /etc/passwd o /etc/shadow (según como hayamos planificado nuestro sistema); es por eso que antes de poner el password, debemos encriptarlo, si quisiéramos poner ... -p arturito, el comando interpretaría como que arturito ya es la palabra encriptada, entonces al tratar de hacer un login, no funcionaría.
#!/bin/bash
if test -f $1; then
i=1
cantidad=$(cat $1wc -l)
while test $i -le $cantidad; do
login=$(head -$i $1tail -1cut -f1 -d:)
comen=$(head -$i $1tail -1cut -f2 -d:)
passw=$(mkpasswd $login)
grupo=1001
useradd -m -c "$comen" -g $grupo -p $passw $login
echo $comen "agregado"
let i++
done
else
echo "No existe el archivo"
fi
¿Que es el Master Boot Record?
Es un sector de 512 bytes al principio del disco duro que contine una secuencia de comandos necesarios para cargar un sistema operativo. Es decir, es el primer registro del disco duro, el cual contiene un programa ejecutable y una tabla donde están definidas las particiones del disco duro.
También el primer sector de cada partición, en arquitectura del PC de IBM, tiene la misión de arrancar sistema operativo. Normalmente el MBR lo único que hace es ejecutar el sector de arranque de la partición marcada como arrancable.
Es el primer sector físico (Cilindro 0, Cabeza 0, Sector 1) asignado a un disco duro en un sistema (el primer disco duro con el número de periférico-BIOS 0x80). Cada disco duro recibe un MBR, pero no todas las BIOS pueden arrancar el sistema operativo desde cualquiera de los discos duros. Cuando se arranca desde el disco duro, la BIOS copia el contenido del MBR en una dirección fija de la memoria para luego darle el control. Este código arrancará seguidamente el sistema operativo, ya sea desde el disco duro o desde un Boot-Loader o cargador, algo más complejo, como por ejemplo LILO o GRUB.

El Magic number indica que la tabla de partición es válida.
La tabla de partición tiene cuatro entradas de 16 bytes cada una.
La siguiente tabla representa una de ellas
| 1B | AF | Bandera de partición activa (active flag) |
| 3B | CHS | Cilindro, cabeza y sector de donde empieza esta partición |
| 1B | ID | Identificador (Tipo de partición) |
| 3B | CHS | Cilindro, cabeza y sector del final de la partición |
| 4B | Offset LBA | Sector absoluto de inicio (Tiene que ser coherente con CHS) |
| 4B | Tamaño LBA | Tamaño en sectores absolutos |
En el disco duro hay solo 4 particiones primarias. Las particiones extendidas son contenedores de otras tablas de particiones.
Los sistemas operativos generalmente permiten solo una partición extendida.
Comando dd
El comando dd (disk dump o volcado de disco) copia de la entrada estándar a la salida estándar. Los datos de entrada son leídos y escritos en bloques por defecto de 512 bytes, aunque le podemos indicar que sean de otro tamaño con el parámetro bs (block size)
Ejemplo:
dd if=/dev/zero of=/dev/hda (copia el valor 0 en todo el disco duro)
dd if=/dev/random of=/dev/hda (copia numeros aleatorios en todo el disco duro)
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 (Copia el primer sector del disco duro, el MBR, al primer sector del diskette. Con el parámetro count le decimos que cantidad de bloques queremos que se copien, en este caso, solo uno. Esta es la forma de hacer un respaldo del MBR)
No hay comentarios.:
Publicar un comentario