Skip to content

Commit 20e89f2

Browse files
committed
Primeiro Commit
0 parents  commit 20e89f2

10 files changed

+310
-0
lines changed

cria_compartilhamento.sh

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
#!/bin/bash
2+
3+
#############################################################################################################
4+
# Desenvolva um script que crie um determinado compartilhamento,
5+
# tendo como base o nome do compartilhamento e até 5 usuários
6+
# passados por parâmetro;
7+
# Exemplo: ./cria_compartilhamento.sh almoxarifado msilva ecristina orodriguez wamerico pcabral
8+
# Pontos importantes:
9+
# - Criação e adequação das permissões do diretório (utilizar como pasta base o diretório /compartilhamentos);
10+
# - Criação do grupo padrão (utilizar o mesmo nome do compartilhamento informado por parâmetro);
11+
# - Entrada no arquivo smbd.conf
12+
# - Criação dos usuários, tendo como senha padrão "123456";
13+
#############################################################################################################
14+
15+
qtd_usuarios=$#
16+
flag=1
17+
18+
if [ qtd_usuarios -eq 0 ]; then
19+
echo "Nenhum parâmetro foi informado."
20+
echo "Por favor, informe os usuários por parâmetro."
21+
echo "Script abortado."
22+
exit 1
23+
else
24+
for i in $*
25+
do
26+
if [ $flag -eq 1 ] ; then
27+
mkdir /compartilhamentos/$i
28+
if [ $? -eq 0 ]; then
29+
echo "Pasta $i criada com sucesso!"
30+
else
31+
echo "Problema ao criar a pasta $i"
32+
fi
33+
34+
addgroup $i
35+
if [ $? -eq 0 ]; then
36+
echo "Grupo $i criado com sucesso!"
37+
else
38+
echo "Problema ao criar o grupo $i!"
39+
fi
40+
41+
chgrp $i /compartilhamentos/$i
42+
if [ $? -eq 0 ]; then
43+
echo "Alterado o grupo padrão da pasta $i para o grupo $i"
44+
else
45+
echo "Problema ao alterar o grupo padrão da pasta $i"
46+
fi
47+
48+
chmod -R 2770 /compartilhamentos/$i
49+
if [ $? -eq 0 ]; then
50+
echo "Alterando as permissões da pasta $i"
51+
else
52+
echo "Problema ao alterar as permissões da pasta $i"
53+
fi
54+
55+
echo -e "\n\n[$i]\n\tpath = /compartilhamentos/$i\n\tcomment = Compartilhamento da $i\n\tvalid users = +$i\n\twritable = yes" >> /etc/samba/smb.conf
56+
if [ $? -eq 0 ]; then
57+
echo "Arquivo smb.conf alterado com as novas entradas!"
58+
else
59+
echo "Falha ao alterar o arquivo smb.conf!"
60+
fi
61+
let flag++
62+
else
63+
useradd $i
64+
if [ $? -eq 0 ]; then
65+
echo "Usuário $i adicionado com sucesso!"
66+
else
67+
echo "Problema ao inserir o usuário $i!"
68+
fi
69+
70+
adduser $i $1
71+
if [ $? -eq 0]; then
72+
echo "Usuário $i adicionado ao grupo $1!"
73+
else
74+
echo "Problema ao adicionar o usuario $i ao grupo $1!"
75+
fi
76+
77+
echo -e "123456\n123456" | passwd $i 2> /dev/null
78+
if [ $? -eq 0 ]; then
79+
echo "Senha do usuário $i definida com sucesso!"
80+
else
81+
echo "Problema ao definir a senha do usuário $i!"
82+
fi
83+
84+
echo -e "123456\n123456" | smbpasswd -s -a $i 2> /dev/null
85+
if [ $? -eq 0 ]; then
86+
echo "Senha SMB do usuário $i definida com sucesso!"
87+
else
88+
echo "Problema ao definir a senha SMB do usuário $i!"
89+
fi
90+
fi
91+
done
92+
fi

script-ip.docx

14 KB
Binary file not shown.

script_bkp.sh

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
#!/bin/bash
2+
###############################
3+
#
4+
# Backup to FAT32 mount script
5+
#
6+
###############################
7+
8+
#Pasta a qual eu quero fazer backup
9+
backup_files="/Compartilhamentos"
10+
11+
#Criando variáveis de tempo
12+
day=$(date +%Y%m%d)
13+
data_hora=$(date +%d/%m/%Y_%H:%M)
14+
15+
#Verificando se o arquivo de log existe. Se não existir, cria.
16+
cd /root
17+
if [ ! -f backup.log ]; then
18+
echo "Arquivo de log inexistente" >> /root/backup.log
19+
echo "Criando arquivo de log..." >> /root/backup.log
20+
touch backup.log >> /root/backup.log
21+
sleep 1s
22+
if [ $? -eq 0 ]; then
23+
echo "Arquivo de log criado com sucesso!" >> /root/backup.log
24+
else
25+
echo "Problema ao criar o arquivo de log" >> /root/backup.log
26+
exit 1
27+
fi
28+
fi
29+
30+
#Verificando se o diretório de backup existe. Se não existir, cria.
31+
cd /media
32+
if [ ! -d Backup ]; then
33+
echo "Diretório Backup inexistente" >> /root/backup.log
34+
echo "Criando diretório Backup..." >> /root/backup.log
35+
mkdir Backup >> /root/backup.log
36+
sleep 1s
37+
if [ $? -eq 0 ]; then
38+
echo "Diretório Backup criado com sucesso!" >> /root/backup.log
39+
else
40+
echo "Problema ao criar o diretório Backup!" >> /root/backup.log
41+
exit 1
42+
fi
43+
fi
44+
45+
#Montando a unidade externa
46+
media=`fdisk -l | grep FAT32 | cut -d 2 -f 1` >> /root/backup.log
47+
mount -t vfat $media Backup >> /root/backup.log
48+
if [ ! $? -eq 0 ]; then
49+
echo "ERRO - $data_hora - Dispositivo externo não encontrado. Backup não realizado" >> /root/backup.log
50+
umount -l $media >> /root/backup.log
51+
fi
52+
53+
#Realizando backup
54+
cd /media/Backup
55+
tar -zcvf "BACKUP_$day.tar.bz2" $backup_files >> /root/backup.log
56+
if [ $? -eq 0 ]; then
57+
echo "SUCESSO - $data_hora - Backup realizado com sucesso!" >> /root/backup.log
58+
else
59+
echo "ERRO - $data_hora - Não foi possível realizar o backup!" >> /root/backup.log
60+
exit 1
61+
fi
62+
63+
#Excluindo arquivos de backup com mais de 15 dias
64+
find /media/Backup -mtime +15 -exec rm -rif {} \; >> /root/backup.log
65+
if [ $? -eq 0 ]; then
66+
echo "SUCESSO - $data_hora - Arquivos de backups antigos (15 dias) foram excluídos!" >> /root/backup.log
67+
else
68+
echo "ERRO - $data_hora - Não foi possível remover os arquivos de backups antigos!" >> /root/backup.log
69+
fi
70+
71+
#Desmontando a unidade externa
72+
umount -l $media >> /root/backup.log
73+
if [ $? -eq 0 ]; then
74+
echo "SUCESSO - $data_hora - Unidade externa removida com sucesso!" >> /root/backup.log
75+
else
76+
echo "ERRO - $data_hora - Não foi possível remover a unidade externa!" >> /root/backup.log
77+
fi

script_slide3_ex1.sh

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
#
3+
# 1. Desenvolva um script para acessar o diretório home do usuário
4+
#
5+
clear
6+
cd ~

script_slide3_ex1_pt2.sh

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
#
3+
# 1. Desenvolva um script que,, ao aceitar por parâmetro um determinado nome, identificar se o mesmo é um arquivo ou diretório
4+
#
5+
clear
6+
if test -d $1
7+
then
8+
echo "$1 é um diretório!"
9+
elif test -f $1
10+
then
11+
echo "$1 é um arquivo!"
12+
fi

script_slide3_ex2.sh

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
#
3+
# 2. Desenvolva um script que leia o nome do usuário de forma interativa e imprima a seguinte mensagem:
4+
# "Olá Fulano! Hoje é 22/08/2014" (APresente a data atual e o nome informado)
5+
#
6+
now=`date +%d/%m/%Y`
7+
echo 'Digite o seu nome: '
8+
read nome
9+
echo "Olá $nome ! Hoje é $now "

script_slide3_ex2_pt2.sh

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/bin/bash
2+
#
3+
# 2. Modifique o script anterior. Agora, caso o usuário não informe nenhum parâmetro, o script deverá perguntar o dado solicitado através do modo interativo (leitura de variáveis).
4+
#
5+
clear
6+
if test $# -eq 0
7+
then
8+
echo "Digite o nome de um arquivo ou diretório: "
9+
read nome
10+
if test -d $nome
11+
then
12+
echo "$nome é um diretório!"
13+
elif test -f $nome
14+
then
15+
echo "$nome é um arquivo!"
16+
fi
17+
else
18+
if test -d $1
19+
then
20+
echo "$1 é um diretório!"
21+
elif test -f $1
22+
then
23+
echo "$1 é um arquivo!"
24+
fi
25+
fi

script_slide3_ex3.sh

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
#
3+
# 3. Desenvolva um script que calcule a média entre 4 números e apresente a resposta na tela. Os números devem ser informados de forma interativa.
4+
#
5+
clear
6+
echo "Digite o primeiro numero: "
7+
read numero1
8+
echo "Digite o segundo numero: "
9+
read numero2
10+
echo "Digite o terceiro numero: "
11+
read numero3
12+
echo "Digite o quarto numero: "
13+
read numero4
14+
media=$(echo "scale=2;($numero1+$numero2+$numero3+$numero4)/4" | bc)
15+
echo "calculando..."
16+
sleep 2s
17+
echo "Media final: $media"

script_slide3_ex3_pt2.sh

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#!/bin/bash
2+
#
3+
# 3. Com basena aula anterior, desenvolva um script que configure a rede de um determinado computador. O script deverá ser capaz de ler os parâmetros informados na seguinte ordem:
4+
# conf_rede IP MASCARA GATEWAY DNS1 DNS2
5+
# Caso um dos parâmetros não seja informado, o script deverá abortar a tarefa e avisar o usuário. Para cada tarefa concluída com sucesso, o script deverá emitir um aviso na tela.
6+
#
7+
clear
8+
if [ $# -lt 6 ]
9+
then
10+
echo "Configuração de rede abortada. Você não informou a quantidade correta de parâmetros"
11+
echo "Parâmetros: conf_rede IP MASCARA GATEWAY DNS1 DNS2"
12+
else
13+
sudo ifconfig $1 $2
14+
if [ $? -eq 0 ]
15+
then
16+
echo "Configurando o ip $2 na placa $1..."
17+
sleep 1s
18+
echo "Configuração de IP realizada com sucesso!"
19+
else
20+
echo "Configuração de ip falhou!"
21+
fi
22+
sudo ifconfig $1 $2 netmask $3 up
23+
if [ $? -eq 0 ]
24+
then
25+
echo "Configurando a mascara $3 na placa $1..."
26+
sleep 1s
27+
echo "Configuração de mascara realizada com sucesso!"
28+
else
29+
echo "Configuração de mascara falhou!"
30+
fi
31+
sudo route del default gw $4
32+
sudo route add default gw $4
33+
if [ $? -eq 0 ]
34+
then
35+
echo "Configurando a rota default $4..."
36+
sleep 1s
37+
echo "Configuração de rota realizada com sucesso!"
38+
else
39+
echo "Configuração de rota falhou!"
40+
fi
41+
#rm /etc/resolv.conf
42+
#touch /etc/resolv.conf
43+
sudo echo nameserver $5 > /etc/resolv.conf
44+
sudo echo nameserver $6 >> /etc/resolv.conf
45+
if [ $? -eq 0 ]
46+
then
47+
echo "Configurando o DNS 1 $5..."
48+
echo "COnfigurando o DNS 2 $6..."
49+
sleep 1s
50+
echo "Configuraão de DNS realizada com sucesso!"
51+
else
52+
"Configuração de DNS falhou!"
53+
fi
54+
fi

script_slide3_ex4.sh

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
#
3+
# 4. Desenvolva um script que leia entre 1 e 9 números e apresente a soma e média entre eles (atente-se ao fato de que o usuário pode informar qualquer quantidade de números)
4+
#
5+
clear
6+
n=1
7+
echo "Qual a quantidade de numeros que você deseja inserir (entre 1 e 9)?"
8+
read numero
9+
while [ $n -le $numero ]
10+
do
11+
echo "Digite o $n º numero: "
12+
read numero2
13+
let soma=soma+numero2
14+
n=$(( n+1 ))
15+
done
16+
echo "Soma dos numeros: $soma"
17+
media=$(echo "scale=2;($soma)/$numero" | bc)
18+
echo "Media dos numeros: $media"

0 commit comments

Comments
 (0)