Exploram l’ecosistema on treballarem. Les eines, els llenguatges i els procediments de treball que durem a terme durant tot el curs.

  • Llenguatge màquina: Instruccions sobre un terminal.
  • Servei de transmisió d’arxius. FTP.

PART I. EL SHELL

Per què preocupar-se?
Per què necessiteu aprendre la línia d’ordres de totes maneres? Bé, deixa’m explicar-vos una història. Fa uns anys teníem un problema on treballava. Hi havia una unitat compartida en un dels nostres servidors de fitxers que es continuava omplint. No mencionaré que aquest sistema operatiu heretat no admetia les quotes dels usuaris; aquesta és una altra història. Però el servidor es va continuar omplint i va impedir que la gent treballés. Un dels nostres enginyers de programari va passar una bona part d’un dia escrivint un programa C++ que anava a buscar tots els directoris de l’usuari i que afegiria l’espai que utilitzaven i faria un llistat dels resultats. Com que em vaig veure obligat a utilitzar el sistema operatiu heretat mentre estava treballant, vaig instal·lar-hi un entorn de línia d’ordres similar al Linux. Quan vaig saber el problema, em vaig adonar que podia fer tot el treball que havia realitzat aquest enginyer amb aquesta sola línia:
du -s * | sort -nr > $HOME/user_space_report.txtLes interfícies gràfiques d’usuari (GUI) són útils per a moltes tasques, però no són bones per a totes les tasques. Fa temps que sent que la majoria d’ordinadors actuals no alimenten electricitat. En canvi, semblen alimentats pel moviment de “bombament” del ratolí. Se suposa que els ordinadors ens alliberaren del treball manual, però, quantes vegades heu realitzat alguna tasca, creieu que l’ordinador hauria de ser capaç de fer, però heu acabat fent la vostra tasca treballant el ratolí? Assenyalar i fer clic, apuntar i fer clic.
text de linuxComand.org

Per aprendre  shell seguim la pàgina de linuxcommand.org. Si voleu, podeu consultar el llibre “The linux Command Line” -Whilliam Shotts.

Resum dels continguts

    1. Què és el shell?

El shell és el terminal de comandes d’instruccions mode text que s’usa per controlar un ordinador.

    1. Navegar per el sistema

És molt important saber on estam situats a l’arbre de directoris. Mitjançant la shell podem navegar dins el sistema usant, entre altres, les intruccions:

    • pwd: mostra el directori actual
    • cd: canvia de directori
    • ls: mostra el contingut d’un directori
  1. Explorar
    Podem veure el contingut i les propietats dels fitxers.

    • ls -l:
      [cc lang=”bash”]-rw——- 1 bshotts bshotts 576 Apr 17 1998 weather.txt
      drwxr-xr-x 6 bshotts bshotts 1024 Oct 9 1999 web_page
      -rw-rw-r– 1 bshotts bshotts 276480 Feb 11 20:41 web_site.tar
      -rw——- 1 bshotts bshotts 5743 Dec 16 1998 xmas_file.txt
      ———- ——- ——- ——– ———— ————-
      | | | | | |
      | | | | | File Name
      | | | | +— Modification Time
      | | | +————- Size (in bytes)
      | | +———————– Group
      | +——————————– Owner
      +———————————————- File Permissions[/cc]
    • less: Mostra arxius de text.
    • file: indica el tipus d’arxiu.
  2. Un tour guiat
    • /home: El directori que conté els sub-directoris personals dels usuaris. Cada un dels usuaris té privilegis complets sobre els arxius i els sots-directoris del seu directori personal.
    • /bin: És el directori que inclou les instruccions de la línia de comandament de Linux, els quals són comuns amb UNIX (els estudiarem ara).
    • /boot: Aquest directori conté els fitxers necessaris per a l’arrencada.
    • /dev: Arxius dels dispositius del sistema. A Linux, com en UNIX, qualsevol dispositiu de l’ordinador (una impressora, un disc dur, un CD-ROM, una tarja de so …) és un fitxer. Això permet que es pugui fer servir la definició d’una ruta d’arxiu dins del sistema d’arxius com a forma per accedir a qualsevol dispositiu.
    • /etc: Aquest directori conté arxius de configuració del sistema. Aquests arxius es creen durant el procés d’instal·lació i sols poden ser modificats pel superusuari root.
    • /usr: És un directori que té una estructura pròpia i que conté els programes amb dret d’execució per tots els usuaris.
    • /lib: Incorpora els arxius de les llibreries d’accés compartit.
    • /mnt: És el directori en el qual es “munten” els sistemes de fitxers de dispositius d’emmagatzemament massius de dades (discos durs, disquets, CD-ROM, discos durs del tipus usb o càmeres digitals, …) o de sistemes d’arxius situats en altres ordinadors connectats en xarxa. A Linux no es fan “connexions d’unitats de xarxa”, sinó que es defineixen a quines unitats i a quins directoris s’hi ha d’accedir de forma remota i llavors s’incorporen a l’estructura de directoris de l’ordinador local mitjançant aquest directori.
    • /proc: És un directori usat pel nucli del sistema per emmagatzemar arxius generats durant l’execució de processos.
    • /root: És el directori personal del superusuari.
    • /sbin: Conté arxius de configuració inicial del sistema (alguns compartits amb els que es troben al directori /etc) i eines d’administració, utilitats i ordres generals exclusives de root.
    • /tmp: En aquest arxiu es troben fitxers d’ús no permanent per part de tots els usuaris del sistema (tothom té permís d’escriptura en aquest directori). El seu contingut se sol esborrar en sortir del sistema.
    • /opt: Aquest directori no es troba a totes les distribucions. Si existeix, sol contenir paquets de programari que no es troben incorporats a una distribució de Linux i que l’administrador va afegint al sistema.
    • /var: És un directori en el qual es desen els arxius associats a les cues d’impressió, on es diposita el correu electrònic dels usuaris, arxius històrics i, en general, aquells arxius que es van actualitzant mentre es porten a terme els distints processos del sistema.
  3. Manipulació de fitxers
    • cp: Copiar un arxiu o directori
    • mv: Moure o renombrar arxius i directoris
    • rm: Borrar fitxers i directoris
    • mkdir: Crear directoris.
  4. Treballant amb comandes
    • type: Mostra informació sobre una comanda
    • witch: Mostra la localització d’una comanda
    • help: Mostra informació de la comanda, paràmetres i us. (ex: mkir –help)
    • man: Mostra un manual de referència de la comanda.
  5. Redireccionament d’entrada i sortida
    • redireccionament amb > i >>
    • Tuberies d’instruccions amb |
  6. Expansió
    1. echo: per mostrar text i directoris.
    2. Variables amb $, expresions amb ( )
    3. { } per tasques repetitives
  7. Permisos

    1. chmod – modify file access rights
    2. su – temporarily become the superuser
    3. sudo – temporarily become the superuser
    4. chown – change file ownership
    5. chgrp – change a file’s group ownership
  8. Control de tasques

Recerca de comandes shell:

  1. Sistema de fitxers Linux / Intèrpret d’ordres
  2. Comandes terminal Linux
  3. més de 400 comandes …
  4. Més comandes…

Exercicis

  1. Exercicis de redireccionament amb “>” i  “>>” .
    1. Crear una carpeta “tic2” a la direcció /Documents del vostre usuari.
    2. Dins aquesta carpeta hi heu de crear una carpeta “exercicis”.
    3. Fer un arxiu exercici1.txt amb el vostre nom.
    4. Afegir l’historial de comandes que heu fet fins ara.
    5. Afegir a l’arxiu la vostra ip d’aula mitjançant ifconfig.
  2. Exercicis de cerca i reemplaça, descarrega l’arxiu dites.txt
    1. Cerca dins l’arxiu quantes vegades surt  “vida”.
    2. Cerca dins l’arxiu quantes vegades surt la paraula sencera “vida”.
    3. Fes que surtin el números de línia a la sortida.
    4. Amb cerca i reemplaça llevam les línies buides (usam l’instrucció composta sed “sed -i ‘/^$/d’ file.txt”)
  3. Exercicis de tuberies, descarrega l’arxiu dites.txt
    1. Ordenam i mostram l’arxiu. “cat dites.txt | sort”
    2. El mateix mostrant el número de línia amb “cat -n …”
    3. Cream un arxiu ditesordenat.txt ordenat sense número de línia.
    4. Cream un arxiu exercicis.txt on posam la data de creació, el nom, “EXERCICI2”, la història de les darreres 10 instruccions i els dos arxius de dites creats.
  4. Volem reordenar dites de manera aleatòria i que ens mostri una sola línia.
    1. Cerca la instrucció de redirecció aquí
    2. Consulta el manual de sort.
    3. Afegeix la instrucció a l’arxiu exercici.txt
  5. Estudia i explica el significat de la instrucció : du -s * | sort -nr > $HOME/user_space_report.txt

Pràctica 1

Aquesta pràctica consisteix en dissenyar i implementar un script per enregistrar les entrades al nostre ordinador. Per realitzar l’implementació de l’script seguim les indicacions:

  1. L’script ho escriu tot sobre un arxiu “bitacora.txt” dins la capeta tic2 d’usuari.
  2. Cada obertura de sessió escriu les dades:
    1. Capçalera de nova sessió. S’ha de fer una diagrames ASCII una capçalera.
    2. Dins la capçalera:
      1. La data de creació.
      2. El vostre nom.
      3. El nom d’usuari.
      4. Una dita aleatoria de “dites.txt”
  3. Obrir el doument amb el gedit.
  4. Durant la sessió s’han d’anotar els exercicis. Aquí reprendrem les tasques de disseny.
  5. A cada final de sessió:
    1. Una línia de tall
    2. D’afegir l’historial de les comandes realitzades.
    3. Una línia de tall amb “fi de sessió”.
  6. Cada sessió s’ha de fer una còpia dins una carpeta “copies” amb nom bitacora-“data.txt”
  7. L’script ha de ser executable, per tant l’hi haurem de canviar els permisos a 755.
  8. Hem de moure l’script dins una carpeta bin. Agregam aquesta carpeta  a la variable $PATH per poder executar l’sript com a una instrucció del sistema.

Indicacions per la pràctica

Per realitzar aquesta operació són necessaries dues coses, tenir un script funcional i conèixer la variable d’entorn $PATH per afegir la nostra instrucció.

  1. Script funcional, és un arxiu que té els permisos d’execució,  755 i es modifica amb l’instrucció chmod. Exemple guiat
    1. Volem transformar l’arxiu s2 a executable, mostrant el contingut de la carpeta podem veure que “s1” és executabe (permisos 755) i “s2″ no (permisos 544).
      [cc lang=”bash”]@ls -l
      total 8
      -rwxr-xr-x 1 pere pere 74 de se 21 12:06 s1
      -rw-r–r– 1 pere pere 75 de se 21 12:07 s2
      [/cc]
    2. Canviam a executable. De 544 a 755.
      [cc lang=”bash”]
      #Aquesta primera instrucció és per recordar com havia fet la instrucció chmod abans 😉
      #grep cerca un string dins alguna llista, carpeta, arxius, …
      #en aquest cas feim la cerca  dins “history” usant una tuberia
      pere@Lenovo:~/Documents/tic2/exercicis/bin$ history | grep chmod
      89 chmod 755 s1.txt
      327 chmod 755 s12
      341 history | grep chmod
      pere@Lenovo:~/Documents/tic2/exercicis/bin$ chmod 755 s2
      pere@Lenovo:~/Documents/tic2/exercicis/bin$ ls -l
      total 8
      -rwxr-xr-x 1 pere pere 74 de se 21 12:06 s1
      -rwxr-xr-x 1 pere pere 75 de se 21 12:07 s2
      [/cc]
    3. Per provar si l’script és funcional l’executam amb “./” davant el nom de l’arxiu.
      [cc lang=”bash”]pere@Lenovo:~/Documents/tic2/exercicis/bin$ ./s2
      Som s2 i som executable 😉
      Hello World!!
      [/cc]
  2. Script com a instrucció del sistema. Per realitzar aquesta tasca afegirem la carpeta on guardam els scripts dins la variable $PATH i reiniciarem sessió d’usuari.
    1. Afegim la carpeta dels scripts a l’arxiu ~/.bashrc
      [cc lang=”bash”]
      #########################################################################
      1-Afegim la carpeta dels scripts a l’arxiu ~/.bashrc
      #a la darrera línia de l’arxiu “.bashrc” hi afegim la nostra carpeta bin
      #fent un append com el següent
      pere@Lenovo:~$ echo “export PATH=$PATH:~/Documents/tic2/bin/ >> ~/.bashrc
      #Mostram la variable $PATH i veim que encara no està actualitzada
      pere@Lenovo:~$ echo $PATH
      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games#L’actualitzam amb la comanda source
      pere@Lenovo:~$ source ~/.bashrc#Comprovam que està actualitzada 🙂
      pere@Lenovo:~$ echo $PATH
      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/pere/Documents/tic2/bin/##################################################################
      #!! Fixat que ~/Documents s’ha substituit per /home/pere/Documents
      ##################################################################[/cc]
    2. Reiniciam l’usuari.

PART II. SERVEI FTP

A informàtica un servei és un programa que espera una ordre per donar un servei. Aquest programa resideix dins ordinador que s’anomena Servidor, el dispositiu que fa demandes s’anomena Client.
Els Serveis són la base fonamental del funcionament de les xarxes ja que permeten accions remotes desde un ordinador, tablet, smartphone o altres. Són exemples l’EMAIL11, HTTP, HTTPS, DHCP, DNS, …

Què és?

El servei FTP “File Transfer Protocol” és un servei que ens permet connectar a un servidor d’allotjament web i gestiona la pujada, baixada, borrat de carpetes i arxius.

Quan es realitza una connexió s’estableix un vincle entre un client (el teu ordinador) i el servidor d’allotjament. El port que utilitza el servei és, per defecte, el 21.

Client Servidor?

S’estableix una comunicació entre dues computadores en que una és el client (nostra) i una altra fa de servidor(proveïdor).

Llegim la següent definició que ens aclarirà un poc el concepte.

“En informàtica s’anomena arquitectura client-servidor, a la relació establerta entre dues entitats, el servidor, ofereix un recurs de qualsevol tipus (físic, de programar, de dades, etc.) a l’altre (el client) perquè aquesta en tregui un profit o avantatge. El més habitual és que d’una entitat servidora se n’aprofitin diverses o moltes entitats clients.

Per a la comunicació entre clients i servidors s’utilitza un protocol de comunicacions, que descriu com es poden comunicar i quines informacions es poden intercanviar (HTTP per a pàgines web, Wi-Fi per a xarxes sense fils,…).

Característiques d’un servidor;

  • Passiu (esclau)
  • Espera peticions
  • Quan rep una petició la processa i retorna una resposta

Característiques d’un client;

  • Actiu (mestre)
  • Envia peticions
  • A l’enviar una petició espera una resposta i la processa

Per exemple, un servidor de correu, conté el correu electrònic de múltiples clients. Un programa client de correu electrònic, demana al servidor de correu si hi ha nous missatges per a l’usuari el servidor li pot contestar que sí o que no, en cas afirmatiu el client demana al servidor que li enviï aquests correus i el servidor els envia al client i els elimina de la seva base de dades.”

Com funciona?

Per usar un servei FTP necessitam tenir:

  • Un servidor amb el servei FTP en marxa.
  • Saber la seva direcció IP o nom DNS i el seu port
  • Tenir activat un usuari al servidor.
  • Un gestor FTP que controlam desde el client.

Pràctica 2. Usam un FTP.

L’objectiu d’aquesta pràctica és conèixer el funcionament d’aquest servei i practicar sobre un entorn real. Connectarem a un servidor de tres maneres diferents:

  • Mitjançant un navegador
  • Amb el programa FileZilla
  • Usant un script al shell 😉
  1. Mitjançant un navegador

    Els navegadors s’han convertit en eines excepcionals per dur a terme tàsques on abans s’havia de disposar de programes especials, en aquest cas usarem un navegador per realitzar una pujada i gestió d’arxius a un servidor.

    La pràctica consisteix en pujar el vostre bitacora.txt al servidor, amb les credencials donades.

    Abans de pujar l’arxiu li heu de canviar el nom a numeroDeUsuari.txt, per exemple si ets l’usuari 04 has de posar com a nom “04.txt”.

    Desprès revisa si surt a la pàgina bitacores.gimnesia.net


pràctiques extres per mirar: https://practice.geeksforgeeks.org/

Codificació de la informació

    1. Teoria de xarxes

    2. Instal·lació de SO mint al virtualBox

    3. Integració Serveis a xarxa LAN, exemple de càmera web

    4. Pràctica Servidor LAMP local.

    5. Teoria Serveis.

UNITAT2. SEGURETAT INFORMÀTICA

admin2on batxillerat2onProgramacioNovaExploram l'ecosistema on treballarem. Les eines, els llenguatges i els procediments de treball que durem a terme durant tot el curs. Llenguatge màquina: Instruccions sobre un terminal. Servei de transmisió d'arxius. FTP. PART I. EL SHELL 'Per què preocupar-se? Per què necessiteu aprendre la línia d'ordres de totes maneres? Bé, deixa'm explicar-vos...Blog Aula Informàtica Gimnèsia