TADS:Administração de Servidores: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(282 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
'''Semestre''': 4º
'''Semestre''': 4º
 
<!--=Objetivo=
=Objetivo=
Instrumentalizar os alunos para administrar e gerenciar redes de computadores e servidores, de forma que possam configurar e controlar os dispositivos que compõe uma rede local e prover serviços de rede aos usuários, instalar e configurar aplicações de rede em servidores, incluindo questões de permissão de acesso aos usuários e segurança das informações.
Instrumentalizar os alunos para administrar e gerenciar redes de computadores e servidores, de forma que possam configurar e controlar os dispositivos que compõe uma rede local e prover serviços de rede aos usuários, instalar e configurar aplicações de rede em servidores, incluindo questões de permissão de acesso aos usuários e segurança das informações.


Linha 16: Linha 15:
Redes  Privadas  Virtuais (VPN).   
Redes  Privadas  Virtuais (VPN).   
Segurança  e firewall.
Segurança  e firewall.
-->
==Plano de ensino==
*[[PLANO DE ENSINO - TADS:Administração de Servidores]]


=Planos de ensino=
<!--=Histórico da Disciplina=
*[[PLANO DE ENSINO - TADS:Administração de Servidores|2016-1]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]])
*[[TADS:Administração de Servidores: 2019-2|2019-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]])
*[[TADS:Administração de Servidores: 2018-2|2018-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]])
*[[TADS:Administração de Servidores: 2017-2|2017-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]])
*[[TADS:Administração de Servidores: 2016-2|2016-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]])
*[[TADS:Administração de Servidores: 2015-2|2015-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]])
*[[TADS:Administração de Servidores: 2015-2|2015-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]])
 
-->
=MATERIAIS DE APOIO=
==Conteúdo Programático==
 
===Servidor Linux===
*[[Introdução a Administração de Servidores]]
*[[Introducao a Administracao de Servidores|Introdução a Administração de Servidores]]
*[[Servidor Linux]]
*[[Servidor Linux]]
*[[Administração de Usuários e Grupos]]
*[[Administracao de Usuarios e Grupos|Administração de Usuários e Grupos]]
*[[Permissões de acesso a arquivos e diretórios]]
*[[Permissoes de acesso a arquivos e diretorios|Permissões de acesso a arquivos e diretórios]]
*[[Cotas em disco]]
*[[Cotas em disco]]
*[[Programação do Shell]]
*[[Programação do Shell]]
*[[Agendamento de Tarefas]]
*[[Agendamento de Tarefas]]
*[[Cópias de Segurança]]
*[[Copias de Seguranca|Cópias de Segurança]]
*[[Servidor SSH]]
*[[Servidor SSH]]
===Servidores de Aplicação===
*[[Servidor Web]]
*[[Servidor Web]]
*[[Rede e Roteamento]]
**[[Laboratório: NetKit Roteamento]]
**[[NAT]]
**[[Protocolo DHCP]]
**[[Laboratório: NetKit DHCP e NAT]]
<!--
*[[DNS]]
**[[Servidor DNS]]
**[[Laboratório: NetKit DNS]]
*[[Servidor FTP]]
*[[Servidor Samba]]
*[[Servidor Samba]]
*[[Servidor Proxy]]
*[[Servidor Proxy]] e [[Firewall]]
*[[Firewall]]
-->
 
= DIÁRIOS DE AULA =
====Avaliação - Administração Servidores====
{| border="1" cellpadding="2"
!Alunos
!A1
!A2
!A3
!Faltas
!Final
|-
| Alexandre / Jeremy || B / A ||  ||  || 6 / 4 ||
|-
| Amanda / Bruno || C / B ||  ||  || 8 / 10 ||
|-
| Bruna / José || D / B ||  ||  || 14 / 11 ||
|-
| Caroline / Frederico || D / B ||  ||  || 6 / 12 ||
|-
| Eduardo / Fábio || C / C ||  ||  || 0 / 8 ||
|-
| Élton / Luis || B / C ||  ||  || 2 / 12 ||
|-
| Émerson / Thiago César || C / C ||  ||  || 19 / 12 ||
|-
| Faahd / Júlio || B / C ||  ||  || 4 / 2 ||
|-
| Gabriel / Wagner || C / B ||  ||  || 12 / 12 ||
|-
| Jade / Richard || C / A ||  ||  || 0 / 8 ||
|-
| Matheus || D ||  ||  || 14 ||
|-
| Thiago Henry / Victor || C / A ||  ||  || 12 / 10 ||
|-
|}
 
;Legenda:
*A1: Avaliação; Usuários, Grupos e Permissões
*A2: Montagem do Servidor
*A3: Relatórios Laboratórios
*Faltas x/80 (Máx. 20)
*'''Conceito Final'''
 
===01/Dez===
;[[NAT]] e [[Protocolo DHCP]]
;[[Laboratório: NetKit DHCP e NAT]]
 
===18, 23, 25 e 30/nov===
;[[Laboratório: NetKit Roteamento]]
*Instalação e teste de rede básica (18/11)
*Exercício 1 e 2 sobre roteamento estático (23 e 25/11)
*Exercício 3 sobre roteamento dinâmico
 
====Procedimentos para instalação do '''netkit2'''====
Antes da instalação do netkit2 alguns pacotes devem ser instalados no Ubuntu em modo '''root''', para tal, abra um terminal e execute o comano '''su''':
su
:Chamar o professor para inserir a '''senha'''.
*Instalar os seguintes pacotes:
sudo apt-get install libc6-i386
sudo apt-get install graphviz python-vte bridge-utils uml-utilities
Deixe o terminal de root para uso posterior e prossiga a instalação em un terminal de usuário normal:
*Criar pasta para o '''netkit2''' no diretório '''/home/tads''':
cd ~
mkdir netkit2
*Copiar para dentro da pasta '''netkit2''' os '''arquivos de instalação''' disponíveis em '''CD''':
netkit2-installer
netkit2.tar.bz2
*Mudar a '''permissão''' do arquivo de instalação:
chmod 755 netkit2-installer
*'''Executar''' o arquivo de instalação:
./netkit2-installer
:Escolher a opção '''Install from File''' e apontar para a pasta '''netkit2'''
Depois de instalado deve-se fazer uns ajustes nas '''variáveis de ambiente''' que devem ser executadas em modo '''root''', para tal, execute no terminal de root o comando comando '''visudo''' e inserir no final a linha:
visudo
 
tads  ALL=(root) NOPASSWD: SETENV: /home/tads/netkit2/netkit2/bin/tap.py
 
===16/nov===
;[[Rede e Roteamento]]:
 
*[[Roteamento IP]]: Conceitos básicos
 
===09/nov===
;[[Servidor Web]]: Suporte a PHP e MySQL
 
===04/nov===
;[[Servidor Web]]: Páginas HTTPS
 
====Tarefa 6====
;Servidor Web: Implementar um '''servidor Web''' com as seguintes características:
*'''Site para a equipe''' em um '''VirtualHost''' no servidor '''Apache''' para páginas HTML básicas.
*Suporte para '''páginas pessoais''' para os usuários, incluindo no mínimo uma página para cada membro da equipe.
*'''Site para um cliente 1''' em um '''VirtualHost''' no servidor '''Apache''' que inclua suporte a páginas'''HTTPS'''.
*'''Site para um cliente 2''' em um '''VirtualHost''' no servidor '''Apache''' que inclua scripts em '''PHP''' e acesso ao banco de dados '''MySQL'''.
 
===21/out===
Discussão Medida Provisória do Ensino Médio.
 
===07, 14 e 26/out===
;[[Servidor Web]]:
:Aplicação Web e Protocolo HTTP
:Configuração do servidor Web '''Apache'''
:Hospedagem de vários sites
:Hospedagem de sites pessoais para os usuários do sistema
 
===05/out===
;[[Exportar Servidor Virtual para máquina acessível na Internet]]
 
===30/set===
;Atividades de recuperação: Bruna, Carolina, Jade, Marcelo, Matheus
 
===28/set===
;[[Cópias de Segurança]]: Backup em '''servidor remoto''' e '''rsync'''.
;[[Servidor SSH]]
 
====Tarefa 5====
;Backup total: Utilizar um '''servidor remoto''', acessado via '''SSH''', para ser utilizado para armazenar arquivos de '''backup total''':
#Utilizar como '''servidor remoto''' o Ubuntu Server de uma outra equipe.
#Criar no servidor remoto uma '''conta especial''' para ser acessada pelo '''script de backup''', por exemplo, '''bkuser'''. Definir como diretório home deste usuário um diretório especial para guardar os '''arquivos de backup''', por exemplo '''/backup''' (este diretório poderia ser montado em uma partição exclusiva para backup).
#Gerar a '''chave de autenticação pública''' no cliente (ssh-keygen) que vai rodar o script de backup e copiá-la para o servidor remoto (ssh-copy-id), que vai armazenar os backups .
#Criar na máquina cliente um '''script de backup''' que identifique e salve diariamente os diretórios '''/home''' e '''/dados''' e que depois transfira os mesmos para o '''servidor remoto'''.
#Agendar a tarefa usando o agendamento de tarefas.
 
;Backup incremetal e Backup total: Criar um '''script de backup''' para ser armazenado em um '''servidor remoto''', combinando:
#Armazenar de arquivos de '''backup total''' realizados mensalmente, mantendo o histórico dos arquivos e nomeando-os com a identificação do mês;
#Atualizar de arquivos de '''backup incremental''', usando '''rsync''', executado diariamente.
 
===23/set===
;[[Agendamento de Tarefas]]: Crontab
;[[Cópias de Segurança]]: Backup total, incremental e diferencial
 
===16 e 21/set===
;[[Programação do Shell]]: Discussão e correção dos exercícios propostos.
 
===14/set===
;[[Cotas em disco]]: Configuração de cotas no servidor
 
===09/set===
;Avaliação 1
 
===31/ago===
;[[Cotas em disco]]
 
====Tarefa 4====
Criar '''cotas em disco''' para usuários e grupos para controle do espaço de armazenamento dos diretórios /home e /dados. O ideal seria que estes diretórios tivessem sido montados em partições separadas. Como não foi montado desta forma, vamos aplicar o sistema de quotas a '''partição / (raiz)''' do sistema.
*Atribuir quota de 1MB por usuário e 5MB por grupo.
*Atribuir 500 inodes por usuário e 500 inodes por grupo.
*Testar o funcionamento do sistema de quotas.
 
===24 e 26/ago===
;[[Permissões de acesso a arquivos e diretórios]]
 
====Tarefa 3====
Criar '''diretórios''' para utilização compartilhada para os usuários dos grupos primários e secundários:
*'''Grupos primários''': Alunos e Professores
*'''Grupos secundários''': Arduino, PHP, Mobile, etc
Alocar os diretórios no seguinte subdiretório:
/dados/professores
/dados/alunos
/dados/arduino
...
 
;Permissões: Definir para os diretórios as seguintes permissões:
*Diretório '''/netkit2home''' do usuário: Leitura, Escrita e Execução somente para o Dono do diretório;
*Diretório '''professores''': Leitura, Escrita e Execução para o Dono e para o Grupo do diretório;
*Diretório '''alunos''': Leitura, Escrita e Execução para o Dono e para o Grupo do diretório;
*Diretórios para grupos '''secundários''': Leitura, Escrita e Execução para o Dono e para o Grupo, e acesso a Leitura e Execução para os Outros.
 
Verifique a permissão padrão do diretório '''home''' que está sendo utilizada quando um usuário é criado. Se necessário, utilize o comando '''umask''' para que novos usuários fiquem com a permissão outindicada.
 
Testar as permissões de acesso com diferentes tipos de usuário.
 
===19/ago===
;[[Administração de Usuários e Grupos]]
 
====Tarefa 2====
Criar contas de '''usuário''' e '''grupo''' para no mínimo 6 alunos e 4 professores da turma:
*'''Grupos primários''': Alunos e Professores
*'''Grupos secundários''': Arduino, PHP, Mobile, etc
**Verificar com a turma os grupos de interesse para formar os grupos secundários.
:Cada usuário '''deve''' pertencer a '''um grupo primário''' e '''pode''' pertencer a '''um ou mais grupos secundários'''.
 
Requisitos para as contas de usuário e grupo:
*Estabelecer '''regramento''' para os nomes de login
**Por exemplo: nome: João Paulo de Souza -> login: jsouza
*Cadastrar cada usuário incluindo as seguintes informações: Nome Completo, Telefone, email.
*Cadastrar outas '''senhas''' (1234) e solicitar para os usuários fazerem a troca e testar a conta através '''ssh'''.
 
Exemplo:
groupadd Alunos
groupadd Professores
groupadd Arduino
adduser --ingroup Alunos jsouza
adduser jsouza Arduino
:No exemploServidor SSH foram criados três '''grupos''' Alunos, Professores e Arduino; em seguida foi criado o '''usuário''' jsouza no '''grupo primário''' Alunos; depois o usuário jsouza foi incluído no '''grupo secundário''' Arduino.
 
Alteração da senha
passwd jsouza
 
Verificar arquivos '''/etc/passwd''' e '''/etc/group''' fazendo os ajustes diretamente com o '''editor vi''' caso necessário.
 
;finger: Instalar o aplicativo '''finger''' com '''apt-get''' e verificar se as informações dos usuários estão corretas. Veja que com o finger é possível identificar se os usuários estão ativos no sistema.
 
===17/ago===
;[[Servidor Linux]]:
*Editor '''vi'''
*Gerenciamento de serviços e processos;
*Sistema de arquivos
 
===10 e 12/ago===
;[[Servidor Linux]]:
*Instalação e teste;
*Comandos Básicos.
 
===05/ago===
Na sexta-feira o professor Evandro estará em viagem com alunos para participar da III Olimpíada de Robótica do IFPR em Irati, PR.
 
Vai ficar tarefa para instalação e configuração do servidor Linux, a ser realizada em duplas.
 
====Tarefa 1====
;[http://200.17.101.9/wiki/index.php/Servidor_Linux#Instala.C3.A7.C3.A3o_e_configura.C3.A7.C3.A3o Servidor Linux: Instalação e configuração]: Instalar o servidor em uma máquina virtual do '''VirtualBox''':
#Escolher '''basic server install''';
#Definir '''memória RAM''' de 768MB, pois teremos várias máquinas virtuais em um mesmo hardware;
#Além do '''servidor básico''', instalar o '''Servidor OpenSSH''', para poder acessá-lo remotamente (os demais serviços serão instalados posteriormente).
#Na '''configuração''' da máquina virtual no '''VirtualBox''', estabelacer a configuração de rede do '''Servidor Linux''' como '''Placa em modo Bridge''', para que o servidor fica na mesma rede local dos demais computadores do laboratório;
#Verificar a configuração de rede do Servidor Linux com '''ifconfig''';
#Testar conectividade com '''ping''' entre o '''Servidor Linux''' a a '''máquina hospedeira''';
#Conectar-se remotamente ao '''Servidor Linux''' com '''ssh'''.
 
;Instalação do servidor Web apache:
#Instalar oout servidor Web com '''apt-get''';
#Testar funcionamento do servidor a partir de um navegador na máquina hospedeira.


;Instalação de outros serviços:
===Contêineres===
#Instalar e testar navegador '''lynx''';
*[[Docker]]
#Instalar e testar o aplicativo '''traceroute'''.


;Teclado ABNT Brasil: Caso tenha instalado versão em inglês do teclado, o mesmo pode ser ajustado com o comando:
===Servidores em Nuvem===
setxkbmap -model abnt2 -layout br
*AWS (Amazon)
*FireBase (Google)
*Digital Ocean


;Executar aplicativos gráficos via SSH: É possível executar aplicativos gráficos via SSH fazendo alguns ajustes no servidor:
= Diários de Aula =
vim /etc/ssh/sshd_config
:Altere as linhas no arquivo sshd_config:
Protocol 2
PermitRootLogin without-password
X11Forwarding yes
:Reinicie o outserviço:
/etc/init.d/ssh restart
:Conecte-se ao servidor via SSH usando:
ssh -X -C user@server
:Chame o aplicativo normalmente.


===03/ago===
Diários de aula disponibilizados na plataforma '''Moodle IFPR''' (https://ava.ifpr.edu.br).
;[[Introdução a Administração de Servidores]]
;[[Servidor outLinux]]: Origem e conceitos gerais


----
[[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) 11h09min de 4 de março de 2021 (-03)
----
----


[[Categoria:TADS]]
[[Categoria:TADS]]

Edição atual tal como às 22h20min de 23 de setembro de 2022