M6 UF2 . Indicacions per a la configuració d’un RAID-1 en OpenSuse

Descriuré en aquest apunt algunes indicacions per a muntar un RAID-1 amb la distribució OpenSuse emprant el programa VirtualBox.

La configuració dels discs en la màquina virtual del VirtualBox serà la següent:

raid-0

 

Procedim a instal·lar l’OpenSuse amb normalitat. De fet, la configuració del RAID és molt senzilla i la podem fer a través de l’assistent d’instal·lació. Afegeix-ho aquí un parell de captures de pantalla indicatives:

 

La resta consisteix en instal·lar la distribució amb normalitat.

 

Visualització de l’estat del RAID

 

Una vegada tinguem el sistema operatiu funcional, podem executar la comanda següent per a descobrir la ubicació on s’ha muntat cada dispositiu:

df -k

El RAID recau en el dispositiu /dev/md0

Emprant qualsevol de les comandes següents podem observar l’estat del RAID:

more /proc/mdstat
mdadm --detail /dev/md0

Nota: Aquest darrer programa prové del paquet: mdadm.

 

Simulem (via software) la fallida d’un disc

 

Es tracta, evidentment, d’una fallida a nivell de programari. Veurem que el sistema continua funcionant amb tota normalitat. Establim la fallida amb la comanda següent:

mdadm --manage --set-faulty /dev/md0 /dev/sda1

Fixem-nos com ha canviat l’estat del RAID emprant les comandes que hem vist anteriorment.

El següent pas serà suprimir el disc avariat del RAID.

mdadm /dev/md0 -r /dev/sda1

i el tornem a afegir amb la comanda:

mdadm /dev/md0 -a /dev/sda1

És interessant veure com es reconstrueix el RAID amb les comandes de visualització de l’estat.

 

 

 

 

 

Exemple del bit setuid – GNU/Linux

Desitjava escriure, en aquest apunt, un petit exemple de la utilització del bit setuid en entorns GNU/Linux.

Aquest bit s’utilitza per tal de permetre a usuaris del sistema executar programes amb privilegis més alts de manera temporal solament per a realitzar una tasca específica. En aquest apunt escrivim un petit exemple il·lustratiu.

Considerem en aquest cas que alguns usuaris del sistema haurien de poder consultar el fitxer ubicat a /etc/shadow però:

gerard@linux-aowa:~> more /etc/shadow
/etc/shadow: S’ha denegat el permís

Generem un güió anomenat a.sh amb el contingut següent:

#!/bin/bash
cat /etc/shadow

i hi assignem els permisos següents:

chown root:root a.sh
chmod 4755 a.sh

Però, com veiem, això continua sense funcionar:

gerard@linux-aowa:~> ./a.sh
cat: /etc/shadow: S’ha denegat el permís

Aquest és, si no vaig errat, el sistema tal i com funcionava tracionalment el bit setuid, però moltes distribucions no permeten, ara per ara, aquesta característica.

La solució consisteix en escriure un petit programa en C:

gerard@linux-aowa:~> more a.cpp
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
setuid( 0 );
system( "./a.sh" );

return 0;
}

El compilem

gcc -o a.out a.cpp

i, com a superusuari:

chown root:root a.out
chmod 4755 a.out

Ara, ja com a usuari “normal”:

gerard@linux-aowa:~> ./a.out
at:*:15157:0:99999:7:::
avahi:*:15157:0:99999:7:::
bin:*:15032::::::
daemon:*:15032::::::
dnsmasq:*:15157:0:99999:7:::
ftp:*:15032::::::
games:*:15032::::::

 

Comanda per a moure fitxers d’un determinat any (GNU/Linux)

Problema: Com moure d’una carpeta tot un seguit de fitxers d’un any determinat.

Solució:

ls -l  | awk '{if ($8 == "2007") print $9}' | xargs -i mv {} test/

Els paràmetres $8 i $9 es refereixen al número de la columna resultant de la comanda ls. En aquest cas, a $8 hi apareix l’any de creació del fitxer (2007 en aquest exemple) i, a $9, el nom del fitxer.