atividade prática shell - vanderlan

Upload: magdiel-l-pereira

Post on 15-Oct-2015

49 views

Category:

Documents


1 download

TRANSCRIPT

  • Centro Universitrio de Joo Pessoa UNIPE COORDENAO DO CURSO SUPERIOR DE REDES DE COMPUTADORES

    DISCIPLINA: PROGRAMAO EM SHELL Professor: Felipe Soares PERODO: 3 (PRIMEIRO) ESTGIO: 2 (PRIMEIRO)

    1. Sobre a estrutura de dados Arrays responda: a) Dado um vetor chamado PORT que contm os seguintes PORTAS do

    Sistema Operacional: 80, 22, 23, 443 e 53, faa as seguintes operaes:

    Imprima o primeiro elemento do vetor.

    Usando o filtro com expresses aritmticas recupere o ndice do elemento 22.

    Liste todos os elementos do vetor.

    Imprima a quantidade de elementos do vetor.

    Copie o vetor inteiro para outro com o nome PORTAS #!/bin/bash

    PORT=(80 22 23 443 53)

    clear

    #Imprima o primeiro elemento do vetor

    echo "A Primeira porta ${PORT[0]}"

    #Usando o Filtro com expresses aritimticas recupere o ndice do elemento 22!

    echo ${PORT[10/2-4]}

    #Imprima a quantidade de vetor

    qporta=${#PORT[*]}

    echo "Existem $qporta ativas no array"

    #Listagem de todos os elementos do vetor!

    i=0

    while [ $i -lt $qporta ]; do

    echo "$i : ${PORT[$i]}"

    let i++

    done

    b) Implemente um script para bloquear as portas do vetor PORTAS usando IPTABLES, voc deve usar uma estrutura de repetio como o

    for para ler os elementos do vetor e em cada interao preencher a

    varivel porta dentro do comando IPTABLES. Abaixo segue as duas

    regras do IPTABLES.

    iptables -A INPUT -p udp --dport $porta -j DROP iptables -A INPUT -p tcp --dport $porta -j DROP

    #!/bin/bash PORTIPT=(80 22 23 443 53)

    qportaipt=${#PORTIPT[*]}

    ipt=0

    while [ $ipt -lt $qportaipt ]; do

    iptables -A INPUT -p udp --dport ${PORTIPT[$ipt]} -j DROP

    iptables -A INPUT -p tcp --dport ${PORTIPT[$ipt]} -j DROP

    let ipt++

    done

  • c) Utilize a funo a do comando read e insira dentro de um vetor chamado PROTOCOLOS os elementos: http, ftp, smtp, pop3, smb e

    dhcp. Verifique se o script inseriu os elementos, imprimindo os valores

    do vetor PROTOCOLOS utilizando a estrutura de repetio for.

    #!/bin/bash

    read -a PROTOCOLOS

  • echo -n "Qual a permissao que deseja d ao arquivo: (ex. 744,700,777)"

    read PCHMOD

    PERMISSAO $ARQUIVO $PCHMOD

    3. Funes em shell script no recebe parmetros em sua declarao.Explique uma forma de se passar parmetros em uma funo Shell script. Implemente um

    script para imprimir seu nome completo usando a passagem por parmetro.

    #!/bin/bash

    function ASSINATURA()

    {

    echo "Seu nome completo $1 $2 $3 $4"

    }

    for name in 1 2 3 4

    do

    echo -n "Digite Seu $name Nome: "

    read name$name

    done

    ASSINATURA $name1 $name2 $name3 $name4