forked from vaamonde/samba4-l2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript-05.sh
More file actions
336 lines (300 loc) · 12.5 KB
/
script-05.sh
File metadata and controls
336 lines (300 loc) · 12.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
#!/bin/bash
# Autor: Robson Vaamonde
# Site: www.procedimentosemti.com.br
# Facebook: facebook.com/ProcedimentosEmTI
# Facebook: facebook.com/BoraParaPratica
# YouTube: youtube.com/BoraParaPratica
# Data de criação: 31/05/2016
# Data de atualização: 06/10/2018
# Versão: 0.10
# Testado e homologado para a versão do Ubuntu Server 16.04 LTS x64
# Kernel >= 4.4.x
#
# Configuração dos serviços da sexta etapa, indicado para a distribuição GNU/Linux Ubuntu Server 16.04 LTS x64
#
# Configuração do arquivo interfaces
# vim /etc/network/interfaces
#
# Configuração do Serviço de SSHD, arquivo sshd_config
# vim /etc/ssh/sshd_config
#
# Configuração dos arquivos hosts.allow e hosts.deny, utilizando a lib: libwrap.so.0
# vim /etc/hosts.allow
# vim /etc/hosts.deny
#
# Configuração do Serviço de DHCPD, arquivo dhcpd.conf
# vim /etc/dhcp/dhcpd.conf
#
# Configuração do aviso de acesso remoto, arquivo issue.net
# vim /etc/issue.net
#
# Configuração do aviso de acesso físico, arquivo issue
# vim /etc/issue
#
# Utilizar o comando: sudo -i para executar o script
#
# Caminho para o Log do Script-05.sh
LOG="/var/log/script-05.log"
#
# Variável da Data Inicial para calcular tempo de execução do Script
DATAINICIAL=`date +%s`
#
# Validando o ambiente, verificando se o usuário e "root"
USUARIO=`id -u`
UBUNTU=`lsb_release -rs`
KERNEL=`uname -r | cut -d'.' -f1,2`
if [ "$USUARIO" == "0" ]
then
if [ "$UBUNTU" == "16.04" ]
then
if [ "$KERNEL" == "4.4" ]
then
clear
echo -e "Usuário é `whoami`, continuando a executar o Script-05.sh"
echo
echo -e "Configurando as opções de Rede"
echo -e "Configuração do arquivo interfaces"
echo -e "Configuração do Serviço de SSHD"
echo -e "Configuração dos arquivos hosts.allow e hosts.deny"
echo -e "Configuração do Serviço de DHCPD"
echo -e "Aguarde..."
echo
echo -e "Rodando o Script-05.sh em: `date`" > $LOG
echo -e "Atualizando as Listas do Apt-Get, aguarde..."
# Exportando o recurso de Noninteractive do Debconf
export DEBIAN_FRONTEND=noninteractive
#Atualizando as listas do apt-get
apt-get update &>> $LOG
echo -e "Listas Atualizadas com Sucesso!!!, continuando o script..."
echo
echo ============================================================ >> $LOG
echo -e "Atualizando o Sistema, aguarde..."
#Fazendo a atualização de todos os pacotes instalados no servidor
apt-get -o Dpkg::Options::="--force-confold" upgrade -q -y --force-yes &>> $LOG
echo -e "Sistema Atualizado com Sucesso!!!, continuando o script..."
echo
echo ============================================================ >> $LOG
echo -e "Serviços atualizados com sucesso!!!, pressione <Enter> para continuar com o script"
read
sleep 2
clear
echo ============================================================ >> $LOG
echo -e "Editando o arquivo /etc/network/interfaces para acrescentar as informações de endereçamento IP"
echo
echo -e "Linhas a serem editadas no arquivo /etc/network/interfaces"
echo -e "`cat -n /etc/network/interfaces | tail -n3`"
echo
echo -e "Obs: no Ubuntu 16.04 não é habilitado por padrão as configurações de ETHx nas interfaces"
echo -e "No procedimento: script-02.sh foi executado a mudança do GRUB"
echo
echo -e "Interface padrão no GNU/Linux Ubuntu Server versão: $UBUNTU: `lshw -class network | grep -i "logical name" | cut -d: -f2`"
echo
echo -e "Pressione <Enter> para editar o arquivo"
echo
read
echo -e "Fazendo o backup do arquivo interfaces, aguarde..."
#Fazendo o backup do arquivo de configuração interfaces
mv -v /etc/network/interfaces /etc/network/interfaces.old >> $LOG
echo -e "Backup feito com sucesso!!!, continuando o script..."
sleep 2
echo
echo -e "Atualizando o arquivo interfaces, aguarde..."
#Copiando o arquivo de configuração interfaces
cp -v conf/interfaces /etc/network/interfaces >> $LOG
echo -e "Arquivo atualizado com sucesso!!!, continuando o script..."
sleep 2
echo
#Editando o arquivo de configuração interfaces
vim +20 /etc/network/interfaces
echo
echo -e "Testando o arquivo de configuração das interfaces, aguarde..."
echo
#Verificando as informações das Interfaces
ifup --verbose --no-act --force --all --interfaces=/etc/network/interfaces
echo
echo -e "Interfaces testada com sucesso!!!, continuando o script..."
sleep 2
echo
echo -e "INTERFACES atualizado com sucesso!!!, pressione <Enter> continuando com o script"
read
sleep 2
clear
echo ============================================================ >> $LOG
echo -e "Editando o arquivo /etc/hosts.allow para acrescentar as informações de liberação de acesso remoto"
echo
echo -e "Linhas a serem editadas no arquivo /etc/hosts.allow, aguarde..."
echo -e "`cat -n /etc/hosts.allow`"
echo -e "Pressione <Enter> para editar o arquivo"
echo
read
echo -e "Fazendo o backup do arquivo hosts.allow, aguarde..."
#Fazendo o backup do arquivo de configuração hosts.allow
mv -v /etc/hosts.allow /etc/hosts.allow.old >> $LOG
echo -e "Backup feito com sucesso!!!, continuando o script..."
sleep 2
echo
echo -e "Atualizando o arquivo hosts.allow, aguarde..."
#Copiando o arquivo de configuração hosts.allow
cp -v conf/hosts.allow /etc/hosts.allow >> $LOG
echo -e "Arquivo atualizadoo com sucesso!!!, continuando o script..."
sleep 2
echo
#Editando o arquivo de configuração hosts.allow
vim +24 /etc/hosts.allow
echo -e "HOSTS.ALLOW atualizado com sucesso!!!, pressione <Enter> para continuando com o script"
read
sleep 2
clear
echo ============================================================ >> $LOG
echo -e "Editando o arquivo /etc/hosts.deny para acrescentar as informações de bloqueio de acesso remoto"
echo
echo -e "Linhas a serem editadas no arquivo /etc/hosts.deny"
echo -e "`cat -n /etc/hosts.deny`"
echo -e "Pressione <Enter> para editar o arquivo"
echo
read
echo -e "Fazendo o backup do arquivo hosts.deny, aguarde..."
#Fazendo o backup do arquivo de configuração hosts.deny
mv -v /etc/hosts.deny /etc/hosts.deny.old >> $LOG
echo -e "Backup feito com sucesso!!!, continuando o script..."
sleep 2
echo
echo -e "Atualizando o arquivo hosts.deny, aguarde..."
#Copiando o arquivo de configuração hosts.deny
cp -v conf/hosts.deny /etc/hosts.deny >> $LOG
echo -e "Arquivo atualizado com sucesso!!!, continuando o script..."
sleep 2
echo
#Editando o arquivo de confguração hosts.deny
vim +32 /etc/hosts.deny
echo -e "HOSTS.DENY atualizado com sucesso!!!, pressione <Enter> para continuando com o script"
read
sleep 2
clear
echo ============================================================ >> $LOG
echo -e "Editando o arquivo /etc/ssh/sshd_config para acrescentar as informações de acesso remoto seguro"
echo -e "Pressione <Enter> para editar o arquivo"
echo
read
echo -e "Fazendo o backup do arquivo sshd_config, aguarde..."
#Fazendo o backup do arquivo de configuração sshd_config
mv -v /etc/ssh/sshd_config /etc/ssh/sshd_config.old >> $LOG
echo -e "Backup feito com sucesso!!!, continuando o script..."
sleep 2
echo
echo -e "Atualizando o arquivo sshd_config"
#Copiando o arquivo de configuração do sshd_config
cp -v conf/sshd_config /etc/ssh/sshd_config >> $LOG
echo -e "Arquivo atualizado com sucesso!!!, continuando o script..."
sleep 2
echo
#Editando o arquivo de configuração do sshd_config
vim /etc/ssh/sshd_config
echo
echo -e "Atualização feita com sucesso!!!, pressione <Enter> para testar o arquivo sshd_config"
echo -e "Pressione Q para sair"
read
echo
#Verificando as configurações do sshd
sshd -T | less
echo
echo -e "SSHD_CONFIG atualizado com sucesso!!!, pressione <Enter> para continuando com o script"
read
sleep 2
clear
echo ============================================================ >> $LOG
echo -e "Editando o arquivo /etc/dhcp/dhcpd.conf para acrescentar as informações de rede"
echo -e "Pressione <Enter> para editar o arquivo"
echo
read
echo -e "Fazendo o backup do arquivo dhcpd.conf, aguarde..."
#Fazendo o backup do arquivo de configuração dhcpd.conf
mv -v /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old >> $LOG
echo -e "Backup feito com sucesso!!!, continuando o script..."
sleep 2
echo
echo -e "Atualizando o arquivo dhcpd.conf, aguarde..."
#Copiando o arquivo de configuração do dhcpd.conf
cp -v conf/dhcpd.conf /etc/dhcp/dhcpd.conf >> $LOG
echo -e "Arquivo atualizado com sucesso!!!, continuando o script..."
#Editando o arquivo de configuração do dhcpd.conf
vim /etc/dhcp/dhcpd.conf
echo -e "Atualização feita com sucesso!!!, pressione <Enter> para testar o arquivo dhcpd.conf"
echo -e "Pressione Q para sair"
read
echo
#Verificando as configurações do dhcpd
dhcpd -t | less
echo
echo -e "DHCPD.CONF atualizado com sucesso!!!, pressione <Enter> para continuando com o script"
read
sleep 2
clear
echo ============================================================ >> $LOG
echo -e "Editando o arquivo /etc/issue.net para acrescentar as informações de acesso remoto"
echo -e "Geração do logo do Ubuntu no arquivo /etc/issue utilizando o screenfetch"
echo
echo -e "Pressione <Enter> para editar o arquivo"
echo
read
echo -e "Fazendo o backup do arquivo issue.net, aguarde..."
#Fazendo o backup do arquivo de configuração do issue.net
mv -v /etc/issue.net /etc/issue.net.old >> $LOG
echo -e "Backup feito com sucesso!!!, continuando o script..."
sleep 2
echo
echo -e "Atualizando o arquivo issue.net, aguarde..."
#Copiando o arquivo de configuração do issue.net
cp -v conf/issue.net /etc/issue.net >> $LOG
echo -e "Arquivo atualizado com sucesso!!!, continuando o script..."
sleep 2
echo
echo -e "Atualizando o arquivo issue com o comando screenfetch, aguarde..."
#Atualizando o arquivo de configuração issue para o comando screenfetch, gerando uma imagem do Ubuntu com códigos ASCII
screenfetch > /etc/issue
echo -e "Arquivo atualizado com sucesso!!!, continuando o script..."
sleep 2
echo
#Editando o arquivo de configuração do /etc/issue.net utilizado pelo SSH
vim /etc/issue.net
sleep 2
echo
#Editando o arquivo de configuração do /etc/issue utilizado no Login via TTY
vim /etc/issue
sleep 2
echo
echo -e "ISSUE.NET ISSUE atualizados com sucesso!!!, pressione <Enter> continuando com o script"
read
sleep 2
clear
echo ============================================================ >> $LOG
echo >> $LOG
echo -e "Fim do Script-05.sh em: `date`" >> $LOG
echo
echo -e "Configuração de Rede feita com sucesso!!!!!"
echo
# Script para calcular o tempo gasto para a execução do script-05.sh
DATAFINAL=`date +%s`
SOMA=`expr $DATAFINAL - $DATAINICIAL`
RESULTADO=`expr 10800 + $SOMA`
TEMPO=`date -d @$RESULTADO +%H:%M:%S`
echo -e "Tempo gasto para execução do script-05.sh: $TEMPO"
echo -e "Pressione <Enter> para concluir o processo e reinicializar o servidor."
read
sleep 2
reboot
else
echo -e "Versão do Kernel: $KERNEL não homologada para esse script, versão: >= 4.4 "
echo -e "Pressione <Enter> para finalizar o script"
read
fi
else
echo -e "Distribuição GNU/Linux: `lsb_release -is` não homologada para esse script, versão: $UBUNTU"
echo -e "Pressione <Enter> para finalizar o script"
read
fi
else
echo -e "Usuário não é ROOT, execute o comando com a opção: sudo -i <Enter> depois digite a senha do usuário `whoami`"
echo -e "Pressione <Enter> para finalizar o script"
read
fi