atividade prática shell - vanderlan
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