dilluns, 23 de juliol del 2018

M1 UF1 Resultat d'aprenentatge 1

La primera competència professional que ens trobem en començar el mòdul 1 - Implantació de sistemes operatius és:


Resultat d’aprenentatge: RA1: Instal·la sistemes operatius, analitzant les seves característiques i interpretant la documentació tècnica.
 
A continuació detallem els continguts de l'àrea de coneixement, les realitzacions professionals relacionades, i expliquem una mica de que va tot plegat.

Els continguts


1. Fonaments de sistemes informàtics
1.1. La informació digital. Codificació de la informació.
1.2 Estructura funcional i components d'un sistema informàtic.
1.3 Microprocessadors. Execució d’instruccions. Programació d’ordinadors.
1.4 Placa base i altres components de maquinari. Perifèrics i adaptadors per a la connexió de dispositius.
2. Fonaments de xarxes d’ordinadors
2.1 Tipus de xarxes, cablatge i connectors. Mapa físic i lògic d’una xarxa. Dispositius de xarxa.
2.2 Protocols de xarxa. Serveis orientats i no orientats a connexió. Qualitat de servei (QoS).
2.3 Adreçament. Protocol IP.
2.4 La xarxa de xarxes: Internet. Estructura a gran escala de la xarxa. Proveïdors d’accés. Protocol DNS.
3. Fonaments de sistemes operatius i de programari
3.1.Arquitectura i funcions d'un sistema operatiu. El nucli del sistema.
3.2. Tipus de sistemes operatius: formes de classificar-los.
3.3 Gestió de la memòria i dels processos. Planificació.
3.4 El sistema de fitxers. Gestió de l’espai en disc.
3.5 Gestió dels dispositius.
3.6. Programari: de sistema i d’usuari. Tipus d'aplicacions
3.7. Llicències i tipus de llicències.
4. Fonaments de virtualització de sistemes informàtics
4.1 Virtualització de maquinari: utilitat, variants. Programari de virtualització.
4.2 Creació, configuració i gestió de màquines virtuals.
5. Instal·lació de programari
5.1. Instal·lació de sistemes operatius. Requisits, versions i llicències. Consideracions prèvies a la instal·lació.
5.2. Gestors d'arrencada: funcions, instal·lació i configuració. El procés d’arrencada. Fitxers d'inici de sistemes operatius.
5.3. Instal·lació / desinstal·lació d'aplicacions. Requisits, versions i llicències.
5.4. Actualització de sistemes operatius, d’aplicacions i de controladors de dispositius.
5.5 Registres del sistema. Repositoris de programari.
5.6. Resolució d'incidències d'instal·lació de programari.
 

Les realitzacions professionals relacionades, que es poden usar com criteris d'avaluació de la competència, són:

Criteris d’avaluació:

 

1.a (*) Descriu un sistema informàtic, i identifica els seus elements funcionals i mecanismes d’interconnexió.
1.b Identifica les característiques, funcions i arquitectura d'un sistema operatiu.
1.c Compara diferents sistemes operatius, les seves versions i llicències d'ús, en funció dels seus requisits, característiques i camps d'aplicació.
1.d Realitza instal·lacions de diferents sistemes operatius.
1.e Preveu i aplica tècniques d'actualització i rescats.
1.f Soluciona incidències del sistema i del procés d'inici.
1.g Utilitza eines per conèixer el programari instal·lat en el sistema i el seu origen.
1.h (*) Elabora documentació i presentacions orals relativa a les tasques realitzades i de suport de les instal·lacions efectuades i les incidències detectades.
1.i (*) Identifica i coneix les característiques dels elements principals del maquinari d’un sistema informàtic
1.j (*) Identifica i coneix les característiques de les xarxes d’ordinadors
1.k (*) Realitza instal·lacions, desinstal·lacions i configuracions de programari en diferents sistemes operatius
1.l (*) Utilitza i gestiona repositoris de programari i paquets d'instal·lació
1.m (*) Soluciona problemes de dependències de paquets i versions
1.n (*) Utilitza màquines virtuals per a realitzar tasques de instal·lacions de sistemes operatius i analitzar els seus resultats.
1.o (*) Realitza les tasques de forma autònoma i responsable, en cooperació amb l’equip de treball assignat.

Breu resum de la competència

Quan prestem serveis com a tècnics informàtics, una de les tasques habituals es instal·lar i mantenir sistemes operatius i el programari instal·lat en els equips, així com resoldre les incidències que aniran surtin en el dia a dia. Quan volem assolir un nivell superior de competència en aquesta tasca, és necessari conèixer bé els fonaments del que tenim entre mans: els sistemes informàtics; per això, el primer que hem de fer és conèixer els seus fonaments; conceptes com sistemes digitals, dades binàries, procés de dades, joc de instruccions, unitats funcionals, etc etc els hem de conèixer prou bé.  

Un exemple de lloc de treball relacionat amb la competència és el següent, extret de infojobs:



Cal tenir clar quins són els conceptes bàsics dels que parlem; són tots aquells que ens parlen de què és la informació digital, què és un ordinador digital, quines són les seves funcions  i la seva estructura, què és un programa, que vol dir programar un ordinador, què és un sistema operatiu, què és una xarxa d'ordinadors ...

En el cas de les xarxes, tant si anem a dedicar-nos a la programació com a la implementació de sistemes o d'altres perfils professionals dins de la Informàtica, les xarxes estaran sempre presents; és per això que ens cal tenir una base general de conceptes relatius a les xarxes d'ordinadors.  

Serem doncs competents en aquest aprenentatge professional quan estem capacitats per entendre com funciona i com està estructurat un sistema informàtic, com es connecten sistemes en xarxa, que són els sistemes operatius i els programes, com s'instal·len i es mantenen actualitzats, i ho demostrem amb evidències i cooperant amb un equip de treball en el que ens integrem.

Algunes fonts d'informació

És un tema molt ampli, i la informació disponible és molt nombrosa. Només donarem algunes fonts, classificades per temes i nivells: iniciació (pensat per alumnat que no ha fet cap cicle de informàtica, i te els coneixements tècnics a nivell d'usuari), professional (nivell de cicle de grau superior, és l'exigible per el títol superior) i avançat (nivell ampliació de coneixements, optatiu per qui tingui interès en investigar un tema concret). 

Àrea Fonaments de sistemes informàtics

1) Nivell iniciació
2) Nivell professional
 3) Nivell avançat
Àrea Fonaments de xarxes d’ordinadors

1) Nivell iniciació
2) Nivell professional






diumenge, 12 de novembre del 2017

Virtualització de xarxes amb Virtual Box

A l'article Virtualització de màquines ambVirtual Box  es dedica un apartat breu a les possibilitats de virtualització de la xarxa (apartat Xarxes amb Virtual Box). Aquí ampliem aquesta informació.

Xarxes Virtual Box 

Podeu canviar els modes de xarxa, IP i altres configuracions de xarxa en el gestor de Virtual Box anant a Màquina -> Paràmetres -> Xarxa o bé en qualsevol màquina virtual anant a Dispositius -> Xarxa. Aquests són els modes de xarxa que funcionen amb ordinadors convidats de VirtualBox:

  • NAT: per defecte, només per connexió a Internet, cap altre connexió
  • Xarxa única d'amfitrió: es veuen les màquines amfitrió i la virtual, sense Internet
  • Xarxa amb pont (bridge): la màquina virtual es comporta com una màquina més a la xarxa física, totes es veuen entre sí, si la màquina amfitrió surt a Internet, llavora la virtual també
  • Xarxa interna: només es connecten les màquines virtuals entre sí que estiguin en una mateixa màquina amfitrió
  • Xarxes NAT: podem formar grups de màquines virtuals que es veuen entre sí però no a la resta de màquines, ni virtuals ni reals, ni Internet
  • No connectat: màquina sense xarxa

Configuració NAT

NAT (Network Address Translation: Traducció d'adreces de xarxa) és la forma més senzilla d'accedir a una xarxa externa des d'una màquina virtual i és el mode de xarxa predeterminat en VirtualBox quan creem una màquina virtual (MV). Proporciona IPs automàtiques i connexió a Internet.

Una MV amb NAT habilitada actua com una de real que es connecta a Internet a través d'un enrutador, que, en aquest cas, és el propi programa VirtualBox, que fa de router entre cada màquina virtual i la màquina host amfitrió; en aquesta configuració les màquines virtuals no es veuen entre si.

Normalment usem NAT només per que la MV surti a Internet,  igual que una xarxa privada darrere d'un enrutador, la MV és invisible i inaccessible des de l'exterior, no podeu usar la MV com a servidor d'aquesta manera, excepte si es configura el reenviament de ports.

Els paquets TCP de xarxa enviats pel sistema operatiu convidat són rebuts pel component NAT de VirtualBox, que extreu les dades TCP / IP i les reenvía a Internet mitjançant el sistema operatiu host. Des de una aplicació allotjada a la màquina amfitrió o a una altra computadora de la mateixa xarxa que l'amfitrió, sembla com si les dades siguessin enviades per l'aplicació VirtualBox a l'amfitrió, utilitzant una adreça IP que pertany a l'amfitrió, per tant, la màquina virtual queda totalment oculta a Internet.

Configuració en adaptador pont

Amb xarxes configurades amb adaptador pont, La IP de la MV és manual (la especifica l'usuari); VirtualBox intercepta les dades de la xarxa física i li injecta les dades de la virtual, creant una nova interfície de xarxa: la màquina amfitrió pot enviar dades a la virtual i rebre dades d'aquesta, i també entre la MV i la resta de la xarxa física. Perquè això funcioni, VirtualBox necessita instal·lar un controlador de dispositiu al sistema host.

En el cas de que el host tingui connexió wifi la connexió pont es realitza de manera diferent: tot el trànsit ha d'utilitzar l'adreça MAC de l'adaptador inalàmbric de l'amfitrió i, per tant, VirtualBox necessita reemplaçar l'adreça MAC d'origen en l'encapçalament Ethernet dels paquets TCP per assegurar-se que la resposta s'enviarà a la interfície de l'amfitrió. Quan VirtualBox veu un paquet entrant amb una adreça IP de destinació que pertany a un dels adaptadors de la màquina virtual, reemplaça l'adreça MAC de destinació al encapçalament Ethernet amb l'adreça MAC de l'adaptador  de la MV i la transmet així. VirtualBox necessita examinar els paquets ARP i DHCP per conèixer les adreces IP de les màquines virtuals.

Configuració en xarxa interna


Les xarxes internes són similars a les xarxes en pont en que la MV pot comunicar-se directament amb el món exterior, però el "món exterior" es limita a altres VM allotjades en el mateix host i que es connecten a la mateixa xarxa interna. L'assignació d'IPs a les MV és manual.

En el mode de xarxa en pont tot el trànsit passa per la interfície física del sistema host,  per tant, és possible connectar un programa que intercepti paquets de xarxa (com Wireshark) a la interfície de l'amfitrió i registrar tot el trànsit. Si el que volem és dues o més màquines virtuals a la mateixa màquina amfitrió per comunicar-se enter sí de manera privada, amagant les seves dades tant del sistema host com de l'usuari, la xarxa en pont no és l'opció, millor la xarxa interna.

Les xarxes internes es creen automàticament segons sigui necessari: quan hi ha més d'una targeta de xarxa virtual activa amb la mateixa identificació de xarxa interna, el controlador de suport de VirtualBox automàticament "connectarà" les targetes i actuarà com a interruptor de xarxa. El controlador de suport de VirtualBox implementa un commutador Ethernet complet i admet broadcast / multicast i mode promiscu. 

Configuració xarxa única d'amfitrió (host-only network)


Activem aquesta modalitat en el panel de control de Virtual Box -> Fitxer ->Preferències -> Xarxa -> Xarxes de només amfitrió. Quan afegim una connexió, se'ns crea una configuració automàticament com la de la imatge; porta incorporat un servei DHCP de assignació automàtica d'IPs:


VirtualBox instal·la una targeta d'interfície de xarxa addicional (NIC: Network Interface Card) a l'ordinador amfitrió per identificar-se mentre es comunica amb el client. Per defecte, l'amfitrió obté l'adreça IP de 192.168.56.1:




També podem afegir un altre connexió personalitzada, amb la IP donada per nosaltres i sense DHCP, per exemple:


En aquesta segona configuració caldrà assignar manualment a la MV una IP; en qualsevol cas, la MV no tindrà accés directe a Internet.

Xarxes NAT

Són xarxes internes, en el sentit de que les màquines virtuals no tenen accés a la xarxa física ni a Internet la diferencia amb la configuració "xarxa interna" és que amb les xarxes NAT podem crear vàries xarxes virtuals sense connexió entre xarxes.

Activem aquesta modalitat en el panel de control de Virtual Box -> Fitxer ->Preferències -> Xarxa -> Xarxes NAT


Després, en la màquina virtual, triem en l'adaptador de xarxa la connexió:


Combinació de configuracions de xarxa

Donat que en una MV podem afegir fins a quatre adaptadors de xarxa virtual, una MV pot connectar-se usant diferents combinacions de les configuracions possibles, com ara combinar NAT + xarxa interna, que proporcionaria a la MV sortida a Internet i connexió a altres MV però amagant-la de la xarxa real i d'Internet.

La següent figura mostra una xarxa física i una de virtual on s'utilitzen totes les possibilitats.

Podeu veure una explicació d'aquest diagrama en el vídeo Classe en vídeo: virtualització de la xarxa amb VirtualBox.

En la següent imatge veiem el llistat de configuracions en una MV Linux que té activades tres targetes de xarxa: una en NAT, altre en xarxa interna i altre en adaptador pont:




dimecres, 18 d’octubre del 2017

La programació de sistemes

Sovint, els estudiants de informàtica veuen el món de la programació i el món dels sistemes informàtics (el maquinari, el sistema operatiu i les xarxes) com mons separats, creient que ser un tècnic en sistemes o en xarxes implica no tenir necessitat de escriure mai codi de programació. Aquesta creença està reforçada per les facilitats que els moderns sistemes operatius (SO) orientats a usuaris ofereixen per administrar els sistemes, amb entorns visuals on pràcticament no cal escriure res, només cal clicar objectes i menús.

No obstant, per un professional de la informàtica, aquesta separació entre administració de sistemes i programació és fictícia, si la mantenim, llavors com a administradors de sistemes estarem molt limitats a fer tasques no massa complexes. Veiem per què.

Programes configurables

Els programes estan dissenyats per fer una feina concreta d'una forma determinada, la que ha decidit el programador; no obstant, molts programes incorporen la possibilitat de personalitzar-los, modificant la seva configuració. 
Opcions de configuració d'un programa d'usuari
Quan configurem un programa, de fet estem canviant el seu comportament, és com si l'estiguéssim "re-programant", però sense usar codi si no finestres de propietats.

El sistema operatiu, que també és un programa, només que molt gran i complex, també és configurable, per tant podem re-programarlo fàcilment usant finestres i propietats.

Configuració de Windows
En el cas de sistemes operatius més professionals i oberts (això significa que són més configurables, però al mateix temps més difícils de configurar) moltes de les opcions de configuració ja no son visuals, si no textuals.

Configuració d'un servidor Samba en Linux, en mode text
Fixeu-vos que aquest tipus de configuració textual comença a semblar-se a un llenguatge de programació; de fet, no pots escriure qualsevol cosa: hi han uns comandaments vàlids, amb una sintaxi molt exacte, i si escrius malament alguna paraula resulta un error de configuració. L'avantatge d'aquesta configuració textual és que poden haver centenars d'opcions, cada una amb desenes de variants (per tant, centenars x desenes = milers d'opcions) que difícilment es poden representar amb finestres visuals, i si ho féssim, serien complicades i lentes d'utilitzar. En canvi un expert en el sistema operatiu és capaç de configurar el sistema molt ràpidament si coneix de memòria els comandaments que necessita.


La potència dels comandaments del sistema

Un altre àmbit on l'administració de sistemes si acosta molt a la programació és el dels comandaments del sistema.
Ajuda del comandament sftp de Windows, un client de transferència remota de fitxers amb encriptació
Els comandaments incorporats al sistema (en el cas de Linux hi han uns 500, veure aquesta llista, per exemple) permeten executar operacions i programes molt més ràpidament que no pas amb el procediment d'anar obrint finestres i clicar en les opcions. Un tècnic experimentat usant comandaments pot assolir una velocitat d'operació fins a 5 vegades o més superior que no utilitzant l'entorn gràfic. En aquest vídeo es pot veure com una operació simple com és (1) crear una carpeta, (2) copiar els fitxers del tipus pdf a la nova carpeta, es completa amb la meitat de temps usant comandaments. Si l'operació és més complexe, la diferència de velocitat augmenta. A més a més, hi han operacions que no es poden fer amb l'entorn gràfic i sí es poden fer amb comandaments.

Programació amb comandaments del sistema

Un programa d'administració que conté comandaments i variables del sistema

La següent possibilitat, en ordre de complexitat, consisteix en escriure seqüències de comandaments del sistema en un fitxer executable, de forma que tots els comandaments s'executen alhora quan obrim el fitxer. Això permet a l'administrador del sistema crear fitxers de control, com ara de creació d'usuaris, per cancel·lar la connexió a Internet, o per fer còpies de seguretat,  i no tenir que escriure totes les ordres cada cop que ho necessiti.

Els SO moderns han potenciat aquesta possibilitat, afegint variables i estructures de control algorísmic, de forma que ja no són simples seqüències de comandaments, si no autèntics programes de administració del sistema.

Personalització del SO

El fet de poder escriure programes d'administració permet de crear nous comandaments del sistema, personalitzant el SO. Per exemple, el següent codi Linux, guardat en un fitxer executable anomenat newers, es comporta com un nou comandament afegit al sistema, que fa un llistat de tots els fitxers que siguin més actuals que un altre que li donem:

#newers
 #mostra tots els fitxers més moderns que un que li passem com
a paràmetre
ls -t | sed '/^'$1'$/q'

Llavors podem usar el programa com a comandament:

[jordi@linux_laptop scripts]$ ./newers lscripts
newers
patro

Els fitxers newers i patro són més moderns que el fitxer lscripts.

Conclusió

Creure que l'administració de sistemes no utilitza la programació no només és incorrecte, si no que ens limita molt les nostres possibilitats professionals com a tècnics.

dijous, 5 d’octubre del 2017

Glossari de termes de sistemes operatius



Gestió de la memòria:  La gestió de memòria és una forma de gestió de recursos aplicada a la memòria de l'ordinador. El requisit essencial de la gestió de memòria és proporcionar maneres d'assignar dinàmicament parts de memòria als programes a la seva sol.licitud, i alliberar-la per a la seva reutilització quan ja no sigui necessari. Això és fonamental per a qualsevol sistema informàtic avançat on es pugui trobar més d'un procés en qualsevol moment.

Gestió de processos: La gestió de processos és part integrant de qualsevol sistema operatiu modern (SO). El SO ha d'assignar recursos als processos, permetre que els processos comparteixin i intercanviïn informació, protegeixin els recursos de cada procés d'altres processos i permetin la sincronització entre processos.

Sistema de fitxers: els sistemes de fitxers s'utilitzen per controlar com s'emmagatzemen i es recuperen les dades. Separen les dades en "trossos" que emmagatzemen de forma independent. Prenent Cada grup de dades s'anomena "fitxer". Les regles d'estructura i lògica utilitzades per gestionar els grups d'informació i els seus noms s'anomena "sistema de fitxers". El sistema de fitxers gestiona l'accés tant al contingut dels fitxers com a les metadades sobre aquests fitxers. És responsable d'organitzar espai d'emmagatzematge; la fiabilitat, l'eficiència i l'afinació pel que fa al mitjà d'emmagatzematge físic són importants consideracions de disseny.


Sistema operatiu: Un sistema operatiu (SO) és un programari que, després de ser carregat a l'ordinador mitjançant un programa inicial d'arrencada, gestiona els recursos d'una computadora, controlant el flux d'informació cap i des d'un processador principal. Els sistemes operatius realitzen tasques complexes, com ara la gestió de la memòria, el control de pantalles i altres dispositius perifèrics d'entrada / sortida, la gestió de xarxes i la gestió d'arxius, i altres funcions d'assignació de recursos entre el programari i els components del sistema. El SO proporciona la base sobre la qual funcionen les aplicacions, maquinari i altres components d'infraestructura. Un sistema operatiu sol proporcionar interfícies d'usuari, com la línia de comandaments i la interfície gràfica d'usuari, per a la interacció entre l'usuari i l'ordinador.

dimarts, 25 d’octubre del 2016

Validació LDAP en Linux Ubuntu

Introducció i objectius

LDAP (Ligthweight Directory Access Protocol) és la combinació de:
  • Una base de dades no relacional, si no jeràrquica, optimitzada per fer consultes ràpides, i per guardar dades molt heterogènies amb una despesa d'espai mínim. L'estructura de la base de dades la podeu veure aquí: http://somebooks.es/?p=3444
  • Un servei de directori de xarxa: els serveis de xarxa proporcionen funcions del tipus client que fa un requeriment -> servidor que li respon; els directoris de xarxa són contenidors virtuals de definicions de objectes/recursos que estan disponibles en una xarxa. Els serveis de directori de xarxa proporcionen accés als clients per fer consultes sobre el directori de xarxa, situat en el servidor.
  • Un protocol d'accés al directori; un protocol de xarxa és un conjunt de normes d'accés a un servei, de forma que un client i un servidor poden comunicar-se, fins i tot si tenen sistemes operatius diferents. Això és possible per que tots dos instal·len el mateix protocol que utilitzen per comunicar-se.
  • Un conjunt de programari i fitxers de configuració; per exemple, en el servidor ha d'haber un procés de sistema, que és un "dimoni" en el cas de Linux i la implementació de LDAP anomenada OpenLDAP que es diu slapd (Standalone LDAP Daemon).
El ús típic que se li dona a LDAP és el de validació d'usuaris: per accedir als recursos distribuïts en una xarxa cal identificar-se com a usuari; el servei LDAP pot fer-ho de forma molt eficient, i en xarxes heterogènies. 

Els objectius que ens plantegem són: instal·lar i configurar un servidor i un client OpenLDAP de forma que des del client es pugui iniciar sessió en el servidor usant un compte d'usuari LDAP, en lloc d'usar els comptes d'usuari inclosos en el servidor. La màquina que fa de servidor inicialment va ser un un Debian 8.5 server, però vaig veure que hi havien problemes de dependències de paquets auxiliars amb la darrera versió d'OpenLDAP, la 3, així que finalment s'ha fet amb un Ubuntu 14.04 amb 1Mb de RAM; com a clients utilitzarem un altre Ubuntu 14.04 i un Windows 7.

Instal·lació i configuració del servidor OpenLDAP

Per instal·lar el servei fem:

sudo apt-get install slapd ldap-utils

on slapd és el servei (daemon) LDAP, i ldap-utils un paquet de comandaments en línia per LDAP, com ara ldapadd per afegir objectes al directori, veure https://wiki.debian.org/LDAP/LDAPUtils  per més detalls.Ens preguntarà la password que vole donar a l'administrador LDAP: escric alumne.

La configuració inicial de LDAP la fem així:

 dpkg-reconfigure slapd

  • Ens preguntarà l'adreça DNS de l'arrel de l'arbre LDAP , en el meu cas és asix.org, (que posteriorment en nomenclatura LDAP es transformarà en DC=asix, DC=org). 
  • Després pregunta el nom de l'organització, en el meu cas, asix.
  • Haurem de donar la que serà la contrasenya de l'administrador LDAP.
  • Després ens pregunta la nostra preferència sobre el "motor" de base de dades que usarà LDAP, acceptem HDB. 
HDB (Hummer Data Base) és un motor de BD en xarxa, desenvolupat en llenguatge C destinat a aplicacions de telecomunicacions bancàries, sistemes MIS (https://en.wikipedia.org/wiki/Management_information_system), terminals mòbils i PDAs, etc. 
  • Podem contestar que no es purgui la BD; la resta de preguntes acceptem la resposta per defecte.

Afegir contingut a la BD LDAP

Ho farem directament amb comandaments, tot i que es podria usar utilitats amb interfície gràfica, com ara JXplorer (Java) o phpldapadmin (interfície web: cal instal·lar Apache + PHP + MySQL i configurar-ho).

Creem un fitxer de text pla, que li dic grups.ldif,  amb un editor com ara gedit, nano, etc. En aquest fitxer escriurem la definició dels camps de cada entrada que volem afegir a la BD. Per començar,  creem dues unitats organitzatives:



Els objectclass són els tipus de dades de LDAP; les dades de tipus organizationalUnit defineixen contenidors per altres objectes. Per importar aquest fitxer a LDAP fem:

ldapadd -x -D cn=admin,dc=asix,dc=org -W -f grups.ldif

Després creem un altre fitxer de text amb els usuaris, en el meu cas només un:

Els ObjectClass indiquen que l'entrada és del tipus "persona de l'organització", "compte d'usuari segons l'estàndard POSIX", i compte de seguretat (shadowAccount). Els camps estan relacionats amb aquests tipus d'objecte; per exemple, és obligatori indicar el uid (user identifier) per entrades de tipus inetOrgPerson. Importem aquest fitxer com abans:


ldapadd -x -D cn=admin,dc=asix,dc=org -W -f usuari.ldif

Podem comprovar que s'ha importat tot bé amb el comandament slapcat que llistarà el contingut de tota la BD.

Autenticació d'usuaris usant LDAP


Per usar el servei LDAP per autenticar comptes d'usuaris caldrà reconfigurar la autenticació del servidor, que ara com ja sabem està utilitzant uns fitxers situats en /etc  (com ara /etc/passwd, etc/groups ...); el servei que llegeix aquests fitxers i realitza l'autenticació estàndard d'usuaris s'anomena NSS (Name Services Switch) i la configuració d'aquests servei es fa amb el fitxer /etc/nsswitch.conf. Per tant, el que cal fer es "connectar" el servei NSS amb el servei LDAP.

LDAP - NSS


Per fer-ho tenim el paquet libnss-ldap; per instal·lar aquest paquet:

apt-get install libnss-ldap -y

  • Ens demanarà la IP o nom del servidor LDAP, podem posar la IP o bé donar un nom, com ara ldapserver.asix.org, que previament haurem afegit al fitxer /etc/hosts o encara millor, en un servidor DNS de la xarxa local.
  • A continuació ens demana el nom de l'arrel de l'àrbre LDAP, en el meu cas vaig posar DC=asix, DC=org. 
  • Després ens pregunta per la versió d'OpenLDAP, posem la 3. A continuació ens fa una pregunta una mica críptica sobre una llibrería anomenada PAM.

PAM (Plug-in Authentication Module) és un altre component del mecanisme d'autenticació en Linux; és un plug-in: un complement que permet que aplicacions diverses puguin també fer autenticació d'usuaris; per exemple, si instal·lem un Wordpress en aquesta màquina i volem que els usuaris locals siguin reconeguts com usuaris Wordpress, caldrà que Wordpress "es connecti" al plug-in PAM. 
Connexions entre LDAP i PAM

  • Les utilitats que usin PAM-LDAP per l'autenticació veuran tot com si estiguessin treballant amb les contrasenyes locals de la màquina (les de /etc), però de fet estaran guardades en un fitxer diferent al que només l'administrador tindrà accés. Acceptem.
  • El següent pas l'acceptem tal com ve: tothom pot fer consultes a la BD LDAP sense necessitat d'autenticar-se.
  • Ara ens demana el nom de l'administrador LDAP i després la seva password, prenem bona nota!


  • La darrera pregunta és si volem o no encriptar les passwords, acceptem encriptar-les

Configuració dels clients Linux per tal de que validin els usuaris usant el servidor LDAP

Per fer una primera prova, configurarem el propi servidor per que puguem entrar i iniciar sessió amb els usuaris LDAP, a més a més de amb els usuaris del sistema. Fem:

auth-client-config -t nss -p lac_ldap

L'opció nss diu que modifiquem l'autenticació estàndard d'usuaris NSS, "connectant-la" amb LDAP usant el fitxer de configuració lac_ldap, que s'ha generat automàticament al configurar el paquet libnss-ldap en el pas anterior.  Aquest comandament no retorna cap missatge.

Després, actualitzem la configuració del plug-in PAM:

pam-auth-update

Veurem que ens pregunta quins mètodes de autenticació de usuaris volem activar:


La 2a veiem que és LDAP; si ho deixem així, els usuaris seran reconeguts per qualsevol d'aquests mètodes.

Ja podem fer una prova: obrim una consola de text usant Control + Alt + F1 (o bé en Virtual Box Control dret + F1, i provem a obrir sessió amb l'usuari LDAP, que no és usuari estàndard Linux.







Instal·lació d'un servidor NFS sobre Ubuntu

NFS (Network File System) és un sistema de fitxers especialment dissenyat per compartir fitxers en xarxa. Permet muntar localment carpetes remotes com si estiguessin en la màquina local.

A continuació instal·lem i configurem un servidor de fitxers NFS, i un client, per fer proves.

Servidor NFS

Utilitzo una màquina virtual Ubuntu 15.04. Primer de tot faig un apt-get update per actualitzar els repositoris. Després:

sudo apt-get install nfs-kernel-server nfs-common rpcbind

El paquet nfs-kernel-server  és el servidor NFS, 

Configuració de les carpetes compartides

Cal editat el fitxer /etc/exports i afegir allí les carpetes que volem compartir a la xarxa. Conté una linea per cada directori del servidor que volem compartir. L'estructura d'aquesta linea és:

directorio equipo1(opcion11,opcion12) equipo2(opcion21,opcion22)
  • directori: És el directori a compartir.
  • Equipo1, equipo2, ...: Clients que tindran accés al directori compartit. Aquests equips es podran indicar per la seva IP o adreça DNS (per exemple: pc010.ibc.org o 192.168.0.69).
    option: Són les opcions que ens permetran tenir accés a aquests directoris amb determinats privilegis, només veiem les més necessàries, que poden ser
    • ro | rw: read-only o read-write
    • sync | async : amb sync (síncron) NFS no respon a les peticions fins que els canvis que efectua l'usuari realitzats siguin escrits al disc. Amb l'opció async (asíncron) es permet millorar el rendiment i agilitar el funcionament global, però suposa un risc de corrupció de dades si es produeixn fallos del servidor o de la xarxa.
    • Secure /insecure: especifica que NFS pot no usar/usar els ports amb nombre superior al 1024; segons experiència pròpia, si treballem amb una màquina virtual cal especifica l'opció insecure.
Exemple:

/home/user/compartit 10.0.2.0/255.255.255.0(rw,insecure)

especifica que els ordinadors de la xarxa 10.0.2.x poden accedir al directori /home/user001/compartit amb drets de lectura i escriptura per NFS usant qualsevol port. Caldrà que donem els permisos chmod 777 al directori compartit del servidor.

Nosaltres ara farem simplement:

/home/ubuntu        *(ro)

significa compartir la carpeta local /home/ubuntu  amb drets de només lectura; caldrà assegurar-se que aquesta carpeta te els permisos oberts per el grup altres (others).

Reiniciem el servei:

/etc/init.d/nfs-kernel-server restart



Alternativament, en comptes de reiniciar el servidor, podem forçar a que s'actualitzi fent exportfs -r
Ja podem provar a accedir-hi; abans de provar amb una màquina client, està bé provar a accedir-hi des de el propi servidor. Per fer-ho, cal muntar la carpeta compartida (que ara és com si sigues remota) en un directori local; suposem que volem muntar la carpeta remota IP_servidor://home/ubuntu en la carpeta local /mnt/prova-nfs, farem:

mount 127.0.0.1://home/ubuntu /mnt/prova-nfs

Un cop muntada ja podem fer proves d'accés a la carpeta muntada. 


Fig. 1: accedim a /home/ubuntu a través de /mnt/prova-nfs

Per accedir des d'un client, caldrà que aquest tingui instal·lat els paquets nfs-common rpcbind; després, per accedir a les carpetes compartides, simplement les muntem com hem fet en el servidor. Cap complicació addicional.



divendres, 1 d’abril del 2016

Instal·lacions desateses


Una instal·lació desatesa (sense intervenció de l'usuari) i una instal·lació silenciosa (sense mostrar el progrés de la instal·lació) no són estrictament el mateix. Tot i això, és habitual que s'usin els dos termes per designar el mateix: una instal·lació sense intervenció. En el cas de la instal·lació silenciosa és desatesa, però els paràmetres es prenen per defecte, mentre que en la desatesa generem un fitxer amb els valors dels paràmetres (fitxer de respostes).

Continguts:

  • Instal·lació silenciosa en Linux
  • Instal·lació silenciosa en Windows
  • Instal·lació desatesa d'arxius msi amb Windows installer
  • Generar imatge ISO que conté una instal·lació desatesa personalitzada de Windows
  • Generar imatge ISO que conté una instal·lació desatesa personalitzada d'Ubuntu
  • Generar imatge ISO personalitzada d'Ubuntu usant Kickstart




Instal·lació silenciosa en Linux

  1. Busqueu l'opció que val afegir en la línia de comandament apt-get install per fer una instal·lació silenciosa; proveu-lo instal·lant l'editor de text vim.

sudo apt-get install -qq vim
  1. Feu el mateix amb aptitude

sudo aptitude -y install vim

  1. Es pot aconseguir que apt-get faci totes les instal·lacions de forma silenciosa afegint un comandament adequat al fitxer /etc/apt/apt.conf, quin és aquest comandament? Quin problema li veus a configurar l'apt per silenciar-lo sempre?
Dpkg::Options {"--force-confold";}


Respondrà automàticament “sí” a totes les preguntes del paquet a instal·lar; caldrà per tant conèixer prèviament totes les preguntes per estar segur de que farà realment el que volem.








Instal·lació silenciosa en Windows



Windows Installer és la solució nadiua per empaquetar i desplegar programes a Windows, semblants als packages de Linux. Els programes empaquetats així els coneixereu perquè tenen extensió msi. Tenen l'avantatge que es poden integrar amb l'estructura de l'Active Directory, ser instal·lats massivament (deployed) per la xarxa, permeten evitar reinicis indesitjats i també fer instal·lacions desateses. L'inconvenient és que cal desenvolupar amb productes Microsoft (exemple: Visual Studio) per empaquetar amb el Windows Installer, o bé utilitzar altres programes privatius a l'estil d'AdvancedInstaller.
Procediments:
Si executeu el Windows Installer a la línia d'ordres,


msiexec /?
veureu que hi ha una opció silenciosa i una de desatesa:
  • /quiet
    Quiet mode, no user interaction
  • /passive
    Unattended mode - progress bar only
Així, doncs, per a qualsevol fitxer amb extensió msi podrem utilitzar /passive per a una instal·lació desatesa.







Instal·lació desatesa d'arxius msi amb Windows installer

  1.   Executeu de nou la instal·lació “normal” del paquet vim amb apt-get, prenent nota de les preguntes que us fa i de les respostes que doneu
  2. Creeu un fitxer de text amb les respostes anteriors, una en cada línia
  3. Desinstal·leu el paquet. Torneu-lo a instal·lar amb apt-get de forma desatesa usant redirecció de l'entrada del shell i el fitxer de respostes del pas anterior.
sudo apt-get install vim < resposta
  1. Podeu desinstal·lar el paquet de forma desatesa usant el mateix procediment?
Sí, sudo apt-get remove vim < resposta
  1. Usant redirecció de la sortida del shell, instal·leu vim sense necessitat d'intervenció de l'usuarii sense que apt-get mostri res per pantalla.
sudo apt-get remove vim < resposta >null
  1. Quina diferència veieu entre usar l'apt-get com a l'exercici 1 i com hem fet ara?
En l'exercici 1 responem les preguntes amb la resposta “per defecte” (instal·lació silenciosa) mentre que ara triem les respostes en el fitxer de respostes (instal·lació desatesa).








Generar un fitxer ISO que conté una instal·lació desatesa de Windows


Introducció
Generareu un fitxer ISO bootable, que es podria enregistrar en CD, que conté una instal·lació desatesa personalitzada de Windows. La personalització inclou deshabilitar alguns components, com ara els jocs. Posteriorment provareu la ISO en una màquina virtual neta, verificant la instal·lació.
Material necessari:
  • Virtual Box
  • Màquina Windows 7 (no està provat el procediment en altres versions superiors)
  • ISO Windows 7 (disponible en el repositori),
  • programa Win Tool kit és una eina per a la instal·lació de Windows i la personalització de components que volem que s'instal·lin.



Tasques a realitzar:
  1. Farem la generació de la ISO seguint el procediment explicat més avall, i fent les captures de pantalla que creieu necessàries per documentar tot el procés
  2. Farem la instal·lació desatesa usant la ISO anterior, seguint el procediment, i fent les captures de pantalla adients.

Procediment:
  1. Instal·leu Win Tool kit en la màquina virtual Windows
  2. Connecteu la ISO del Windows original com a unitat de CD de la màquina virtual
  3. Executeu Win Tool kit.
    • Informeu-lo d'on estan els fitxers originals de Windows i en quin directori de treball copiarà els fitxers.
    • Trieu: Intermediate: unattended Creator. Personalitzeu: Admin password, computer name, network location=work, Time zone, Updates = no, afegiu un usuari admin. Guardeu la configuració.
    • Advanced: Components remover: Apply unattended -> copieu el CD de Win7 en un directori. En acabar, heu de incorporar el fitxer de personalització XML generat al pas anterior (fitxer de respostes automatitzat).

    • Make ISO ... trigarà una estona
  1. Quan acabi, comproveu que ha generat el fitxer ISO en el directori especificat.
  2. A continuació “extraurem” la ISO de la màquina virtual per fer-la utilitzable des de la màquina host.
    • Compartiu una carpeta en la màquina host, suposem que li dieu vbox_compartida.
    • Atureu la màquina (Inicio->Apagar).
    • En Virtual Box, paràmetres de la màquina, carpetes compartides, afegiu la carpeta vbox_compartida. Doneu-li el nom compartit següent: X
    • Inicieu de nou la màquina virtual
    • Executeu el comandament net use X: \\vboxsvr\X per crear una unitat de xarxa que apunti a la carpeta compartida amb la màquina host. Comproveu que s'ha creat l'unitat X en la màquina virtual.
    • Copieu la ISO en la unitat X; ara la teniu disponible en la carpeta vbox_compartida del host. Comproveu.
  3. Anem ara a fer una instal·lació desatesa usant la ISO que heu generat.
    • Creeu una màquina Windows nova, amb un disc dur nou. Assigneu-li com a unitat de CD la ISO que teniu en la carpeta vbox_compartida
    • Inicieu la màquina...us preguntarà si voleu formatar el disc amb NTFS, i no hauria de demanar-vos res més, la resta de paràmetres són automàtics.
    • Un cop acabada la instal·lació, comproveu que funciona


Observacions:
  • La instal·lació desatesa que hem generat no ha inclòs drivers específics. Caldria proporcionar els fitxers .INF, que no sempre estan disponibles: sovint els drivers de windows són .EXE que directament descomprimeixen els fitxers en el directori de drivers, i llavors hem d'investigar una mica quins s'ha instal·lat. Aquest punt del hardware i drivers de les màquines on es farà la instal·lació desatesa és potser el que més mals de caps dóna a la realitat. Convé tenir un directori de xarxa compartit amb tots els drivers útils de les màquines de la xarxa local.
  • En la instal·lació desatesa en màquines reals caldria “cremar” la ISO i anar botant amb ella cada màquina. Una alternativa és l'arranc per xarxa: un servidor DHCP proporciona una IP amb la qual la màquina veu a un servidor d'imatges ISO i la instal·lació es fa per xarxa.






Generar un fitxer ISO que conté una instal·lació desatesa de Linux


Objectiu: modificar el contingut d'un fitxer ISO bootable, que es podrà enregistrar en CD, personalitzant el seu contingut. La personalització pot consistir en afegir paquets, eliminar-ne altres o automatitzar la instal·lació fent-la desatesa; aquesta última es deixa per el següent exercici.
Material necessari:
  • ISO d'Ubuntu


Tasques a realitzar:
  1. Extreure el fitxer ISO en un directori seguint el procediment explicat més avall
  2. Modifiqueu es fitxers que calguin en el directori que conté la ISO
  3. Genereu el nou fitxer ISO personalitzat

Procediment:
  1. Creeu dos directoris (per exemple, “iso_original” i “iso_personal)
  2. Munteu la imatge ISO en el directori “iso_original” usant l'ordre mount; us caldrà l'opció -loop per “simular” el sistema de fitxers de la ISO
Primer instal·lo les guest additions en Linux:







Comparteixo una carpeta amb la màquina host:






Monto la unitat compartida a Linux:

mkdir /media/compartida
mount -t vboxsf ASIX /compartida/


Ara tinc les ISOs accesibles des de Linux:







Ara monto la ISO en la carpeta iso_original
mount -o loop ./ubuntu-14.04.1-desktop-i386.iso ./iso-original


  1. Copieu TOT el contingut del directori “iso_original” en “iso_personal”, directoris i fitxers ocults inclosos. Comproveu-lo.
cp -r ./iso-original-iso/* ./iso-personal/
cp -r ./iso-original/.disk/ ./iso-personal/
  1. Desmunteu la imatge ISO
umount ./iso-original/


  1. Ara podem modificar els fitxers copiats en “iso_personal”; afegirem el paquet vim. Per fer-ho, descarregueu els paquet .deb corresponent usant apt-get amb l'opció -d (busqueu com funciona això)
apt-get -d install vim

l'apt s'executa en mode “baixada”, no instal·la res, només baixa els .deb i els deixa en /var/cache/apt/archives


  1. Ara cal incorporar els paquets al repositori local del CD (ISO en el nostre cas). Primer de tot creeu un directori “pool/extras” dintre del del CD i copieu dins els .deb. Creeu un altre directori “dists/stable/extras/binary-i386/Packages” en el CD on situarem el repositori.
mkdir -p iso-personal/dists/stable/extras/binary-i386
mkdir -p iso-personal/pool/extras/
L'opcio -p és: -p, --parents
              no error if existing, make parent directories as needed

és a dir, que crea directoris i subdirectoris, fins i tot buits,
 per mantenir la mateixa estructura que l'original
  1. A continuació usem “apt-ftparchive packages” per generar l'índex de paquets que l'apt necessita per instal·lar aplicacions:
apt-ftparchive packages ./pool/extras/ > 
dists/stable/extras/binary-i386/Packages


  1. Ara generem un fitxer comprimit amb tots els .deb que hem afegit:
gzip -c ./dists/stable/extras/binary-i386/Packages |
 tee ./dists/stable/extras/binary-i386/Packages.gz > /dev/null


  1. Ja podem tornar a generar la ISO, ara personalitzada amb l'aplicació vim. Per fer-ho, usem el comandament
mkisofs [ options ] [ -o filename ] pathspec [pathspec ...]


NOTA: mkisofs té moltes opcions; mireu-vos només les mínimes necessàries. Ajuda: que fan les opcions -J , -l , -z , -iso-level?


mkisofs -J -l  -z -iso-level 4 -o
 ./ubuntu-10.04-personal-i386.iso iso-personal/




Observacions:
  • Quan s'afegeixen altres paquets a banda dels instal·lats per defecte, i tenim una connexió activa a Internet durant la instal·lació (obtesa mitjançant DHCP), els paquets dependents necessaris s'obtenen de forma automàtica els dipòsits en línia. Això és fàcil de tenir amb màquines virtuals, però amb màquines reals potser no tindrem un servei DHCP a l'abast i llavors la instal·lació fallarà. En aquest cas és quan hem de fer el procediment anterior, però afegint totes les dependències. Això pot augmentar molt la mida de la iso resultant. En general és difícil saber el debs que estan en dependència amb un altre. Per tal de fer una llista de deb necessari caldria fer el següent:
  1. En una màquina virtual, instal·lar un servidor Ubuntu net amb la imatge del CD original.
  2. Arrenqueu amb el CD muntat i assegureu-vos que el cd està disponible a sources.list
  3. Fem un apt-get install dels paquets addicionals que vull tenir instal·lat per defecte
  4. Fem una còpia de seguretat dels debs que estan a //var/cache /apt , que són els que han de ser a la iso.
  • Com a exercici opcional podríem fer les passes anteriors i provar la ISO generada en una màquina virtual sense xarxa.   
 


Generar imatge ISO personalitzada per instal·lació desatesa d'Ubuntu

Material necessari:
  • ISO d'Ubuntu i connexió a Internet per instal·lar aplicacions


Tasques a realitzar:
  1. Instal·lar la aplicació kick-start
  2. Usar kick-start per crear un fitxer de respostes ks.cfg per la instal·lació desatesa
  3. Personalitzar el fitxer ks.cfg
  4. Instal·lar la aplicació isomasterE
  5. Executar isomaster, obrint la ISO original d'Ubuntu
  6. Editeu els fitxers de configuració de la ISO
  7. Genereu la ISO personalitzada
  8. Proveu-la, fent una instal·lació desatesa


Procediment:
  1. Instal·leu la aplicació kickstart (http://en.wikipedia.org/wiki/Kickstart_%28Linux%29) i executeu-la
sudo apt-get install system-config-kickstart
system-config-kickstart


  1. Editeu el fitxer de respostes automàtiques generat ks.cfg i observeu el contingut. En l'apartat particions afegiu la creació d'una partició swap (en Internet trobareu molta informació sobre els paràmetres del fitxer generat per kick-start).
Cal afegir: part swap --size 1024
  1. Instal·leu la aplicació isomaster. Aquest programa permet modificar una imatge ISO, tal com fèiem manualment en un exercici anterior. Arrenca el programa especificant la imatge. Per exemple, isomaster ubuntu-10.04.1-alternate-i386.iso . Es mostra una finestra dividida: en la part superior hi ha una navegador de fitxers, en la inferior el contingut de la ISO.
apt-get install isomaster
  1. Dintre del directori isomaster de la ISO, editeu l'arxiu /isolinux/txt.cfg. Observeu l'estructura; està dividit en entrades de menú, cada una es mostrarà com una opció del menú d'arrancada de la instal·lació. Anem a generar una opció més que servirà per iniciar una instal·lació desatesa. Copieu i enganxeu la primera entrada del menú, i després modifiqueu-la:
label desatesa
  menu label ^Instal·lació Ubuntu desatesa
  kernel /install/vmlinuz
 append  file=/cdrom/preseed/ubuntu-custom.seed 
initrd=/install/initrd.gz quiet ks=cdrom:/isolinux/ks-custom.cfg --
  1. Navegueu per la finestra superior per localitzar el fitxer ks.cfg; afegiu-lo a la imatge ISO. Re-nombreu-lo: s'ha de dir igual que com teniu a la línia corresponent del menú en el fitxer /isolinux/txt.cfg que heu generat en el punt anterior.
Cal que es digui ks-custom.cfg
  1. De la mateixa forma, re-nombreu el fitxer ubuntu.seed del directori /preseed de la ISO per que coincideixi amb la línia corresponent del menú en el fitxer /isolinux/txt.cfg.
Cal que es digui ubuntu-custom.seed
  1. Genereu la ISO.
  2. Proveu-la realitzant una instal·lació desatesa; és molt possible que l'instal·lador encara us pregunti alguna cosa, degut a que us hàgiu deixat alguna resposta per informar.
Segurament els hi preguntarà idioma i localització; es pot arreglar en part afegint la línia corresponent als fitxers cfg. El fitxer ks.cfg que hi usat és:

#Generated by Kickstart Configurator
#platform=x86

# Locale sets language and country.
d-i debian-installer/locale string es_ES

#System language
lang ca_ES
#Language modules to install
langsupport en_GB es_ES --default=ca_ES
#System keyboard
keyboard es_cat
#System mouse
mouse
#System timezone
timezone Europe/Madrid
#Root password
rootpw --disabled
#Initial user
user asix --fullname "asix" --iscrypted --password $1$bJJ3OlIy$2pg.tN/Oayam.ZoXvZQ/s.
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use CDROM installation media
cdrom
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part swap --size 1024
part / --fstype jfs --size 1 --grow
#System authorization infomation
auth --useshadow --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled
#X Window System configuration information
xconfig --depth=16 --resolution=800x600 --defaultdesktop=GNOME --startxonboot
#Run the Setup Agent on first boot
firstboot –enable












 

Gestió d'usuaris i grups en Linux

Usuaris i grups Linux  Els comptes de Linux són com els comptes de Windows o MacOS; però els detalls no, així que cal explicar alguns detall...