PJI2-2020-2

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Índice

Projeto Integrador II

Professora: Juliana Camilo (juliana.camilo@ifsc.edu.br)
Professor: Jorge Henrique B. Casagrande (casagrande@ifsc.edu.br) - A partir de 10/03/2021.


Encontros: 3a feira/19:00, 5a feira/19:00

Endereço encurtado: https://bit.ly/38pDStL

PPC Curso Técnico Subsequente de Telecomunicações

Conhecimentos

Estrutura de computadores; Operação de sistema operacional Linux; Administração básica de sistema operacional Linux; Introdução a redes LAN e WLAN; Arquitetura de redes TCP/IP e a Internet; Redes de acesso ADSL; Introdução a VOIP.

Objetivos

Capacitar o estudante à: conhecer a estrutura básica de um computador; conhecer o sistema operacional Linux; operar o sistema operacional pelas interfaces gráfica e linha de comando; instalar o sistema operacional Linux em um computador ajustada às necessidades de um usuário, e sua configuração para uso da rede e acesso ADSL à Internet; instalar pacotes de software no sistema operacional; gerir o acesso a recursos mantidos pelo sistema operacional por meio de usuários e permissões; configurar o sistema operacional para usar uma rede com acesso a Internet; compreender o endereçamento de dispositivos na Internet; conhecer e instalar os equipamentos de uma rede residencial (rede local e rede sem-fios); implantar um enlace de acesso a Internet para uma rede residencial usando equipamentos apropriados; resolver problemas de conectividade em uma rede local; analisar comunicações envolvendo protocolos de enlace, rede e transporte entre computadores e/ou equipamentos em uma rede; instalar e configurar terminais VoIP, tais como telefones IP, ATA e softphones, para que possam efetuar e receber chamadas de voz; identificar problemas de comunicação em uma rede, por meio de análise de comunicações entre equipamentos e investigação sobre o comportamento dos elementos de rede.

Bibliografia

  • FOROUZAN, Behrouz A.; FEGAN, Sophia Chung. Comunicação de dados e redes de computadores. Tradução de Ariovaldo Griesi. 4. ed. São Paulo: McGraw-Hill, 2008. 1134 p., il. ISBN 9788586804885.
  • KUROSE, J. e ROSS, K. Redes de Computadores e a Internet: Uma abordagem top-down. Tradução da 3a edição, Addison Wesley, 2006.
  • COLCHER, Sérgio. VOIP: voz sobre IP. Rio de Janeiro: Elsevier, 2005.

Material de apoio

10/11/2020: Apresentação da disciplina. Sistema operacional e introdução ao Linux

Aula 1

Arquivo apresentação da disciplina

Apresentação da disciplina 2019-1

O que é GNU/Linux

Linux é o núcleo do sistema operacional, programa responsável pelo funcionamento do computador, que faz a comunicação entre hardware (impressora, monitor, mouse, teclado) e software (aplicativos em geral). O conjunto do kernel e demais programas responsáveis por interagir com este é o que denominamos sistema operacional. O kernel é o coração do sistema.

Os principais programas responsáveis por interagir com o kernel foram criados pela fundação GNU. Por este motivo é mais correto nos referenciarmos ao sistema operacional como GNU/Linux ao invés de apenas Linux.

Uma distribuição nada mais é que o conjunto de kernel, programas de sistema e aplicativos reunidos num único CD-ROM (ou qualquer outro tipo de mídia). Hoje em dia temos milhares de aplicativos para a plataforma GNU/Linux, onde cada empresa responsável por uma distro escolhe os aplicativos que nela deverão ser inclusos.

Software livre

Open Source

Como o kernel trabalha

Assim que o computador é ligado, o kernel é acionado e começa a detectar todo o hardware que ele possui e o que precisa para funcionar. Após o carregamento, o núcleo assume outras funções: gerenciar os processos, os arquivos, a memória e os dispositivos periféricos, fazendo com que ele seja o “organizador” de tudo o que acontece na máquina.

Após realizar todas essas etapas, o sistema operacional está pronto para funcionar. Ele carrega as funções responsáveis por checar o que deve ser inicializado em nível de software e processos, como, por exemplo, o conteúdo do arquivo /etc/init. Geralmente, o que é carregado é a tela de login do usuário.

Com o usuário logado e o sistema operacional trabalhando, o kernel passa a executar suas funções, como a de controlar o uso da memória pelos programas ou a de atender a chamada de uma interrupção de hardware.

É possível baixar o código-fonte e o próprio kernel do Linux a partir do site oficial. Nesse endereço não só é possível ter a última versão como também mais antigas. Além disso, lá o usuário pode obter informações, reportar bugs e participar de listas de discussão.

Kernel2.jpg

Distribuições Linux

O Linux possui vários sabores e estes são denominados distribuições. Uma distribuição nada mais é que um kernel acrescido de programas escolhidos a dedo pela equipe que a desenvolve. Cada distribuição possui suas particularidades, tais como forma de se instalar um pacote (ou software), interface de instalação do sistema operacional em si, interface gráfica, suporte a hardware. Então resta ao usuário definir que distribuição atende melhor suas necessidades.

Lista de distribuições Linux

Distlinux.jpg

Interface gráfica

Uma das coisas que os usuários mais estranham quando migram para o Linux é a existência de diversas interfaces gráficas, coisa que não é comum no Windows nem no Mac OS X, a não ser quando o fabricante decide fazer alguma alteração. Diferente do que acontece nesses outros sistema operacionais, no Linux é possível mudar a interface gráfica do sistema. Mudando a interface gráfica do sistema, a distribuição Linux continua sendo a mesma mas toda a aparência é alterada. Quem não conhece a diferença entre sistema operacional e interface gráfica pode pensar que se trata de outra distribuição ou até mesmo de outro sistema operacional. As interfaces gráficas mais conhecidas são Unity, Gnome, KDE, XFCE, LXDE, Cinnamon e Mate.

Unity

Unity.jpg

KDE

Kde.jpg

Cinnamon

Cinnamon.jpg

Mate

Mate.jpg

Estrutura de diretórios no Linux

O primeiro choque para quem está vindo do Windows é a estrutura de diretórios do Linux, que não lembra em nada o que temos no Windows. Basicamente, no Windows temos os arquivos do sistema concentrados nas pastas Windows e Arquivos de programas e você pode criar e organizar suas pastas da forma que quiser. No Linux é basicamente o contrário. O diretório raiz está tomado pelas pastas do sistema e espera-se que você armazene seus arquivos pessoais dentro da sua pasta no diretório /home.

Mas, as diferenças não param por aí. Para onde vão os programas que são instalados se não existe uma pasta central como a arquivos de programas? E para onde vão os arquivos de configuração se o Linux não possui nada semelhante ao registro do Windows?

A primeira coisa com que você precisa se habituar é que no Linux os discos e partições não aparecem necessariamente como unidades diferentes, como o C:, D:, E: do Windows. Tudo faz parte de um único diretório, chamado diretório raiz.

Dentro deste diretório temos não apenas todas as partições de disco, mas também o CD-ROM, drive de disquete e outros dispositivos.

Entendendo a estrutura de diretórios


Estrutura de diretórios

Dirlinux.jpg

O que é o Sistema Operacional

O sistema operacional funciona com a iniciação de processos que este irá precisar para funcionar corretamente. Esses processos poderão ser arquivos que necessitam de ser frequentemente atualizados, ou arquivos que processam dados úteis para o sistema. Poderemos ter acesso a vários processos do sistema operacional a partir do gerenciador de tarefas, onde se encontram todos os processos que estão em funcionamento desde a inicialização do sistema operacional até a sua utilização atual.

O sistema operacional é uma coleção de programas que:

  • Inicializa o hardware do computador
  • Fornece rotinas básicas para controle de dispositivos
  • Fornece gerência, escalonamento e interação de tarefas
  • Mantém a integridade de sistema


Qual é o papel de um Sistema Operacional

As funções do sistema operacional são inúmeras:

  • Gestão do processador: o sistema operacional se encarrega de gerenciar o subsídio do processador entre os diversos programas, graças a um algoritmo de escalonamento. O tipo de programador é totalmente dependente do sistema operacional em função do objetivo visado.
  • Gestão da memória RAM: o sistema operacional se encarrega de gerenciar o espaço de memória atribuído a cada aplicativo e, se for o caso, a cada usuário. No caso de insuficiência de memória física, o sistema operacional pode criar uma área de memória no disco rígido, chamada de memória virtual. Ela faz funcionar aplicativos que necessitam de mais memória do que a memória RAM tem disponível no sistema. Por outro lado, esta memória é muito mais lenta.
  • Gestão das entradas/saídas: o sistema operacional unifica e controla o acesso dos programas aos recursos materiais através dos drivers (também chamados de gerenciadores de periféricos ou gerenciadores de entrada/saída).
  • Gestão da execução dos aplicativos: o sistema operacional é responsável pela boa execução dos aplicativos, atribuindo-lhes os recursos necessários ao seu funcionamento. Desta maneira, ele também permite eliminar um aplicativo que não responda corretamente.
  • Gestão dos direitos: o sistema operacional é responsável pela segurança ligada à execução dos programas, garantindo que os recursos sejam utilizados apenas pelos programas e usuários que possuam direitos para tanto.
  • Gestão dos arquivos: o sistema operacional gerencia a leitura e a redação no sistema de arquivos e os direitos de acesso aos arquivos pelos usuários e aplicativos.
  • Gestão das informações: o sistema operacional fornece diversos indicadores para diagnosticar o bom funcionamento da máquina.


Quais são os componentes do sistema operacional

O sistema operacional é composto por um conjunto de softwares que permitem administrar as interações com o hardware. Neste conjunto de softwares distinguem-se os seguintes elementos: o núcleo (kernel), que representa as funções fundamentais do sistema operacional tais como gestão da memória, processos, arquivos, entradas/saídas e das funcionalidades de comunicação; o Intérprete de comandos (shell), ou seja, a camada externa, por oposição ao núcleo, que permite a comunicação com o sistema operacional por meio de uma linguagem de comandos para o usuário pilotar os periféricos ignorando muitas das características do hardware como, por exemplo, a gestão dos endereços físicos; e o sistema de arquivos (file system), que permite registrar os arquivos em arborescência.


Como funcionam os sistemas multitarefas

Um sistema operacional é multitarefas quando várias tarefas (também chamadas de processos) podem ser executadas simultaneamente.

Os aplicativos são compostos por uma sequência de instruções chamados processos rápidos (threads). Estes threads serão alternadamente ativos, no modo de espera, suspensos ou destruídos, de acordo com a prioridade que lhes é associada ou executados sequencialmente.

Um sistema é preemptivo quando possui um programador que reparte, de acordo com critérios de prioridade, o tempo da máquina nos diversos processos que fazem os pedidos.

O sistema é de tempo compartilhado quando uma cota de tempo é atribuída a cada processo pelo programador. Este é o caso principalmente dos sistemas multiusuários, que permitem que vários deles utilizem simultaneamente um mesmo computador e vários aplicativos, diferentes ou similares.

Por fim, o sistema é considerado transacional quando o sistema atribui a cada usuário uma fração de tempo.


Área de trabalho ou Desktop

É a área de exibição quando você liga o computador e faz o logon no sistema operacional. Quando você abre programas ou pastas, eles são exibidos sobre a área de trabalho, Nela também é possível colocar itens, como arquivos e pastas, e organizá-los como quiser. Ela é composta de:

  • Menu iniciar
  • Barra de tarefas
  • Área de notificação
  • Ícones, pastas e atalhos
  • Papel de parede ou plano de fundo.
Desktopwindows.jpg
Área de trabalho Windows


Desktopubuntumate.jpg
Área de trabalho Ubuntu



Explorador de arquivos Caja

O explorador de arquivos exibe a pasta pessoal do usuário, que seria o mesmo que a pasta Meus Documentos do Windows. Porém há uma diferença do Windows, dentro desta pasta é o único local que o usuário pode criar novas pastas ou arquivos.

Cajalinux.jpg

Instalando e desinstalando programas

O Linux está repleto de softwares, mas o que devemos saber é que ele possui u ma Central de programas que permite instalar diversos outros softwares, para diversas áreas.

Houve uma época em que a instalação de pacotes precisava ser feita exclusivamente por comandos no console, o que consumia tempo e exigia um certo trabalho. Era necessário, por exemplo, lidar manualmente com todas as dependências necessárias para a instalação de um software, obedecendo, inclusive, a ordem de instalação desses pacotes. Mas, felizmente, isso ficou no passado.

Hoje existe maneiras bem mais práticas e simples de se instalar e remover programas do Ubuntu. A principal delas é por meio da Central de Programas, que pode ser executada pelo Launcher localizado no lado esquerdo da tela.

Para usar a Central sem problemas é necessário ter uma conexão ativa com a Internet. Afinal, todos os programas estão armazenados em espaços virtuais remotos conhecidos como repositórios.

Centraldeprogramas.jpg


Para instalar uma aplicação, você pode começar navegando pelas categorias posicionadas na lateral esquerda da Central de Programas do Ubuntu. Ao encontrar o programa desejado, clique sobre ele e, em seguida, no botão "Instalar". Por medidas de segurança, é necessário informar a senha do seu usuário para que o software seja instalado com sucesso.

Para remover um programa instalado anteriormente, voltaremos à Central de Programas. Lá, clique no botão "Instalados" para listar todo os softwares presentes no sistema. Depois disso, o procedimento é bastante similar ao de instalação. Basta navegar pelas categorias, selecionar o programa desejado e, em seguida, clicar no botão "Remover". A senha do usuário também será solicitada para que a ação seja efetivamente realizada.


Usando a Central de Programas do Ubuntu

Existem inúmeras maneiras de instalar um software em um sistema operacional. No Ubuntu Mate, a maneira mais rápida e fácil de encontrar e instalar novos aplicativos é através da Central de programas do Ubuntu.

Para acessar, você deve ir em Sistema, Administração e Central de Programas do Ubuntu.


Centralubuntu.jpg

A Central de programas do Ubuntu pode ser usado para instalar aplicativos disponíveis nos repositórios oficiais do Ubuntu. A janela da Central de programas do Ubuntu se divide em seções:

  • Uma lista de categorias, à esquerda;
  • Um banner na parte superior;
  • Um painel "Novidades" logo abaixo do banner superior;
  • Em seguida, um painel "Recomendado para você ";
  • E finalmente, um painel de "Mais bem avaliados" na parte inferior.

Ao clicar em uma categoria você será levado a uma lista de aplicações relacionadas. Por exemplo, a categoria de Internet contém aplicativos como o navegador Firefox.

Cada áreas em destaque como "Novidades" e "Mais bem avaliados", apresenta ícones de aplicação diferentes. Basta clicar em um ícone para obter mais informações sobre a aplicação ou para instalá-lo. Para ver todos os softwares contidos na área, clique no botão "Mais" no canto superior direito de cada painel.

As três seções no topo da Cetral de programas do Ubuntu representam uma visão atual do seu catálogo de Softwares. Clique no botão "Todos aplicativos" para ver todo os aplicativos instalados, clique no botão "Instalados" para ver uma lista de aplicativos já instalados no seu computador e clique em "Histórico" para ver as instalações e exclusões anteriores organizados por data.

Pesquisando aplicativos

A Central de programas do Ubuntu exibe diferentes fontes na seção "Todos os aplicativos". Clicando na seta ao lado de "Todos os aplicativos" irá mostrar uma lista de seções individuais, selecionando "Fornecido pelo Ubuntu" irá mostrar os aplicativos livres oficiais. "Para Compra" mostrará os aplicativos disponíveis para compra, e "Parceiros da Canonical" mostrará os aplicativos de parceiros da Canonical, como a Adobe.

Se você estiver procurando por um aplicativo, você já deve saber seu nome específico (por exemplo, o VLC Media Player), ou você pode apenas ter uma categoria geral em mente (por exemplo, a categoria som som e vídeo inclui uma série de aplicações diferentes, tais como conversores de vídeo, editores de áudio e players de música).

Para ajudar você a encontrar o aplicativo certo, você pode navegar pelo catálogo da Central de programas do Ubuntu clicando na categoria do software que você procura. Ao selecionar uma categoria, será mostrado uma lista de aplicativos, algumas categorias têm subcategorias, por exemplo, a categoria de jogos tem subcategorias para simulação e jogos de cartas. Para mover através de categorias, use o botões "Voltar" e "Avançar" no topo da janela.

Como você vê uma categoria de software, você verá uma caixa de pesquisa no canto superior direito da janela. Esta caixa de pesquisa pode ser utilizada para especificar nomes ou pesquisas de palavras-chave dentro desta categoria.


Centralubuntu2.jpg


Depois de ter encontrado um aplicativo que você gostaria de experimentar, a instalação exigirá apenas um clique.

Para instalar um aplicativo:

  1. Clique no botão "Instalar" à direita do pacote selecionado, se você gostaria de ler mais sobre o pacote de software antes de instalá-lo, em primeiro lugar clique no botão "Mais Informações", logo abaixo do software selecionado. Isso vai lhe dar uma breve descrição do aplicativo, bem como uma imagem e links da web, quando disponível. Pacotes adicionais relacionados serão listados abaixo na descrição do aplicativo. Você pode clique em "Instalar" a partir desta tela também.
  2. Após clicar em "Instalar", digite sua senha na janela de autenticação, esta é a mesma senha que você usa para fazer login na sua conta. Você é obrigado a digitar sua senha sempre que instalar ou remover software, a fim de evitar que alguém sem acesso de administrador faça alterações não autorizadas ao seu computador. Se você receber uma mensagem de falha de autenticação depois de digitar sua senha, verifique se você digitou corretamente e tente novamente.
  3. Aguarde até que o Ubuntu termine a instalação, durante a instalação (ou remoção) de programas, você verá um ícone animado de rotação à direita do botão Histórico na parte superior da tela. Este ícone animado é rotulado de "Progresso". A qualquer momento, clicando no botão de "Progresso" na parte superior irá levá-lo a um resumo de todas as operações que estão sendo processadas no momento. Você também pode clicar no "X" para cancelar quaisquer operações listadas.


Uma vez que a Central de programas do Ubuntu terminou de instalar um aplicativo, ele está pronto para ser utilizado. Você pode iniciar o aplicativo recém instalado, indo para o Painel Inicial e digitar o nome do aplicativo na barra de pesquisa.


Centralubuntu3.jpg


Remover aplicativos

Remover aplicativos é muito semelhante à instalação de aplicativos. Primeiro, encontre o aplicativo instalado na Central de programas do Ubuntu, você pode clicar no Botão "Instalados" para ver todos os aplicativos instalados listados por categorias. Vá até o aplicativo que você deseja remover, se você clicar na seta ao lado ao botão "Instalados", você vai encontrar uma lista de fornecedores de aplicativos, que pode ajudá-lo a refinar a sua pesquisa. Você também pode digitar palavras-chave na busca campo para encontrar rapidamente aplicativos instalados, ou você pode pesquisar por data na Guia "Histórico".

Para remover um aplicativo:

  1. Clique no botão "Remover" na direira do aplicativo selecionado.
  2. Digite sua senha na janela de autenticação, semelhante à instalação de aplicativos a remoção de aplicativos requer sua senha para ajudar a proteger o seu computador contra alterações não autorizadas. O pacote será então colocado em fila para a remoção e aparecerá na seção progresso até que ele termine de remover.


Centralubuntu4.jpg


Histórico de aplicativos

A central de programas do Ubuntu mantém o controle dos aplicativos já instalados na seção Histórico. Isso é útil se você quiser reinstalar um aplicativo previamente removido e não se lembra o nome do aplicativo. Há quatro botões na seção: "Todas as alterações", "Instalações", "Atualizações" e "Remoções". Se você clicar na seta ao lado de um dia, uma lista de pacotes individuais serão exibidos, juntamente com o que foi feito com eles e a hora.


Centralubuntu5.jpg


Exercícios

1 - Explique o que é:

  • Kernel;
  • Sistema Operacional;
  • Interface gráfica;

2 - Qual a diferença entre os sistemas de arquivos do Windows e Linux?


12/11/2020: Instalação do Sistema Operacional

Aula 2

Instalando Sistema Operacional

Sistemas operacionais baseados em Linux já foram complicados de usar, ao menos quando comparados ao Windows, mas avanços recentes têm deixado a plataforma mais amigável. No Linux, você vai encontrar alguns programas com os quais está acostumado, como Firefox, Chrome e outros. A maioria, entretanto, não está disponível porque o Linux possui uma comunidade de desenvolvedores que cria, gratuitamente, programas equivalentes para o OS. Não há Photoshop, por exemplo, mas há o GIMP. Não há Microsoft Office, mas há o LibreOffice. Não há Lightroom, mas há o Darktable. Alguns dos programas não são tão bons quanto os disponíveis para Windows, mas por outro lado alguns são até melhores. Cabe a você experimentar. Você não vai precisar digitar nenhum comando complexo ou adquirir conhecimento avançado prévio para fazer isso, mas o processo é longo e varia um pouquinho de computador para computador. É possível que você mexa com certas coisas que nunca viu. Este processo (e o sistema Ubuntu) é utilizado por milhões de pessoas no mundo.

Iremos utilizar um software de virtualização chamado Virtualbox. o Virtualbox é fornecido pela Oracle, de forma gratuita. Caso você queira instalar o Virtualbox no seu computador, pode baixar deste site. Lembre-se de baixar a versão adequada para o seu sistema operacional, juntamente com o Extension Pack (software adicional para suporte a diversos dispositivos do seu computador).

Para a criação da máquina virtual, deixaremos com a seguinte configuração:

  • 2048 MB de Ram;
  • 30 GB de espaço em disco;
  • 2 processadores;
  • 32 MB de memória de vídeo;
  • Habilitar aceleração 3D;
  • Placa de rede em modo bridge.
Virtualbox.jpg

A versão do sistema operacional que utilizaremos é o Ubuntu Mate 18.04.3 (Bionic).

Ao iniciar a instalação, a primeira etapa é a escolha do idioma e se queremos somente experimentar o Ubuntu ou instalar.

a próxima etapa nos dá algumas orientações e também permite escolhermos se queremos baixar atualizações e instalar programas de terceiros.

Logo após, teremos que escolher entre a opção de apagar o disco inteiro de forma automatizada pelo instalador ou marcar a opção avançada. Neste momento iremos utilizar a opção de apagar o disco inteiro, pois estaremos entrando nos detalhes de particionamento, sistema de arquivos e tipos de partição em outra aula.

Também escolhemos o local onde estamos.

Devemos definir o layout do teclado.

E por fim, escolhemos o nome, nome do computador, nome de usuário e senha.

Agora é só aguardar...

Ubuntumateinstanlado.jpg

Terminada a instalação do sistema operacional, devemos instalar alguns pacotes necessários para que a nossa máquina virtual possa ser utilizada em modo de tela cheia. Para tanto iremos utilizar o terminal do mate e digitar os comandos a seguir:

  • sudo apt-get update
  • sudo apt-get install build-essential module-assistant dkms
  • sudo m-a prepare

Após esta instalação, podemos clicar em Dispositivos, e ir na opção Inserir imagem de CD dos adicionais para convidado e executar a aplicação que irá abrir.

Exercícios

Neste exercício iremos efetuar a instalação de um sistema operacional diferente. Iremos instalar o Ubuntu Mate 19.04 (Disco). A configuração da máquina virtual deve ser a seguinte:

  • 3072 MB de Ram;
  • 20 GB de espaço em disco;
  • 2 processadores;
  • 64 MB de memória de vídeo;
  • Habilitar aceleração 3D;
  • Placa de rede em modo bridge.


Ao final da instalação, enviar foto da tela de login da máquina instala onde apareça o seu usuário cadastrado.

17/11/2020: Uso do SO: Manipulação do arquivos e diretórios

Aula 3

Manipulação de arquivos e diretórios

Uma tarefa usual em um sistema operacional é localizar arquivos. Essa procura pode ser baseada no nome ou parte do nome de arquivo, na data de criação ou última modificação, no nome do usuário ou grupo dono, ou outros atributos do arquivo. Pode ser inclusive baseada numa combinação dessas informações. Por exemplo, pode ser necessário procurar todos os arquivos de música ou video, ou então todos os programas (arquivos executáveis) que pertençam ao superusuário (usuário root). Existem programas capazes de fazer tais buscas tanto no ambiente gráfico quanto no modo texto.

As buscas a serem realizadas são:

  1. Arquivos de música
  2. Arquivos de música ou video
  3. Arquivos de texto ou planilha do Openoffice que não tenham sido modificados a 7 dias ou mais
  4. Arquivos executáveis (programas)
  5. Arquivos executáveis pertencentes ao usuário root

Para iniciar, vamos usar programas gráficos para fazer buscas.

Usando o ambiente gráfico

O primeiro programa gráfico a ser usado é o caja (ou nautilus em outras versões do Ubuntu que não o Mate), o gerenciador de arquivos disponível no Ubuntu Linux. Para usá-lo para fazer buscas selecione a opção de pesquisa:


Pesquisa1.png


No caja aparecerá uma caixa de texto onde se deve digitar o nome ou parte do nome dos arquivos a serem procurados.


Pesquisa2.png


Tente fazer as buscas usando esse programa. Há alguma que não pode ser feita ?

Usando a linha de comando (modo texto)

O caja funciona como um gerenciador de arquivos e diretórios, possibilitando investigar que arquivos existem em cada diretório, entre outras coisas. Com ele é simples listar o conteúdo de um ou mais diretórios, bastando navegar por sua interface. Mas na linha de comando não há essa facilidade. Nela devem-se usar alguns programas para obter um resultado parecido. Para começar a usar a linha de comando, devem-se conhecer e saber usar programas para navegar por diretórios, listar diretórios, procurar arquivos e diretórios e copiar arquivos.

Árvore de diretórios

Antes de iniciarmos o estudo de comandos dos Linux é necessário entendermos como funciona a sua organização de arquivos e diretórios. Isso é importante para conseguirmos especificar adequadamente o caminho de arquivos e diretórios que desejamos manipular quando formos utilizar os mais diversos comandos.

ArvoreDiretorios2.png

Na figura acima é mostrado um exemplo de como são organizados arquivos e diretórios no Linux. Como é possível notar arquivos e diretórios são organizados de forma hierárquica, formando o que se chama de Árvore de Diretórios.

No Linux há um diretório de nível superior chamado root que é identificado como apenas uma barra (/). Abaixo deste diretório principal estão organizados hierarquicamente todos os demais diretórios e arquivos existentes. Os diretórios que estão contidos em / são chamados de sub-diretórios. No exemplo mostrado na Figura acima podemos perceber que em / está o sub-diretório home, dentro de home está o sub-diretórios user1 e dentro de user1 estão os sub-diretórios doc e videos.


O caminho de um arquivo ou diretório é a localização deste a partir do topo da estrutura de diretórios (/) ou a partir do diretório atual em que o usuário se encontra. Quando apontamos o caminho a partir do topo estamos nos referindo ao caminho absoluto de arquivos e diretórios. Quando apontamos o caminho de um arquivo ou diretório a partir do diretório corrente em que o usuário se encontra, estamos usando o conceito de caminho relativo.

Por exemplo, o caminho absoluto do diretório doc que aparece na figura é /home/user1/doc. Já se o diretório atual do usuário for /home, o caminho relativo do diretório doc é user1/doc.

Diretório atual

Na linha de comando existe o conceito de diretório atual ou corrente. Quando se acessa esse tipo de interface, existe um diretório em que operações sobre arquivos são realizadas. Para descobrir o diretório atual usa-se o programa pwd, como mostrado a seguir:

msobral@turing:~$ pwd
/home/aluno

Listagem de diretório

No exemplo anterior, o diretório atual é /home/aluno. Qualquer operação sobre arquivos ou diretórios será feita tendo como base esse diretório. A operação mais simples é a listagem de diretório, que se faz com o programa ls. Aproveitando o exemplo acima, a listagem do diretório atual teria este resultado:

msobral@turing:~$ ls
001.jpg                iperf-2.0.5.tar.gz             prova4-2011-1.odt
002.jpg                juliano.tgz                    prova4-2011-1-rec.odt
003.jpg                klaus                          prr.log
004.jpg                livros                         public_html
005.jpg                Makefile.in                    quartus.cap
006.jpg                nhrp.tar                       radiusd_test.py
007.jpg                nohup.out                      rco2
008.jpg                passwd.web                     rmu
msobral@turing:~$

Como já visto em uma seção anterior, o programa ls pode apresentar mais informações sobre arquivos e subdiretórios se for executado com a opção -l (listagem longa). Experimente executar o ls com esta opação. Para conhecer outras opções e obter mais detalhes, leia a página de manual do comando:

man ls

... ou acesse isto.

Mudança de diretório

A listagem apresentada revela vários arquivos e subdiretórios existentes no diretório atual. Sabendo que public_html é um subdiretório, pode-se desejar mudar o diretório atual de forma a entrar nesse subdiretório. Isso pode ser facilmente realizado com o programa cd:

aluno@turing:~$ cd public_html
aluno@turing:~/public_html$ pwd
/home/aluno/public_html


Diretório atual e diretório acima

O diretório imediatamente acima é referido com .. (dois pontos). Esse é um atalho que possibilita subir um nível de diretório sem conhecer o nome do diretório imediatamente superior. Assim, para voltar ao diretório imediatamente anterior ao diretório atual pode-se fazer isto:

aluno@turing:~/public_html$ cd ..
aluno@turing:~$ pwd
/home/aluno


O diretório atual possui também um atalho chamado . (um ponto). Assim, se for executado este comando ...

aluno@turing:~/public_html$ pwd
/home/aluno/public_html
aluno@turing:~/public_html$ cd .
aluno@turing:~/public_html$ pwd
/home/aluno/public_html

... nada acontecerá (o diretório atual não será modificado).

Criação e remoção de diretório

Um diretório pode ser criado com o comando mkdir. O uso desse comando pede apenas um argumento, que é o nome ou caminho do diretório a ser criado:

aluno@M2:~$ pwd
/home/aluno
aluno@M2:~$ mkdir teste
aluno@M2:~$ cd teste
aluno@M2:~$ pwd
/home/aluno/teste

Para remover um diretório usa-se o comando rmdir. Esse diretório deve estar vazio para o comando consiga removê-lo:

aluno@M2:~$ pwd
/home/aluno
aluno@M2:~$ rmdir teste
aluno@M2:~$ cd teste
cd: teste: Arquivo ou diretório não encontrado
aluno@M2:~$ rmdir Downloads
rmdir: falhou em remover “Downloads”: Diretório não vazio

Cópia de arquivos

A cópia de arquivos na linha de comando envolve usar o programa cp. Com ele podem-se copiar um ou mais arquivos para um diretório de destino. Por exemplo, para copiar o arquivo 001.jpg para dentro do diretório public_html pode-se fazer o seguinte:

aluno@M2:~$ cp 001.jpg public_html

O diretório de destino é sempre o último argumento passado ao programa cp. A cópia de múltiplos arquivos pode ser feita listando-os todos antes do diretório de destino:

aluno@M2:~$ cp 001.jpg 002.jpg 003.jpg public_html


... ou usando-se o caractere especial * (chamado de curinga ou wildcard no original em inglês):

aluno@M2:~$ cp *.jpg public_html


No exemplo acima, todos os arquivos cujos nomes terminem com .jpg serão copiados para dentro de public_html. Outra variação no uso do curinga é:

aluno@M2:~$ cp 00*.jpg public_html

... em que todos os arquivos cujos nomes iniciem com 00 e terminem com .jpg serão copiados.

Renomeação de arquivos

Arquivos podem ser renomeados com o comando mv. Ele pode ser usado de forma muito parecida com o comando cp. A diferença está na remoção do arquivo original, como se ele sumisse de seu diretório de origem e aparecesse no diretório de destino.

aluno@M2:~$ mv mulher_de_40.mp3 Musicas
aluno@M2:~$ ls Musicas
mulher_de_40.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado


Se os diretórios de origem e destino forem iguais, mas os nomes do arquivo de origem e destino forem diferentes, então o arquivo na verdade é renomeado.

aluno@M2:~$ mv mulher_de_40.mp3 musica_romantica.mp3
aluno@M2:~$ ls musica_romantica.mp3
musica_romantica.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado

Remoção de arquivos

Arquivos podem ser removidos com o comando rm. Cuidado ao utilizá-lo ! Uma vez removido, um arquivo não pode ser recuperado !

aluno@M2:~$ rm mulher_de_40.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado

Curingas (wildcards)

Curingas são caracteres especiais usados para selecionar vários arquivos ou diretórios de uma só vez. Os curingas podem ser usados em qualquer comando para especificar nomes de arquivos e diretórios. Dois curingas bastante usados são:

  • * : casa com uma sequência composta por 0 ou mais caracteres quaisquer.
  • ? : casa com um único caractere qualquer

Curingas são muito úteis para operações sobre arquivos e diretórios. Por exemplo, para copiar todos os arquivos de música MP3 pode-se usar o curinga *' da seguinte forma:

aluno@M2:~$ cp *.mp3 Musica


Para mover os arquivos cuja extensão seja mp4 ou mpg, podem-se usar os curingas * e ? desta forma:

aluno@M2:~$ mv *.mp? Videos

Procura por arquivos

A procura de arquivos e diretórios pode ser realizada na linha de comando com o programa find. Por exemplo, para localizar todos os arquivos ou diretórios chamados default, e que estejam abaixo de /etc:

aluno@D1:~$ find /etc -name default
/etc/default
/etc/calendar/default
/etc/X11/xinit/xinput.d/default
aluno@D1:~$


Uso do find :

find diretório [opções]


... sendo diretório o diretório abaixo de que se deseja fazer a busca. As opções servem para selecionar arquivos e diretórios durante a busca, e também para executar ações para cada um deles que for encontrado. Algumas opções mais comuns:

  • -name nome: seleciona arquivos ou diretórios cujos nomes sejam nome' . Essa opção aceita wildcards (* e ?)
  • -type tipo: seleciona apenas o tipo' indicado, que pode ser:
    • d: diretório
    • f: arquivo
    • l: link simbólico (ou atalho)
  • -perm modo: seleciona apenas arquivos ou diretórios que possuam as permissões indicadas em modo
  • -size tamanho: seleciona apenas arquivos com tamanho de acordo com o especificado (em bytes)
  • -mtime n: seleciona apenas arquivos ou diretórios modificados a n * 24 horas atrás
  • -atime n: seleciona apenas arquivos ou diretórios acessados a n * 24 horas atrás
  • -user usuario: seleciona apenas arquivos ou diretórios pertencentes a usuario
  • -exec comando \;: executa comando para cada arquivo ou diretório encontrado. Ex:
    • find /tmp -type f -mtime +7 -exec rm -f {} \; : remove todos os arquivos dentro de /tmp que estejam há 7 dias sem serem modificados. A sequência {} é substituída pelo nome do arquivo encontrado.

... e muitas outras (consulte o manual do find).

Exercícios

  1. Organize estes arquivos, de forma que sejam colocados nos subdiretórios Imagens, Videos e Documentos, de acordo com seus tipos. Os arquivos devem ser movidos para esses diretórios.
  2. Remova o arquivo compactado transferido no exercício anterior.
  3. Renomeie os arquivos de imagens organizados no exercício 3. Dê um nome para cada imagem de acordo com seu conteúdo.
  4. No diretório /usr/share/sounds/ubuntu/stereo existem vários arquivos de áudio. Crie um diretório dentro de seu diretório pessoal e copie-os para esse novo diretório. Em seguida, reproduza-os para escutá-los.
  5. Encontre o arquivo lsusb, que se encontra em algum subdiretório dentro de /usr
  6. Encontre os subdiretórios lib, que estão dentro de /usr
  7. Localize todos os arquivos (ou seja, excluindo os diretórios) que existem abaixo de /lib
  8. Localize todos os arquivos pertencentes ao usuário aluno e que estejam dentro de /tmp


24/11/2020: Usuários e grupos

Aula 5

Links úteis

Usuários e grupos

Um usuário Linux é uma entidade que possui uma identificação no sistema onde os principais parâmetros são: login, senha, e número de identificação. Estas informações permitem ao Linux controlar como o acesso é garantido aos usuários e o que eles podem fazer depois de obter a permissão de acesso. Um grupo é um conjunto de usuários. Cada grupo também possui identificação única no sistema, um nome e um número. O administradores de sistemas normalmente fazem controle de acesso por meio dos grupos.

Um usuário no Linux (e no Unix em geral) é definido pelo seguinte conjunto de informações:

  • Nome de usuário (ou login): um apelido que identifica o usuário no sistema
  • Senha (password): senha para verificação de acesso
  • UID (User Identifier): um número único que identifica o usuário
  • GID (Group Identifier): o número do grupo primário do usuário
  • Nome completo (full name): nome completo do usuário
  • Diretório inicial (homedir): o subddiretório pessoal do usuário, onde ele é colocado ao entrar no sistema
  • Shell: o programa a ser executado quando o usuário entrar no sistema

As contas de usuários, que contêm as informações acima, podem ficar armazenadas em diferentes bases de dados (chamadas de bases de dados de usuários). Dentre elas, a mais simples é composta pelo arquivo /etc/passwd:

root:x:0:0:root:/root:/bin/bash
sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false
suse-ncc:x:105:107:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bash
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
roberto:x:1001:100:Roberto de Matos:/data1/roberto:/bin/bash

Acima um exemplo de arquivo /etc/passwd

Cada linha desse arquivo define uma conta de usuário no seguinte formato:

nome de usuário:senha:UID:GID:Nome completo:Diretório inicial:Shell

O campo senha em /etc/passwd pode assumir os valores:

  • x: significa que a senha se encontra em /etc/shadow
  • *: significa que a conta está bloqueada
  • senha encriptada: a senha de fato. Porém usualmente a senha fica armazenada no arquivo /etc/shadow.

O arquivo /etc/shadow armazena exclusivamente as informações relativas a senha e validade da conta. Nele cada conta possui as seguintes informações:

  • Nome de usuário
  • Senha encriptada (sobrepõe a senha que porventura exista em /etc/passwd)
  • Data da última modificação da senha
  • Dias até que a senha possa ser modificada (validade mínima da senha)
  • Dias após que a senha deve ser modificada
  • Dias antes da expiração da senha em que o usuário deve ser alertado
  • Dias após a expiração da senha em que a conta é desabilitada
  • Data em que a conta foi desabilitada

Um exemplo do arquivo /etc/shadow segue abaixo:

root:$2a$05$8IZNUuFTMoA3xv5grggWa.oBUBfvrE4MfgRDTlUI1zWDXGOHi9dzG:13922::::::
suse-ncc:!:13922:0:99999:7:::
uucp:*:13922::::::
wwwrun:*:13922::::::
roberto:$1$meoaWjv3$NUhmMHVdnxjmyyRNlli5M1:14222:0:99999:7:::

Exercício: quando a senha do usuário roberto irá expirar ?

Sugestão de leitura para responder a questão anterior:

Cálculo de datas com o comando date


Um grupo é um conjunto de usuários definido da seguinte forma:

  • Nome de group (group name): o nome que identifica o grupo no sistema
  • GID (Group Identifier): um número único que identifica o grupo
  • Lista de usuários: um conjunto de usuários que são membros do grupo

Assim como as contas de usuários, os grupos ficam armazenados em bases de dados de usuários, sendo o arquivo /etc/group a mais simples delas:

root:x:0:
trusted:x:42:
tty:x:5:
utmp:x:22:
uucp:x:14:
video:x:33:roberto
www:x:8:roberto
users:x:100:
radiusd:!:108:
vboxusers:!:1000:

Os membros de um grupo são os usuários que o têm como grupo primário (especificado na conta do usuário em /etc/passwd), ou que aparecem listados em /etc/group.

Gerenciamento de usuários e grupos

Para gerenciar usuários e grupos podem-se editar diretamente os arquivos /etc/passwd, /etc/shadow e /etc/group, porém existem utilitários que facilitam essa tarefa:

  • useradd ou adduser: adiciona um usuário
    • Ex: useradd -m roberto : cria o usuário roberto juntamente com o diretório (-m --makedir).
    • Ex: useradd -c "Roberto de Matos" -m roberto : cria o usuário roberto com nome completo "Roberto de Matos"
    • Ex: useradd -c "Roberto de Matos" -g users -m -d /usuarios/roberto -s /bin/tcsh roberto : cria o usuário roberto com nome completo "Roberto de Matos", grupo users, diretório inicial /usuarios/roberto e shell /bin/tcsh
  • userdel: remove um usuário
    • Ex: userdel roberto : remove o usuário roberto, porém preservando seu diretório home
    • Ex: userdel -r roberto : remove o usuário roberto, incluindo seu diretório home
  • usermod: modifica as informações da conta de um usuário
    • Ex: usermod -g wheel roberto : modifica o GID do usuário roberto
    • Ex: usermod -G users,wheel roberto : modifica os grupos secundários do usuário roberto
    • Ex: usermod -d /contas/roberto roberto : modifica o diretório inicial do usuário roberto (mas não copia os arquivos ...)
    • Ex: usermod -l robertomatos roberto : modifica o login do usuário roberto
    • Ex: usermod -m ... : cria o diretório home do usuário roberto
    • Ex: usermod -c "Roberto Matos, R. dos Navegantes, 33333333" : atribui comentários ao usuário roberto
  • passwd: modifica a senha de usuário
    • Ex: passwd roberto
  • login: logo como outro usuário. Tem de estar como root
    • Ex: login roberto
  • groupadd: adiciona um grupo
    • Ex: groupadd ger: cria o grupo ger
  • groupdel: remove um grupo
    • Ex: groupdel ger: remove o grupo ger


Atividade

  1. Crie um usuário com o nome de jose usando o comando adduser.
  2. Dê ao usuário jose a senha jose123.
  3. Confirme a correta criação do usuário jose:
     tail /etc/passwd
    
    ...ou:
     grep jose /etc/passwd
    
    ... ou
    id jose
    
  4. Confirme se o diretório home de jose foi criado corretamente dentro de /home.
  5. Logue utilizando o usuário jose.
    su - jose
    
  6. Crie o grupo turma.Certifique-se que o grupo foi criado.
  7. Crie o diretório manoel em /home.
  8. Crie um usuário com o nome de manoel usando o comando useradd. Deve-se ao criar o usuário definir os seguintes parâmetros:
    1. Pertencer ao grupo turma;
    2. O diretório home deve ser /home/manoel;
    3. Configurar o shell do usuário como sendo /bin/bash;
    4. Observar qual a diferença entre os comandos adduser e useradd.
       useradd -g turma -d /home/manoel -s /bin/bash manoel
      
  9. Dê ao usuário manoel a senha mane123.
     passwd manoel
    
  10. Acrescente, por comandos, ao perfil do usuário seu nome completo e endereço: Manoel da Silva, R. dos Pinheiros, 2476666.
     usermod -c "Manoel da Silva, R. dos Pinheiros, 2476666" manoel
    
  11. Verifique o arquivo /etc/passwd e confirme se o usuário manoel está OK.
  12. Mude, por comandos, o diretório home do manoel de /home/manoel para /home/contas/manoel.
     usermod -d /home/contas/manoel manoel
    
  13. Verifique o arquivo /etc/passwd e confirme a alteração.
  14. Logue como manoel e verifique as mensagens na tela.
     login manoel
    
  15. Crie o diretório /home/contas e dentro de contas crie o diretório manoel. Tente logar novamente.
  16. Mude o login do manoel para manoelsilva.
     usermod -l manoelsilva manoel
    
  17. Logue como manoelsilva
  18. Estando logado como manoelsilva, remova o usuário jose
  19. Deslogue de manoelsilva
  20. Remova os usuários criados, inclusive seus diretórios home
  21. Remova os grupos criados

03/12/2020: Linha de comando: arquivos e diretórios; permissões

Aula 8

Há uma maneira de restringir o acesso aos arquivos e diretórios para que somente determinados usuários possam acessá-los. A cada arquivo e diretório é associado um conjunto de permissões. Essas permissões determinam quais usuários podem ler, e escrever (alterar) um arquivo e, no caso de ser um arquivo executável, quais usuários podem executá-lo. Se um usuário tem permissão de execução para um diretório, significa que ele pode realizar buscas dentro daquele diretório, e não executá-lo como se fosse um programa.

Quando um usuário cria um arquivo ou um diretório, o LINUX determina que ele é o proprietário (owner) daquele arquivo ou diretório. O esquema de permissões do LINUX permite que o proprietário determine quem tem acesso e em que modalidade eles poderão acessar os arquivos e diretórios que ele criou. O super-usuário (root), entretanto, tem acesso a qualquer arquivo ou diretório do sistema de arquivos.

O conjunto de permissões é dividido em três classes: proprietário, grupo e usuários. Um grupo pode conter pessoas do mesmo departamento ou quem está trabalhando junto em um projeto. Os usuários que pertencem ao mesmo grupo recebem o mesmo número do grupo (também chamado de Group Id ou GID). Este número é armazenado no arquivo /etc/passwd junto com outras informações de identificação sobre cada usuário, e o arquivo correspondente as senhas criptogravadas dos usuários é /etc/shadow. O arquivo /etc/group contém informações de controle sobre todos os grupos do sistema, e o arquivo correspondente a senhas criptografadas é /etc/gshadow. Assim, pode -se dar permissões de acesso diferentes para cada uma destas três classes.

Quando se executa ls -l em um diretório qualquer, os arquivos são exibidos de maneira semelhante a seguinte:

> ls -l
total 403196
drwxr-xr-x 4 odilson admin 4096 Abr 2 14:48 BrOffice_2.1_Intalacao_Windows/
-rw-r--r-- 1 luizp admin 113811828 Out 31 21:28 broffice.org.2.0.4.rpm.tar.bz2
-rw-r--r-- 1 root root 117324614 Dez 27 14:47 broffice.org.2.1.0.rpm.tar.bz2
-rw-r--r-- 1 luizp admin 90390186 Out 31 22:04 BrOo_2.0.4_Win32Intel_install_pt-BR.exe
-rw-r--r-- 1 root root 91327615 Jan 5 21:27 BrOo_2.1.0_070105_Win32Intel_install_pt-BR.exe
>

As colunas que aparecem na listagem são:

  1. Esquema de permissões;
  2. Número de ligações do arquivo;
  3. Nome do usuário dono do arquivo;
  4. Nome do grupo associado ao arquivo;
  5. Tamanho do arquivo, em bytes;
  6. Mês da criação do arquivo; Dia da criação do arquivo;
  7. Hora da criação do arquivo;
  8. Nome do arquivo;

O esquema de permissões está dividido em 10 colunas, que indicam se o arquivo é um diretório ou não (coluna 1), e o modo de acesso permitido para o proprietário (colunas 2, 3 e 4), para o grupo (colunas 5, 6 e 7) e para os demais usuários (colunas 8, 9 e 10). A figura a seguir destaca as classes de permissões mostradas em uma listagem de diretório.

Pji-Permissoes2.png


Existem três modos distintos de permissão de acesso: leitura (read), escrita (write) e execução (execute). A cada classe de usuários você pode atribuir um conjunto diferente de permissões de acesso. Por exemplo, atribuir permissão de acesso irrestrito (de leitura, escrita e execução) para você mesmo, apenas de leitura para seus colegas, que estão no mesmo grupo que você, e nenhum acesso aos demais usuários. A permissão de execução somente se aplica a arquivos que podem ser executados, obviamente, como programas já compilados ou script shell. Os valores válidos para cada uma das colunas são os seguintes:

  • 1 d se o arquivo for um diretório; Se estiver com - vai ser um arquivo;
  • 2,5,8 r se existe permissão de leitura; Se estiver com - não tem permissão;
  • 3,6,9 w se existe permissão de alteração; Se estiver com - não tem permissão;
  • 4,7,10 x se existe permissão de execução; Se estiver com - não tem permissão;

A permissão de acesso a um diretório tem outras considerações. As permissões de um diretório podem afetar a disposição final das permissões de um arquivo. Por exemplo, se o diretório dá permissão de gravação a todos os usuários, os arquivos dentro do diretório podem ser removidos, mesmo que esses arquivos não tenham permissão de leitura, gravação ou execução para o usuário. Quando a permissão de execução é definida para um diretório, ela permite que se pesquise ou liste o conteúdo do diretório.

Existem dois modos de definir uma permissão, através do modo Octal e modo Textual.

Textual

Usamos letras antes das permissões (chmod é o comando para modificar permissões de arquivos):

$ chmod u+rw, g+w, o-rwx teste.txt

Onde:

  • U - representa usuário;
  • G - representa grupo;
  • O - representa outros.


Octal

O modo Octal tem a mesma função de definir permissões, só que em números. Exemplo:

$ chmod 620 teste.txt

(comando) (permissão) (arquivo)

Tipo de permissão Octal:

  • 4 - Indica permissão de leitura;
  • 2 - Permissão de escrita;
  • 1 - Indica permissão de execução;
  • 0 - Indica sem permissões.

A modificação das permissões de acesso a arquivos e diretórios pode ser feita usando-se os utilitários:

  • chmod: muda as permissões de acesso (também chamado de modo de acesso). Somente pode ser executado pelo dono do arquivo ou pelo superusuário
    • Ex: chmod +x /home/usuario/programa : adiciona para todos os usuários a permissão de execução ao arquivo /home/usuario/programa
    • Ex: chmod -w /home/usuario/programa : remove para todos os usuários a permissão de escrita do arquivo /home/usuario/programa
    • Ex: chmod o-rwx /home/usuario/programa : remove todas as permissões de acesso ao arquivo /home/usuario/programa para todos os usuários que não o proprietário e membros do grupo proprietário
    • Ex: chmod 755 /home/usuario/programa : define as permissões rwxr-xr-x para o arquivo /home/usuario/programa
  • chown: muda o proprietário de um arquivo. Somente pode ser executado pelo superusuário.
    • Ex: chown roberto /home/usuario/programa: faz com que o usuário roberto seja o dono do arquivo
  • chgrp: muda o grupo dono de um arquivo. Somente pode ser executado pelo superusuário.
    • Ex: chgrp users /home/usuario/programa: faz com que o grupo users seja o grupo dono do arquivo /home/usuario/programa

Atividade

  1. Crie a partir do /home 3 diretórios, um com nome aln, outro prf e o último svd.
  2. Crie 3 grupos com os mesmos nomes acima.
  3. Crie 3 contas de usuários pertencentes ao grupo aln: aluno1, aluno2, aluno3. Estas contas deverão ter seus diretórios homes criados por comando dentro do diretório /home/aln/. Por exemplo para o aluno1 teremos /home/aln/aluno1. Configure a shell dos usuários como /bin/bash.
  4. Crie 3 contas pertencentes ao grupo prf: prof1, prof2, prof3. Estas contas deverão ter seus diretórios homes criados por comando dentro do diretório /home/prf/. Configure a shell dos usuários como /bin/bash.
  5. Crie 3 contas pertencentes ao grupo svd: serv1, serv2, serv3. Estas contas deverão ter seus diretórios homes criados por comando dentro do diretório /home/svd/. Configure a shell dos usuários como /bin/bash.
  6. Crie senhas para os usuários.
  7. Logue com o usuário aluno1 e crie um arquivo chamado aluno1.txt, executando o comando:
    echo "Teste aluno1" > aluno1.txt
    
    ... e saia do usuário aluno1.
  8. Visualize o conteúdo do arquivo aluno1.txt. O que o comando executado no item anterior fez?
  9. Os diretórios dos alunos, e todo o seu conteúdo, devem ser visíveis e editáveis aos membros do próprio grupo, visíveis mas não apagáveis a todos os demais usuários da rede.
  10. Logue com a conta aluno2. Faça um ls -l dentro do diretório home do usuário aluno1. Faça um cat no arquivo aluno1.txt.
  11. Posteriormente, tente fazer o seguinte comando dentro do diretório de aluno1:
    echo "Teste aluno2" >> aluno1.txt
    
    Foi possível executar este comando? Se não, por quê?
  12. Deslogue do usuário aluno2
  13. Logue com prof1 e crie um arquivo chamado prof1.txt, executando o comando:
    echo "Teste prof1" > prof1.txt
    
    Saia do usuário prof1.
  14. Os diretórios dos professores e servidores devem ser mutuamente visíveis, mas não apagáveis, entre os membros dos grupos professores e servidores. Além disso, não devem ser sequer visíveis aos membros do grupo alunos.
  15. Logue com um outro usuário prof e teste se você consegue listar o conteúdo do diretório home do usuário prof1, exibir o conteúdo do arquivo criado no diretório de prof1 e escrever algo neste mesmo arquivo.
  16. Logue com o usuário servidor1 e faça um ls -l dentro do diretório home do usuário prof1. Dê um cat no arquivo prof1.txt que está dentro deste diretório. Tente editar este arquivo.
  17. Logue com um usuário aluno e faça um ls -l dentro do diretório home do usuário prof1. Foi possível executar este comando? Se não, por quê?
  18. Crie 3 grupos: casa, trabalho e escola.
  19. Crie um usuário com seu nome e atribua um dos grupos do item anterior como grupo principal e os demais como grupo secundário. Os demais parâmetros do usuário você pode escolher de acordo com o que foi feito para os outros usuários dessa lista.
  20. Qual o GID do grupo principal do seu usuário?
  21. Qual o UID do seu usuário?
  22. Qual o GID dos grupos secundários do seu usuário? Como você fez para descobrir essa informação?

17/12/2020: Linha de comando: Instalação de Softwares

Aula 12

Instalação de software

A instalação de software pode ser feita de diferentes maneiras:

  • A partir do software em formato de código-fonte: envolve transferir o código-fonte do seu repositório, e então compilá-lo. Isso requer um maior conhecimento técnico, e é uma habilidade esperada para um Técnico que atue na área de Telecomunicações.
  • A partir do software já preparado (compilado): essa forma é mais simples, pois basicamente implica obter o software compilado e copiá-lo para dentro do seu sistema. É também a prática mais comum, por ser mais rápida, fácil e menos trabalhosa. Todas as distribuições Linux (e também o FreeBSD, entre outras variantes de Unix) provêem alguma forma de instalar softwares dessa maneira. Esses sistemas criam o conceito de pacote de software, que é um arquivo especial contendo todos os arquivos do software a ser instalado, e todas as informações necessárias para que a instalação tenha sucesso (versão, dependências, e outras).

No escopo desta disciplina de Projeto Integrador, são usados pacotes de software. Mas nada impede que se demonstre como seria realizar uma instalação a partir do código-fonte, caso exista a curiosidade.

No Ubuntu Linux (e também nas distribuições originadas no Debian), o sistema de pacotes de software se chama dpkg (Debian Package). Existem diferentes formas de instalar e remover sofware, dentre elas:

  1. Diretamente a partir dos arquivos de pacote de software: esses arquivos têm extensão .deb, e devem ser instalados por meio do programa dpkg. Os arquivos .deb devem ser obtidos manualmente pelo usuário, podendo ser copiados de DVDs do sistema, ou obtidos de servidores na rede. Para removê-los, deve-se usar também o dpkg.
  2. Obtendo automaticamente pacotes de software de repositórios: essa forma de administrar os pacotes é muito mais fácil, pois os pacotes de software são obtidos de servidores de pacotes na rede. Ela se baseia num sistema de gerenciamento de pacotes chamado de APT, e pode ser realizada por meio dos aplicativos apt-get ou aptitude (este é ainda mais fácil). Existem também versões gráficas para esses gerenciadores de pacotes.


Instalação manual com dpkg

Para instalar pacotes de software manualmente, primeiro devem-se obter os respectivos arquivos de instalação. Cada pacote de software está contido em um arquivo com extensão .deb. Esses arquivos podem ser obtidos dos CD e DVD de instalação, ou de repositórios na Internet. Exemplos:


Cada arquivo de instalação deve ser instalado da seguinte forma:

dpkg -i nome_do_pacote.deb

Se o pacote de software não puder ser instalado, uma mensagem de erro é apresentada. Uma causa para esse problema é existirem dependências em relação a outros pacotes de software, os quais devem então ser instalados previamente.

Para descobrir as dependência de um pacote podemos utilizar o comando a seguir:

# sudo apt-cache depends nome-do-pacote

A remoção de um pacote de software pode ser feita assim:

dpkg -r nome_do_pacote

Se o pacote a ser removido for dependência para outros pacotes instalados, a remoção será abortada.


A listagem de todos os pacotes instalados pode ser obtida com este comando:

dpkg-query -l

A listagem dos arquivos instalados por um pacote é mostrada com este outro comando:

dpkg-query -L nome_do_pacote


Informações detalhadas sobre um pacote podem ser mostradas assim:

dpkg-query -p nome_do_pacote


Links úteis:


Pacote deb NixNote

Pacote deb Open Office

Pacote deb do navegador Opera

Obtenção automática de software

Os pacotes de softwares dos sistemas operacionais Ubuntu e Debian são organizados e disponibilizados em repositórios, que são servidores na Internet onde há cópias dos arquivos de instalação desses pacotes. Os repositórios são configurados durante a própria instalação do sistema, ficando registrados no arquivo /etc/apt/sources.list. Esse arquivo pode ser modificado para incluir ou remover repositórios, quando necessário.


Um resumo dos comandos que podem ser usados com apt-get:

  • apt-get update: atualiza o catálogo de pacotes de software conhecidos. Isso implica consultar os repositórios configurados e transferir as listas de pacotes lá existentes. Isso é importante para ter acesso a versões atualizadas dos pacotes de software.
  • apt-get install nome_do_pacote: instala o pacote de software chamado nome_do_pacote. Se houver dependências de outros pacotes, eles também serão instalados.
  • apt-get remove nome_do_pacote: remove o pacote de software chamado nome_do_pacote. se outros pacotes dependerem desse pacote, eles também serão removidos.
  • apt-get clean: remove as cópias dos arquivos de pacotes de software transferidos e não mais necessários.
  • apt-get upgrade: atualiza todos os pacotes de software para suas versões mais recentes, caso existam.


Um resumo dos comandos que podem ser usados com aptitude:

  • aptitude update: mesmo que apt-get update
  • aptitude install nome_do_pacote: mesmo que apt-get install
  • aptitude remove nome_do_pacote: mesmo que apt-get remove
  • aptitude search nome: lista todos os pacotes de software conhecidos cujos nomes contenham nome

Links úteis:


Gerador de lista de repositórios sources.list

Utilizando repositório PPA (Personal Package Archives)

PPA quer dizer Personal Package Archives, os repositórios deste tipo nada mais são do quer servidores na internet onde se encontram os programas que não estão nos repositórios oficias da sua distro. Mas essa é uma generalização porque alguns programas que estão na Central de Programas possuem PPA, caso do WINE por exemplo, a diferença entre instalar a versão da Central de Programas e instalar via PPA é que a versão que está na Central de Programas e suas possíveis atualizações já foram testadas e apresentam um nível bom de segurança e estabilidade, porém, não trazem os mesmos recursos muitas vezes, das versões mais recentes, coisa que o PPA trás.

Mas antes de adicionar PPAs no seu sistema, procure informações referentes aos desenvolvedores, procedência, etc, pois se trata de programas de terceiros, não oficiais da lista de repositório da versão do seu sistema operacional.

O comando em si é simples:

# sudo add-apt-repository nome-do-repositorio-ppa

Como exemplo, vamos utilizar o PPA do Wine, ele é um software que permite rodar aplicações Windows no Linux:

# sudo add-apt-repository ppa:ubuntu-wine/ppa

Posteriormente devemos atualizar a lista de repositórios:

# sudo apt-get update

E por fim instalar o pacote:

# sudo apt-get install wine

Também podemos remover repositórios PPA, seja pelo fato de não estar mais disponível ou simplesmente porque não queremos mais utilizá-lo. Para isso utilizamos o comando a seguir:

# sudo add-apt-repository -r ppa:endereço-do-repositorio

e posteriormente atualizamos a lista:

# sudo apt-get update


Links úteis:


Repositórios PPA


Atividades

  1. Instale os softwares a seguir. Escolha três deles para instalação manual e os outros três para instalação automática.
    • mplayer
    • mencoder
    • handbrake
    • pppoe
    • hostapd
    • vlan
  2. Após instalá-los, obtenha suas descrições. Veja também as descrições destes outros softwares já instalados:
    • bash
    • iproute2
    • iptables
    • tcpdump
  3. Liste todos os softwares instalados.
  4. Remova os softwares instalados nos passos anteriores.
  5. Descubra como se podem instalar softwares em modo gráfico.
  6. Atualize a lista dos repositórios dos programas instalados no Linux.
  7. Execute a instalação das atualizações disponíveis.

Leituras úteis:

Como usar o APT - Obtendo informações sobre pacotes

Lista de PPAs

Pacotes .deb

41 Softwares para Linux


04/02/2021: Linha de comando: Backups

Aula 15

Backups

Existem muitos programas para realizar cópias de segurança no Linux (chamadas de backup). Porém tradicionalmente a forma mais simples de realizar uma cópia pessoal de um conjunto de arquivos e diretórios faz uso de um programa simples chamado tar.

tar

O programa tar é um utilitário do mundo Unix originalmente criado para backups em fita (daí seu nome: TApe aRchiver, se bem que tar é também um trocadilho que pode significar piche, pois ele de certa forma gruda um arquivo ao outro). O resultado da execução do tar é um arquivo contendo todos os arquivos e diretórios que foram selecionados para inclusão. Esse arquivo tar pode ser então compactado, obtendo-se algo parecido com o que faz zip ou rar.

Mas porque não usar então zip e rar ? Afinal, eles existem também no Linux ... No entanto, esses compactadores nasceram no mundo do antigo MS-DOS, e assim não são capazes de armazenar todos os atributos de arquivos que existem em sistemas Unix (informações tais como usuário e grupo dono do arquivo, permissões de acesso, tipo do arquivo, datas de último acesso e modificação). O tar, pelo contrário, consegue preservar esses atributos, e por isto se torna mais adequado para uso no Unix em geral.

Uso do tar:

  • Criação de arquivo tar:
    tar cf nome_arquivo.tar arquivo_ou_diretorio1 [arquivo_ou_diretorio2 ...]
    
  • Mostrar o conteúdo de arquivo tar:
    tar tvf nome_arquivo.tar
    
  • Extrair conteúdo de arquivo tar:
    tar xf nome_arquivo.tar
    

Os usos acima não compactam os arquivos incluídos dentro do arquivo tar. Para compactá-los deve-se adicionar uma opção de compactação:

  • Criação de arquivo tar compactado:
    • Com compress:
      tar czf nome_arquivo.tar.Z arquivo_ou_diretorio1 [arquivo_ou_diretorio2 ...]
      
    • Com gzip:
      tar czf nome_arquivo.tar.gz arquivo_ou_diretorio1 [arquivo_ou_diretorio2 ...]
      
    • Com bzip2:
      tar cjf nome_arquivo.tar.bz2 arquivo_ou_diretorio1 [arquivo_ou_diretorio2 ...]
      
    • Com xz:
      tar cJf nome_arquivo.tar.xz arquivo_ou_diretorio1 [arquivo_ou_diretorio2 ...]
      
  • Mostrar o conteúdo de arquivo tar:
    • Com compress:
      tar tvzf nome_arquivo.tar.Z
      
    • Com gzip:
      tar tvzf nome_arquivo.tar.gz
      
    • Com bzip2:
      tar tvjf nome_arquivo.tar.bz2
      
    • Com xz:
      tar tvJf nome_arquivo.tar.xz
      
  • Extrair conteúdo de arquivo tar:
    • Com compress:
      tar xzf nome_arquivo.tar.Z
      
    • Com gzip:
      tar xzf nome_arquivo.tar.gz
      
    • Com bzip2:
      tar xjf nome_arquivo.tar.bz2
      
    • Com xz:
      tar xJf nome_arquivo.tar.xz
      

Parâmetros:

-c - cria um novo arquivo tar;

-M - cria, lista ou extrai um arquivo multivolume;

-p - mantém as permissões originais do(s) arquivo(s);

-r - acrescenta arquivos a um arquivo tar;

-t - exibe o conteúdo de um arquivo tar;

-v - exibe detalhes da operação;

-w - pede confirmação antes de cada ação;

-x - extrai arquivos de um arquivo tar;

-z - comprime ou extrai arquivos tar resultante com o gzip;

-j - comprime ou extrai arquivos tar resultante com o bz2;

-f - especifica o arquivo tar a ser usado;

-C - especifica o diretório dos arquivos a serem armazenados.

Compactadores no modo texto

Vários compactadores de arquivos existem no Linux, e o nautilus simplifica sua seleção e uso. Esses compactadores podem ser usados também no modo texto ... aliás, eles originalmente foram criados para serem usados dessa forma ! O que o nautilus faz é facilitar seu uso por meio de uma interface gráfica.

Os principais compactadores são:

  • compress: compactador mais antigo e comum nos Unix em geral, porém em desuso. Gera arquivos compactados com extensão .Z. Precisa do pacote de software ncompress no Ubuntu. Exemplo de uso:
    msobral@curl2:~/tmp$ compress palavras.txt 
    msobral@curl2:~/tmp$ ls -l palavras.txt.Z 
    -rw-rw-r-- 1 msobral msobral 932433 Jun 29 14:59 palavras.txt.Z
    msobral@curl2:~/tmp$ uncompress palavras.txt.Z 
    msobral@curl2:~/tmp$ ls -l palavras.txt
    -rw-rw-r-- 1 msobral msobral 2856243 Jun 29 14:59 palavras.txt
    
  • GNU zip: compactador bastante utilizado, com maior poder de compactação que compress. Gera arquivos compactados com extensão .gz. Já vem instalado no Ubuntu. Exemplo de uso:
    msobral@curl2:~/tmp$ gzip palavras.txt
    msobral@curl2:~/tmp$ ls -l palavras.txt.gz
    -rw-rw-r-- 1 msobral msobral 532756 Jun 29 14:59 palavras.txt.gz
    msobral@curl2:~/tmp$ gunzip palavras.txt.gz 
    msobral@curl2:~/tmp$ ls -l palavras.txt
    -rw-rw-r-- 1 msobral msobral 2856243 Jun 29 14:59 palavras.txt
    
  • bzip2: vem sendo bastante usado por ter um poder de compactação ainda maior, porém à custa de maior processamento (compactação fica mais lenta). Gera arquivos compactados com extensão .bz2. Também já vem instalado no Ubuntu.
    msobral@curl2:~/tmp$ bzip2 palavras.txt
    msobral@curl2:~/tmp$ ls -l palavras.txt.bz2 
    -rw-rw-r-- 1 msobral msobral 720099 Jun 29 14:59 palavras.txt.bz2
    msobral@curl2:~/tmp$ bunzip2 palavras.txt.bz2 
    msobral@curl2:~/tmp$ ls -l palavras.txt
    -rw-rw-r-- 1 msobral msobral 2856243 Jun 29 14:59 palavras.txt
    
  • xz: outro compactador bastante usado recentemente. Pode compactar ainda mais que bzip2, porém a um custo computacional maior. Isso significa que ele demora mais para compactar um arquivo que esse outro compactador. Gera arquivos com extensão .xz. Ele já vem instalado no Ubuntu.
    msobral@curl2:~/tmp$ xz palavras.txt 
    msobral@curl2:~/tmp$ ls -l palavras.txt.xz 
    -rw-rw-r-- 1 msobral msobral 387056 Jun 29 14:59 palavras.txt.xz
    msobral@curl2:~/tmp$ unxz palavras.txt.xz 
    msobral@curl2:~/tmp$ ls -l palavras.txt
    -rw-rw-r-- 1 msobral msobral 2856243 Jun 29 14:59 palavras.txt
    
  • ... outros menos populares no mundo do Linux, tais como zip, rar e zoo.

Note que os compactadores compress, gzip, bzip2 e xz compactam um arquivo por vez. Assim, com eles não é possível juntar vários arquivos e diretórios dentro de um único arquivo compactado (o que se faz corriqueiramente com zip ou rar ...). Portanto, se for necessário compactar um diretório ou um conjunto de arquivos, o melhor é combinar um compactador com o programa tar.


Leituras interessantes:

Comando TAR

Exercícios

Faça os exercícios abaixo usando os compactadores no modo texto:

  1. Procure um arquivo de texto (extensão .txt, .html, ou .doc) com ao menos 100 kB e compacte-o com compress, gzip, bzip2 e xz. Compare os tamanhos dos arquivos resultantes.
  2. Usando o programa tar, compacte todo o diretório Documentos do usuário aluno. Experimente criar o arquivo tar sem compactação, e depois compactado com cada um dos compactadores vistos. Você terá portanto como resultado quatro arquivos tar diferentes ...
  3. Descompacte os arquivos tar gerados na questão anterior. Para evitar sobreposição, descompacte cada um deles em um diretório separado.


Baixe o arquivo do link abaixo e faça o exercício proposto:

Arquivos_gerais.tar.gz

  1. Descompacte o arquivo.
  2. Separe os arquivos em suas respectivas pastas (vídeos, músicas, documentos, imagens) através de comandos para mover no terminal.
  3. Compacte os arquivos usando o compress, gzip, bzip2 e xz em conjunto com o tar. Compare os tamanhos dos arquivos resultantes.
  4. Liste o conteúdo de cada um dos arquivos compactados
  5. Descompacte os arquivos criados anteriormente no diretório /home/aluno/arquivos_gerais

11/02/2021: Configuração de Rede

Aula 17

Endereço IPv4

História


A internet não foi criada para uso comercial que temos atualmente, foi de fato um projeto militar Americano conhecido como ARPANET que tinha por objetivo conectar vários nós tendo a forma parecida com uma teia de aranha, onde se um nó fosse desconectado não haveria problema com os demais.

Com o crescimento da ARPANET nas Universidades Americanas, o principal tráfego de informações eram discussões sobre assuntos acadêmicos entre professores. Nessa época os criadores dessa rede não tinham consciência que esse projeto iria tomar gigantes proporções que hoje presenciamos.

Na internet, cada host e cada roteador tem um endereço IP (Internet Protocol), que codifica seu número de rede e seu número de host. Essa combinação é única, ou seja, duas máquinas conectadas a internet não possuem o mesmo endereço IP.

Devido ao alto crescimento da ARPANET, após cinco anos houve o surgimento do protocolo TCP/IP (Transmission Control Protocol/Internet Protocol) um protocolo que utilizamos até hoje, com um endereço de 32 bits e mais de 4,2 bilhões de combinações de endereços possíveis, que para época esse número era um exagero.

Segundo Vint Cerf (2010), vice-presidente do Google, os endereços de IP podem esgotar em até um ano, foi exatamente o que aconteceu em Fevereiro de 2011. O problema não se agravou mais e anteriormente devido a várias tecnologias e medidas paliativas que surgiram ao longo da década de 1990. Podemos citar CIDR (Classless Inter-Domain Routing), RFC 1918 (Address Allocation for Private Internets), NAT (Network Address Translation) e DHCP (Dynamic Host Configuration Protocol) fizeram com que tardassem esse esgotamento de IP’s na internet.


Esgotamento dos endereços IPv4


É importante informar que a divisão dos blocos IPv4 não é nada ponderada, metade dos endereços foram destinados aos Estados Unidos (“criador do backbone, principal estrutura da Internet”) e a outra metade foi distribuída para os demais regiões geográficas do mundo.

No inicio da distribuição dos endereços, existiram empresas e universidades que compraram 16 milhões de endereços. Hoje seria raro essas entidades devolverem o que adquiriram para uma melhor redistribuição dos endereços. Mas se essa divisão dos IPv4 fosse de forma igual para tal demanda de sua determinada região, não adiantaria em nada, estaríamos sujeitos do mesmo jeito ao esgotamentos dos IPs. Por esse e outros motivos que a IANA mais tarde necessitou de regras mais rígidas para a distribuição dos IPv4 para o mundo.

O IANA (Internet Assigned Numbers Authority) é responsável pelo controle de todos os números IPs e, atualmente, ele realiza suas operações através da ICANN (). A responsabilidade sobre uma parte dos endereços é delegada pela IANA para cada um dos Registros Regionais de Internet, que os gerenciam e distribuem dentro de suas respectivas regiões geográficas. Em nossa região, o responsável é o LACNIC (Latin America and Caribbean Network Information Centre).

Classes de endereços IPv4


Um endereço IPv4 é formado por 32 bits que é o mesmo que dizermos que possui quatro octetos representados na forma decimal (ex: 192.168.0.1). Uma parte desse endereço (bits mais significativos) indicam-nos a rede e a outra parte (bits menos significativos) indicam-nos qual a máquina dentro da rede.

Com o objetivo de serem possíveis redes de diferentes dimensões, foram definidas cinco diferentes classes de endereços IP (Classes: A, B, C, D e E).

Originalmente, o espaço de endereçamento IP foi dividido estruturas de tamanho fixo designadas de “classes de endereço”. As principais são a classe A, classe B e classe C. Com base nos primeiros bits (prefixo) de um endereço IP, conseguimos facilmente determinar rapidamente a qual a classe pertence de determinado endereço IP.

De forma a resumir a informação relativamente às classes de redes IP, criei a seguinte tabela:

Classesipv4.jpg

Analisando as três principais classes (A, B e C) podemos verificar o seguinte:

A classe A possui um conjunto de endereços que vão desde o 1.0.0.0 até 127.0.0.0, onde o primeiro octeto (primeiros 8 bits N.H.H.H) de um endereço IP identifica a rede e os restantes 3 octetos ( 24 bits) irão identificar um determinado host nessa rede.

Exemplo de um endereço Classe A – 120.2.1.0


A classe B possui um conjunto de endereços que vão desde o 128.0.0.0 até 191.255.0.0, onde os dois primeiros octetos (16 bits N.N.H.H) de um endereço IP identificam a rede e os restantes 2 octetos ( 16 bits) irão identificar um determinado host nessa rede.

Exemplo de um endereço Classe B – 152.13.4.0


A classe C possui um conjunto de endereços que vão desde o 192.0.0.0 até 223.255.255.0, onde os três primeiros octetos (24 bits N.N.N.H) de um endereço IP identificam a rede e o restante octeto ( 8 bits) irão identificar um determinado host nessa rede.

Exemplo de um endereço Classe C – 192.168.10.0


Classes especiais


Existem classes especiais na Internet que não são consideradas públicas, não são consideradas como endereçáveis, são reservadas, por exemplo, para a comunicação com uma rede privada ou com o computador local ("localhost").


Blocos de Endereços Reservados
CIDR Bloco de Endereços Descrição Referência
0.0.0.0/8 Rede corrente (só funciona como endereço de origem) RFC 1700
10.0.0.0/8 Rede Privada RFC 1918
14.0.0.0/8 Rede Pública RFC 1700
39.0.0.0/8 Reservado RFC 1797
127.0.0.0/8 Localhost RFC 3330
128.0.0.0/16 Reservado (IANA) RFC 3330
169.254.0.0/16 Zeroconf RFC 3927
172.16.0.0/12 Rede privada RFC 1918
191.255.0.0/16 Reservado (IANA) RFC 3330
192.0.2.0/24 Documentação RFC 3330
192.88.99.0/24 IPv6 para IPv4 RFC 3068
192.168.0.0/16 Rede Privada RFC 1918
198.18.0.0/15 Teste de benchmark de redes RFC 2544
223.255.255.0/24 Reservado RFC 3330
224.0.0.0/4 Multicasts (antiga rede Classe D) RFC 3171
240.0.0.0/4 Reservado (antiga rede Classe E) RFC 1700
255.255.255.255 Broadcast


Rede privada


Na arquitetura para endereçamentos da Internet, uma rede privada (private network) é uma rede que usa o espaço privado de endereços IP, seguindo os padrões estabelecidos pela RFC 1918 para redes IPv4 e RFC 4193 para IPv6. Estes endereços são associados aos dispositivos que precisam se comunicar com outros dispositivos em uma rede privada (que não faz parte da Internet).

As redes privadas estão se tornando muito comuns nos escritórios (LAN), pois não há a necessidade de que todos os computadores de uma organização possuam um IP universalmente endereçável. Outra razão que torna importante os IPs privados, é o número limitado de IPs públicos. O IPv6 foi criado para resolver este último problema.

Os Roteadores são configurados para descartar qualquer tráfego que use um IP privado. Este isolamento garante que uma rede privada tenha uma maior segurança pois não é possível, em geral, ao mundo externo criar uma conexão direta a uma máquina que use um IP privado. Como as conexões não podem ser feitas entre diferentes redes privadas por meio da internet, diferentes organizações podem usar a mesma faixa de IP sem que haja conflitos (ou seja, que uma comunicação chegue acidentalmente a um elemento que não deveria).

Se um dispositivo em uma rede privada deve se comunicar com outras redes, é necessário que haja um "gateway" para garantir que a rede externa seja vista com um endereço que seja "real" (ou público) de maneira que o roteador permita a comunicação. Normalmente este gateway será um service NAT (‘’Network address translation’’) ou um Servidor Proxy. Isto, porém, pode causar problemas se a organização tentar conectar redes que usem os mesmos endereços privados.

Os endereços atualmente reservados a redes privadas na internet são:


Nome Faixa de endereços IP Número de IPs classful Descrição Maior bloco CIDR Referência
8-bit block 10.0.0.0 – 10.255.255.255 16,777,216 Uma classe A 10.0.0.0/8 RFC 1597 (obsoleto), RFC 1918
12-bit block 172.16.0.0 – 172.31.255.255 1,048,576 16 classes B 172.16.0.0/12
16-bit block 192.168.0.0 – 192.168.255.255 65,536 256 classes C 192.168.0.0/16
16-bit block 169.254.0.0 – 169.254.255.255 65,536 Uma classe B 169.254.0.0/16 RFC 3330, RFC 3927


Endereço IPv6

História


O IP versão 6 começou a ser desenvolvido no início da década de 1990, com o objetivo de ser a solução definitiva para o esgotamento de endereços IPs na Internet, tendo esse como o principal objetivo.

Em 1993, o IESG (Internet Engineering Steering Group) criou um grupo de trabalho para uma nova versão do protocolo IP, o IPNGWG (IP Next Generation Working Group), com base em alguns objetivos que deveriam ser alcançados. O grupo de trabalho, então, selecionou protocolos "candidatos" para a camada de rede da arquitetura TCP/IP. O vencedor foi o SIPP (Simple Internet Protocol Plus), por diferir menos do IPv4 e ter um plano de transição melhor. Mas uma combinação de aspectos positivos dos três protocolos candidatos foi feita e com isso gerou-se a recomendação para a versão 6 do IP em novembro de 1994.

O protocolo IPv6 não foi só criado para resolver o problema de quantidades de endereços, foi também para disponibilizar novos serviços e benefícios que não existiam no IPv4 ou que não eram utilizados de forma otimizada. Abaixo podemos citar alguns desses benefícios:

  • Espaço de endereçamento (128 bits);
  • Formato de cabeçalho simplificado;
  • Arquitetura hierárquica de rede para um roteamento eficiente;
  • Suporte aos atuais protocolos de roteamento;
  • Serviços de autoconfiguração;
  • Implementação de IPSec (IP Security Protocol) de forma nativa;
  • Crescimento do número de endereços multicast;
  • Implantações para qualidade de serviço;
  • Suporte a serviços de tempo real.

Para a internet para fazer uso das vantagens do IPv6 sobre IPv4, a maioria dos hosts da Internet, bem como as redes de conexão, precisam implantar este protocolo. Enquanto a implantação do IPv6 está acelerando, especialmente na região da Ásia-Pacífico e alguns países europeus, áreas como as Américas e a África são comparativamente um atraso na implantação do IPv6. A troca de tráfego entre as duas redes IPv4 e IPv6 requer tradutores especiais o que torna a rede menos eficiente comparado uma rede completamente IPv6. Os sistemas operacionais modernos dos computadores implementam um protocolo de duplo software para acesso transparente para ambas as redes, quer sejam elas iguais, ou através de um protocolo de tunelamento como 6to4, 6in4, ou Teredo.

Em dezembro de 2012, apesar de marcar o seu 14º aniversário, o IPv6 está apenas em sua infância em termos de implantação em todo o mundo em geral. Um estudo realizado em 2008 pelo Google Inc indicou que a penetração do protocolo IPv6 ainda era menos de 1% dos hosts habilitados para a Internet em qualquer país, naquela época.


Formato do endereçamento IPv6


Os endereços IPv6 são números de 128 bits (16 bytes). Ao invés de adotar a notação decimal pontuada do IPv4, onde o endereço é formado por quadro bytes separados por ".", o IPv6 representa seu endereço na forma de 8 palavras de 16 bits, separadas por ":". Cada uma das palavras que forma o endereços IPv6 é representada em hexadecimal.


Dessa forma, um endereço IPv6 tem o seguinte formato:

FE80:0000:0000:0000:68DA:8909:3A22:FECA


As palavras que forem formadas unicamente por quatro zeros em hexadecimal podem ser substituídas por um único zero, conforme o exemplo a seguir:

FE80:0:0:0:68DA:8909:3A22:FECA


A escrita de cada endereço IPv6 é longa, o que dificulta sua representação. Com o IPv6, o serviço de DNS que oferece um nome fácil de usar a um computador será mais necessário do que nunca, pois é simplesmente impossível decorar os endereços de IPv6 presente em uma infraestrutura de rede. Para tornar os endereços ainda mais compactos, uma sequência de zeros pode ser substituídas pelo símbolo "::", conforme o exemplo abaixo:

FE80::68DA:8909:3A22:FECA


Contudo, essa simplificação pode ocorrer uma única vez no endereço, ou não será possível determinar quantos zeros correspondem a cada símbolo "::".


O símbolo "::" pode estar também no início do endereço. Por exemplo, o endereço loopback IPv6 é representado como:

::1, que é equivalente a 0000:0000:0000:0000:0000:0000:0000:0001


Os endereços IPv6 são seguidos de uma máscara de sub-rede na forma compacta (/"tamanho do prefixo"), de maneira similar aos endereços IPv4:

FE80::68DA:8909:3A22:FECA/80

Interfaces de rede


Qualquer dispositivo (físico ou lógico) capaz de transmitir e receber datagramas IP. Interfaces de rede ethernet são o exemplo mais comum, mas há também interfaces PPP (seriais), interfaces tipo túnel e interfaces loopback. De forma geral, essas interfaces podem ser configuradas com um endereço IP e uma máscara de rede, e serem ativadas ou desabilitadas. Em sistemas operacionais Unix a configuração de interfaces de rede se faz com o programa ifconfig:

Para mostrar todas as interfaces:

aluno@M1:~> ifconfig -a
ppp0      Link encap:Point-to-Point Protocol
          inet addr:189.30.70.200  P-t-P:200.138.242.254  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:34260226 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37195398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:19484812547 (18582.1 Mb)  TX bytes:10848608575 (10346.0 Mb)

eth0      Link encap:Ethernet  HWaddr 00:19:D1:7D:C9:A9
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:37283974 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42055625 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20939614658 (19969.5 Mb)  TX bytes:18284980569 (17437.9 Mb)
          Interrupt:16 Base address:0xc000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:273050 errors:0 dropped:0 overruns:0 frame:0
          TX packets:273050 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:21564572 (20.5 Mb)  TX bytes:21564572 (20.5 Mb)
aluno@M1:~>

Configuração manual e temporária


Para configurar uma interface de rede (que fica automaticamente ativada):

aluno@M1:~> ifconfig eth0 192.168.1.100 netmask 255.255.255.0

Para desativar uma interface:

aluno@M1:~> ifconfig eth0 down

Para ativar uma interface:

aluno@M1:~> ifconfig eth0 up

Ao se configurar uma interface de rede, cria-se uma rota automática para a subrede diretamente acessível via aquela interface. Isto se chama roteamento mínimo.

aluno@M1:~> ifconfig eth0 192.168.10.0 netmask 255.255.0.0
aluno@M1:~> netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
dayna@dayna:~>

Flags netstat

Usualmente, é suficiente definir uma única rota adicional para um computador, chamada de rota default (ou rota padrão). Essa rota tem o seguinte significado: se o destino não estiver em minha própria subrede, e nenhuma outra rota específica existir para a subrede onde se encontra, então repasse o pacote para o roteador indicado. Em um computador Linux isso pode ser feito assim:

# adiciona a rota default, que passa pelo roteador 192.168.10.100
route add default gw 192.168.10.100


Para que o acesso a rede esteja completo, falta apenas configurar um servidor DNS para ser possível a tradução de nomes de domínio para endereços IP. Esta configuração pode ser feita da seguinte forma:

# Editar o arquivo /etc/resolv.conf
vi /etc/resolv.conf

#Editar o seu conteúdo e inserir a linha abaixo
nameserver 200.135.37.65


Além de toda a configuração básica apresentada acima, pode-se associar mais de um endereço a uma mesma interface de rede. Isto se chama IP alias:

aluno@M1:~> ifconfig eth0:0 192.168.1.110 netmask 255.255.255.0
aluno@M1:~> ifconfig eth0:1 192.168.2.100 netmask 255.255.255.0
aluno@M1:~> ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:19:D1:7D:C9:A9
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:37295731 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42068558 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20942258027 (19972.0 Mb)  TX bytes:18294794452 (17447.2 Mb)
          Interrupt:16 Base address:0xc000

eth0:0    Link encap:Ethernet  HWaddr 00:19:D1:7D:C9:A9
          inet addr:192.168.1.110  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:16 Base address:0xc000

eth0:1    Link encap:Ethernet  HWaddr 00:19:D1:7D:C9:A9
          inet addr:192.168.2.100  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:16 Base address:0xc000
aluno@M1:~>

Configuração permanente


Todo sistema operacional possui alguma forma de configurar suas interfaces de rede, para que sejam automaticamente ativadas no boot com seus endereços IP. Por exemplo, em sistemas Linux Ubuntu e Debian, a configuração de rede se concentra no arquivo /etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
        address 127.0.0.1
        netmask 255.0.0.0

# a interface ethernet eth0
auto eth0
iface eth0 inet static
	address 192.168.1.100
	netmask 255.255.255.0
	gateway 192.168.1.254
        dns-nameservers 200.135.37.65

Esses arquivo é lido pelos scripts ifup e ifdown. Esses scripts servem para ativar ou parar interfaces específicas, fazendo todas as operações necessárias para isto:

# Ativa a interface eth0
ifup eth0

# Desativa a interface eth0
ifdown eth0

Para ativar, desativar ou recarregar as configurações de todas as interfaces de rede:

# desativa todas as interfaces de rede
sudo /etc/init.d/networking stop

# ativa todas as interfaces de rede
sudo /etc/init.d/networking start

# recarrega as configurações de todas as interfaces de rede
sudo /etc/init.d/networking restart

O que todo host deve possuir


Com o que se fez até o momento, pode-se concluir que todo host (computador, tablet, smartphone, ..., qualquer dispositivo que rode aplicações da Internet) precisa de:

  • Endereço IP e máscara de rede: um host precisa de um endereço para que possa se comunicar com outros hosts. A máscara de rede informa o tamanho da subrede IP em que ele se encontra.
  • Rota default (padrão): para se comunicar com hosts de outras subredes, é preciso enviar os pacotes para um roteador que saiba encaminhá-los a seus destinos. O roteador default (ou padrão) é um roteador para quem se destinam todos esses pacotes. Tecnicamente ele corresponde à rota para o destino 0.0.0.0/0.
  • Endereço IP do servidor DNS: usuários costumam endereçar hosts e servidores por seus nomes de domínio, e não por seus endereços IP. Isso é muito mais fácil de memorizar do que os endereços numéricos. Como explicado em aula, nomes de domínio são análogos a nomes de assinantes em um catálogo telefônico. No entanto, as aplicações precisam dos endereços IP para se comunicarem. O servidor DNS faz a tradução de nome de domínio para endereço IP, e é usado pelas aplicações transparentemente (isso é, você não percebe que isso ocorre). O endereço desse servidor deve ser configurado em cada host, para que se possam traduzir nomes de domínio.

18/02/2021: Configuração de rede: subredes

Aula 18

Sistema binário

O sistema binário ou de base 2 é um sistema de numeração posicional em que todas as quantidades se representam com base em dois números, ou seja, zero e um (0 e 1).

Os computadores digitais trabalham internamente com dois níveis de tensão, pelo que o seu sistema de numeração natural é o sistema binário. Com efeito, num sistema simples como este é possível simplificar o cálculo, com o auxílio da lógica booliana. Em computação, chama-se um dígito binário (0 ou 1) de bit, que vem do inglês Binary Digit. Um agrupamento de 8 bits corresponde a um byte (Binary Term). Um agrupamento de 4 bits, ainda, é chamado de nibble.

Um processador é formado por milhares de blocos lógicos complexos, formados por portas lógicas básicas, e o funcionamento destas está amparado por um postulado fundamental à eletrônica digital que determina que um circuito opere apenas com dois níveis de tensão bem definidos. Em um circuito digital TTL (Transistor Transistor Logic), os dois níveis de tensão padronizados são 0V (zero volt) e 5V (cinco volts). Ao projetar um sistema digital, ao invés de trabalhar com níveis de tensão trabalha-se com níveis lógicos, então, no caso do circuito TTL, 0V será representado por “0” e 5V será representado por “1”, e os níveis de tensão entre eles serão ignorados, ou seja, adotar-se-á uma faixa até a qual será considerado nível lógico zero, e a partir dela, nível lógico 1. Neste caso, de 0V a 2,5V temos “0”, e a partir daí até 5V temos “1”.

O sistema binário é base para a Álgebra booliana (de George Boole — matemático inglês), que permite fazer operações lógicas e aritméticas usando-se apenas dois dígitos ou dois estados (sim ou não, verdadeiro ou falso, tudo ou nada, ligado ou desligado, 1 ou 0). Toda a electrónica digital e computação estão baseadas nesse sistema binário e na lógica de Boole, que permite representar por circuitos electrónicos digitais (portas lógicas) os números, caracteres, realizar operações lógicas e aritméticas. Os programas de computadores são codificados sob forma binária e armazenados nas mídias (memórias, discos, etc) sob esse formato. Assim, para informação armazenada na memória RAM do computador, o formato será de voltagem mais alta (1) ou mais baixa (0). Em discos magnéticos a binariedade se dará por diferença de polaridade, positiva ou negativa.

Convertendo decimal para binário


Para converter um número decimal para binário, basta realizar divisões sucessivas do número decimal por 2 (base do sistema binário) e verificar se essa divisão possui resto ou não. Se possuir, o valor é 1 se não possuir, o valor é 0.

Exemplo de conversão do valor 29 para binário:


Binario29.jpg


Exemplo de conversão do valor 10 para binário:


Binario10.jpg


Convertendo binário para decimal


Para converter um número binário para decimal, basta multiplicar cada bit pelo seu valor de posição e somar os resultados.

Exemplo de conversão do valor 10101 para decimal:


Decima10101.jpg


Exemplo de conversão do valor 11101 para decimal:


Decimal11101.jpg


Estrutura do endereço IPv4

O IPv4 é representado na notação de ponto decimal (por exemplo, 192.168.23.245 ), somente para benefício humano, pois os computadores entendem o endereço na sua notação binária nativa com 32 bits de tamanho, compostos de 4 octetos de 8 bits cada, separados por um ponto:

Estruturaipv4.jpg


Os endereços IPv4 são divididos em duas partes: o ID de rede e o ID de host. A primeira parte do endereço é o ID de rede que identifica uma determinada rede. A última parte é o ID de host, que identifica um host dentro da rede definida pelo ID de rede.


ID de rede + ID de host = 32 bits


Somente através da máscara de sub-rede que é possível definir o tamanho do ID de rede e ID de host. Apenas examinando um endereço IPv4 como 192.168.23.245, não sabemos quais dos 32 bits são utilizados em cada ID, pois eles variam de acordo com a máscara.


Criando Subredes


Criar sub-redes é a pratica para subdividir logicamente um espaço de endereços, alterando a máscara de sub-rede de uma rede, dividindo as redes em vários domínios de difusão (broadcast), evitando futuras lentidões com o aumento da rede. A divisão da rede também ajuda em um melhor aproveitamento do bloco de endereços disponível.

Dividindo as subredes


Nesse método, pegamos um bloco de endereços e criamos várias sub-redes do mesmo tamanho, ou seja, com a mesma máscara. Podemos determinar o número de sub-redes que vamos criar, utilizando uma fórmula bem simples:

2 (n2 - n1)


  • N2 representa o comprimento (em bits) do seu novo ID de rede usado internamente na organização.
  • N1 é o comprimento do ID original de rede atribuído externamente para indicar o bloco de endereços inteiro.


Vamos entender melhor com o seguinte exemplo: Você tem um bloco 192.168.0.1/24. Com isso, o 24 será o valor de N1, ou seja, do bloco original de rede atribuído. Uma máscara /24 tem 256 endereços. Pretendemos subdividir a rede em sub-redes /27, ou seja, criar várias redes /27 através do bloco (192.168.0.1/24), logo N2 tem o valor 27. Agora já podemos verificar quantas sub-redes /27 poderão ser feitas com o bloco /24, com o seguinte cálculo:


2 (27-24) = 2 3 = 8 subredes


Com a mesma fórmula podemos descobrir quantos endereços teremos em cada uma dessas 8 subredes /27. Basta subtrair 32 (bits totais) com o número 27 e calcular da seguinte forma:

2 (32-27) = 2 5 = 32 endereços


Sempre que realizar essa fórmula, lembre-se que o primeiro endereço é reservado para o endereço de rede, e o último para o endereço de difusão ou broadcast. Com isso, um /27 tem 30 endereços disponíveis. A rede também usará um gateway padrão, que normalmente é o primeiro ou o último endereço disponível. Veremos abaixo como ficará a rede /27:

Rede27.jpg

Exercícios

Considerando o IP 200.168.10.66/26, responda:

  1. Qual o endereço de rede?
  2. Qual o endereço de Broadcast?
  3. Qual a máscara de sub-redes?
  4. Quantos hosts há nessa rede?
  5. Qual o intervalo válido de IPs para essa rede?


Dividir a seguinte rede classe C: 229.45.32.0/255.255.255.0. São necessárias, pelo menos, 10 sub-redes. Determinar o seguinte:

  1. Quantos bits serão necessários para fazer a divisão e obter pelo menos 10 sub-redes?
  2. Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
  3. Qual a nova máscara de sub-rede?
  4. Listar a faixa de endereços de cada sub-rede.


Dividir a seguinte rede classe B: 150.100.0.0/255.255.0.0. São necessárias, pelo menos, 20 sub-redes. Determinar o seguinte:

  1. Quantos bits serão necessários para fazer a divisão e obter pelo menos 20 sub-redes?
  2. Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
  3. Qual a nova máscara de sub-rede?
  4. Listar a faixa de endereços de cada sub-rede.


02/03/2021: Acrescentando discos ao computador

Aula 21


Curiosidades:

Particionamento do disco

Deve-se instalar o sistema operacional com particionamento manual do disco. As partições devem ser:

  • /: a partição raiz, onde fica o sistema operacional e seus arquivos de configuração e também arquivos de log e temporários.
  • /home: a partição dos usuários, onde ficam seus diretórios pessoais.
  • swap: a partição de memória virtual, cujo tamanho deve ser ao menos igual ao da memória RAM instalada (na verdade, isso é discutível ... há muitas possibilidades para o tamanho da área de swap, e ela pode inclusive não existir).
Pji1-Hd-estrutura.jpg
A estrutura física de um disco rígido
Pji1-Particoes1.jpeg
O espaço de armazenamento de um
disco dividido em partições


O particionamento acima corresponde a uma instalação típica muito simples. A principal ideia por trás dessa escolha foi possibilitar que o sistema operacional fosse reinstalado sem que se percam os arquivos de usuários (e sem necessidade fazer backup para essa finalidade). Mas há outras possibilidades para particionamento do disco, dependendo do propósito para que o sistema operacional deve ser instalado.

Partições e sistemas de arquivos


Imagine que um novo disco rígido foi instalado no seu computador. O que é necessário fazer para usá-lo ? O mesmo vale para o uso de um pendrive, ou a leitura de um DVD ou CD. Essas midias armazenam arquivos, e, desta forma, possuem um sistema de arquivos. Mas como integrá-lo ao sistema operacional ?


Primeiro de tudo, essa nova unidade de armazenamento deve ser formatada. Isso significa que deve ser preparada para que arquivos e diretórios possam ser armazenados. A formatação implica escolher um tipo de sistema de arquivos, e existem vários deles disponíveis. Essa escolha pode ser bastante técnica, dependendo do que se precisa guardar na midia. Mas, para os nossos propósitos, vamos nos restringir aos sistemas de arquivos mais populares:

Sistemas de arquivos Tipo de midia
ext4fs, ext3fs, xfs, btrfs, jfs discos rígidos
vfat, fat32 pendrives
iso9660 e variações CD, DVD


Pji-Filesystem-tree-mountpoints.png
Uma árvore de diretórios com três sistemas de arquivos nos pontos de montagem /, /home e /usr


EXT2


O sistema de arquivos ext2 é conhecido como "Second Extended FileSystem". Foi desenvolvido para ser mais "eficiente" que o sistema de arquivos "Minix", seu antecessor. 

O Minix era muito utilizado nas primeiras versões do Linux, e foi utilizado por muitos anos. 

O sistema de arquivos ext2 não possui journaling e foi substituído pelo ext3. 

Segundo, a midia formatada deve ser integrada à árvore de diretórios. Essa integração, chamada de montagem, implica ela ser associada a um subdiretório (chamado de ponto de montagem, ou mount point) na árvore de diretórios. Feito isso, a midia pode ser utilizada para guardar ou acessar novos arquivos.

EXT3



O sistema de arquivos ext3 é uma versão do ext2 com suporte a journaling. Portanto, o ext3 tem as mesmas características do ext2, mas com suporte journaling. 

Essa característica foi uma evolução e tornou o ext3 um sistema de arquivos muito estável e robusto. 

Como no ext3 só foi adicionado o suporte a journaling, podemos converter um sistema de arquivos ext2 para ext3, adicionado suporte a journaling, e também podemos converter um sistema de arquivos ext3 para ext2, removendo o suporte a journaling. 


REISERFS



O sistema de arquivos ReiserFS foi criado recentemente. Mas atualmente quase todas as distribuições Linux o suportam. 

Sua performance é muito boa, principalmente para um número muito grande de arquivos pequenos. 

ReiserFS também possui suporte a journaling. 


XFS



O sistema de arquivos XFS também possui suporte a journaling. Foi desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado o código fonte. O XFS é considerado um dos melhores sistemas de arquivos para banco de dados, pois é muito rápido na gravação. 

XFS utiliza muitos recursos de cache com memória RAM, e para utilizar XFS é recomendado utilizar sistemas que possuem redundância de energia. 


SWAP



SWAP é um espaço reservado para troca de dados com a memória RAM. 

Em alguns lugares ele não é mencionado como um Sistema de Arquivos. 

VFAT


O sistema de arquivos VFAT é também conhecido como FAT32 (M$ Windows). 

O sistema de arquivos VFAT não possui suporte a journaling. É utilizado normalmente para transferir dados entre sistemas M$ Windows e o Linux instalados no mesmo disco, pois pode ser lido e escrito por ambos os sistemas operacionais. 

O sistema de arquivos VFAT está longe de ser um sistema de arquivos utilizado para Sistemas Linux, exceto para compartilhamento/compatibilidade entre o M$ Windows e Linux. 

Se você utilizar VFAT no Linux, esteja certo de perder alguns atributos, tais como: permissão de execução, links simbólicos, entre outras coisas.

Ambos os sistemas de arquivos ext3 e ReiserFS são maduros o bastante para serem utilizados como padrão no Linux. Esses dois são os mais utilizados pelas distribuições Linux. 

Tipos de partições

Partições primarias


Quando vamos particionar um HD, podemos ter no máximo 4 partições primárias. Sistemas baseados em Windows só aceitam ser instalados em partições primárias, e sistemas baseados em Linux ou Mac OS aceitam dar boot em partições lógicas.


Partições estendidas


Um tipo especial de partição primária que foi desenvolvido para superar o limite de quatro partições. A partição estendida é um container no interior do qual você pode criar partições lógicas. A própria partição estendida não contém nenhum dado, nem é atribuída a ela uma letra da unidade. Mas as partições lógicas dentro da partição estendida podem conter aplicativos e dados e ter letras da unidade atribuídas a elas.

Uma parte de um disco básico que pode conter unidades lógicas. Um partição estendida é usada para ter mais de quatro volumes em um disco básico. Um disco básico pode conter até quatro partições primária ou três partições primária mais uma partição estendida, por exemplo. A partição estendida pode ainda ser dividida em até 255 unidades lógicas.


Partições lógicas


São partições criadas dentro de uma partição estendida, utilizada quando necessitamos de mais partições que as 4 primárias.


Guia rápido sobre criação de partições


O particionamento de disco APÓS a instalação do sistema operacional pode ser necessária em algum momento. O procedimento a ser visto em boa parte pode ser aplicado também ao caso da instalação de um segundo (ou terceiro ...) disco ao computador. Basicamente deve-se fazer o seguinte:

Usar um programa de particionamento para editar a tabela de partições do disco: no modo texto pode-ser usar os programas fdisk ou parted, e no modo gráfico o gparted.
fdisk /dev/sda

Formatar a nova partição, o que serve para criar um sistema de arquivos dentro da partição: isso depende do tipo de sistema de arquivos a ser criado. Para simplificar, vamos usar o tipo mais comum em sistemas Linux atualmente, que é o ext4. O programa de formatação no modo texto se chama mke2fs. No modo gráfico isso pode ser feito com o próprio gparted.

OBS: substitua /dev/sda7 pelo caminho da partição que você criou !!!

mke2fs -j /dev/sda7

Outra forma de formatar, também bastante usada é através do comando mkfs. Ele permite escolher o sistema de arquivos a ser utilizado na partição.

OBS: substitua /dev/sda7 pelo caminho da partição que você criou !!!

mkfs.<sistema_arquivo> /dev/sda7

Para saber os sistemas de arquivos suportados pelo mkfs, digite o seguinte comando:

ls /sbin/mkfs*

a saída deve ser parecida com a imagem abaixo:

Mkfssaida.jpg

Montar o novo sistema de arquivos em algum diretório, para que possa ser utilizado: isso deve ser feito no modo texto, usando-se o comando mount.

OBS: substitua /dev/sda7 pelo caminho da partição que você criou, e /mnt pelo diretório onde quer montá-la !!!

mount /dev/sda7 /mnt

Exercícios

Crie um disco adicional na máquina virtual com 20 Gb e crie as seguintes partições:


  1. Partição primária de 5 Gb do tipo Fat32
  2. Partição primária de 5 Gb do tipo Ext3
  3. Partição lógica de 4 Gb do tipo Ext3
  4. Partição lógica de 6 Gb do tipo Linux swap

Formate as partições e monte no diretório /mnt, cada uma em um diretório diferente.

Liste as partições montadas, com seus respectivos pontos de montagem, tamanhos e tipo de arquivo.

Exercício Extra (Desafio)

Um Analista de Sistemas Linux recebe uma proposta de consultoria para verificar uma possível causa de lentidão em um servidor de uma determinada empresa. Tendo em vista que esse servidor é antigo com um hardware modesto de 1 GB de RAM, processador Pentium 4 e HD de 160 GB.

Percebe-se que quando este servidor foi instalado, não foi configurado uma partição de swap e que a aplicação de gestão que roda no mesmo, tem deixado um grande gargalo na memória RAM. O cliente dispõem de um disco extra de 10GB. Configure uma partição de swap de 3GB afim de evitar uma parada total do sistema por falta de espaço na memória RAM.

Comandos que podem ser úteis:

  1. arquivo de configuração /etc/fstab
mkswap -f <dispositivo>
blkid
swapon <dispositivo>


23/03/2021: Gerência de Redes de Computadores: Serviços TELNET e SSH

Aula 27
Para a aula de hoje assista o vídeo

https://www.youtube.com/watch?v=WKYHWy4daXg - Introdução

Se você tem máquina Windows Leia o texto
https://tecnoblog.net/229971/windows-10-ativar-openssh-cliente/


Entenda a diferença e aplicabilidade dos serviços TELNET e SSH bem como a facilidade de Instalação e uso dessas ferramentas na forma mais trivial de sua instalação e configuração: Siga os passos de instalação indicados neste vídeo de treinamento da Bóson:

https://www.youtube.com/watch?v=e7TdtHL6b0E - Instalação do SSH em sistemas operacionais Debian


Também leia o capítulo 33 da apostila sobre Gerência de Redes que foi o esqueleto do livro publicado pela editora do IFSC do nosso colega professor, Odilson Tadeu Valle. Esse livro foi e tem sido um referencial bibliográfico para muitas disciplinas que abordam ferramentas para Instalação, Gerência e Manutenção de redes de computadores.


Habilitando acesso remoto com SSH

Em informática, o Secure Shell ou SSH é, simultaneamente, um programa de computador e um protocolo de rede que permite a conexão com outro computador na rede, de forma a executar comandos de uma máquina remota. Possui as mesmas funcionalidades do TELNET, com a vantagem da conexão entre o cliente e o servidor ser criptografada, ou seja, mais segura. O SSH faz parte da suíte de protocolos TCP/IP que torna segura a administração remota de um servidor Linux/Unix.

25/03/2021: SSH e o comando scp

Aula 28


O scp (Secure Copy) é uma maneira segura de fazer cópias de arquivos e diretórios usando o protocolo SSH.

Assista esse vídeo da Bóson Treinamentos sobre como usar o comendo scp

https://www.youtube.com/watch?v=V6r8t_nlV7U


Atividade Extra

Atividade individual para uso do SSH e do comando scp.
  1. Instale o SSH em sua MÁQUINA VIRTUAL.
  2. A partir de sua MÁQUINA REAL conecte-se na máquina virtual.
     ssh aluno@[IP da maquina virtual]
    
  3. Deslogue da máquina remota (a Máquina Virtual, no caso).
  4. Crie uma senha para o usuário root utilizando o comando passwd.
  5. Tente logar com o usuário root na máquina remota. Foi possível?
  6. Habilite o login do root.
     vi /etc/ssh/sshd_config 
       PermitRootLogin yes
    
  7. Reinicie o serviço
     service ssh restart
    
  8. Tente logar como root e em sequência deslogue.
  9. Desfaça a alteração em PermitRootLogin.
  10. Tente logar com o usuário root novamente. Foi possível?
  11. Remova a senha do usuário root para que não seja mais possível logar utilizando-a.
  12. De sua máquina real conecte e faça testes diversos.
     ssh aluno@[IP da maquina virtual]
    
  13. Habilite o acesso somente para um conjunto de usuários (desafio).
  14. Teste.
  15. Desfaça o anterior. Bloqueie o acesso para um conjunto de usuários (desafio).
  16. Teste.
  17. Instale o SSH em sua máquina virtual com ambiente gráfico, [IP da maquina virtual]
  18. Habilite e desabilite o X11Forwarding.
  19. Da máquina real teste esta funcionalidade:
     ssh -X aluno@[IP da maquina virtual]
      firefox
    
  20. Teste a funcionalidade do scp, copiando arquivos locais para o servidor e vice-versa.
  21. Teste a execução de comandos no seu servidor, sem "sair" do cliente.
  22. Faça testes fornecendo usuário e/ou senha errados e verifique o log:
     tail /var/log/auth.log
    
  23. Permitindo acesso ao serviço somente para algumas máquinas:

vi /etc/hosts.allow

     sshd:[IP da maquina virtual]

vi /etc/hosts.deny

     sshd: ALL

30/03 - ANP - Bases da Telefonia Analógica e uma introdução à Telefonia IP

Aula 29


TELEFONIA ANALÓGICA

Revisão da PSTN (Public Switched Telephonic Network)

A Rede Pública de Telefonia (PSTN) foi a principal infraestrutura de telecomunicações desde o invento de Alexander Bell até o início o século XXI. Embora ainda tenha participação relevante nos dias atuais, ela perde espaço para a Internet.

A PSTN se caracteriza pela presença exclusiva dos pares de fios visando a criação de circuitos dedicados para a comunicação da voz e a comutação desses circuitos entre todos os que se conectam nessa rede. Em um único par de fios ela permite a comunicação duplex, mantendo uma qualidade da transmissão da voz em limites de inteligibilidade de palavras e frases (100% de inteligibilidade) e fonemas (87%)determinados pela estreita largura de banda (300 a 3400Hz) do sinal padronizado para cruzar o sistema.

Para ampliação do sistema o núcleo da rede telefônica ganha hierarquias na multiplexação e transmissão digital de inúmeros circuitos simultâneos de voz (Telefonia Digital)

Os textos adiante são extrações resumidas ou adaptadas dos textos da wiki produzidos pelo Professor Marcelo Sobral, a quem fica aqui o agradecimento e créditos.

Transformação da voz em sinal elétrico e a transmissão

Através de um transdutor é possível converter o sinal sonoro (onda mecânica) em um sinal elétrico que varia no tempo.

Exemplo1: microfone de carvão

Usando uma fonte DC com este microfone é possível conceber um sistema em que o sinal elétrico gerado pelo microfone é amplificado e transmitido por fios (2 fios). O receptor pode aplicar o sinal em um alto-falante, que faz o reverso do microfone.

Um sistema duplex necessitaria neste caso de 4 fios mas é possível usar um dispositivo para mesclar os dois sinais (híbrida).

Desta forma, é possível transmitir e receber voz com dois fios simultaneamente.
Os fios devem partir de um telefone associado a um usuário até o outro telefone.
NOTE que estes fios são dedicados a comunicação entre estes dois usuários! 

Chaveamento de circuito - o papel da operadora

No item acima observamos que é possível transmitir e receber voz entre dois usuários. Entretanto, logo após as invenções destas tecnologias, observou-se que, para fins de otimização, todos os telefones deveriam estar ligados a uma central.

O uso da central evita uma conexão permanente de todos para todos, o que inviabilizaria o sistema.

Então, inventou-se as centrais telefônicas.

Inicialmente que operava a central era um ser humano. Logo a seguir, estes dispositivos foram automatizados.

Necessidade de um protocolo de sinalização

De alguma forma, o chamador do sistema de telefonia, deveria indicar com quem ele deseja se comunicar. O usuário chamado deve receber um sinal audível e proceder o atendimento. É um protocolo conhecido por todos nós. Mas uma série de eventos acontece na prática:

  1. o usuário retira o telefone do gancho e a central detecta este evento e põe-se a escutar a linha do chamador;
  2. o chamador disca o número desejado (interrupções de um sinal DC da linha ou um sinal multi-frequencial (DTMF));
  3. a central observa o número de interrupções e o associa a um circuito a ser chamado.
  4. a central coloca um sinal audível de chamada na linha do usuário chamado (e também uma pequeno sinal para o chamador);
  5. o usuário chamado atende e a central detecta o atendimento;
  6. a central interconecta o circuito do chamador com o circuito chamado.
 Pronto, a comunicação pode se dar entre os dois usuários.

Fica evidente a necessidade de duas componentes do sistema: a sinalização e o transporte da informação propriamente dita.

 Exercício: Fazer um diagrama de troca de mensagens no tempo, composto pelos três elementos básicos de uma comunicação telefônica:    
 chamador, chamado e a central telefônica.

Digitalização do sinal de voz e da sinalização

Você já deve ter percebido que a tendência de qualquer sistema de telecomunicações, é a representação digital binária de qualquer informação. Isto facilita o seu processamento, transmissão, recepção e armazenamento (se necessário).

O sistema telefônico foi quase que completamente digitalizado. No caso particular do sinal da voz, procede-se um processo de amostragem e de quantização para a geração de uma sequência de bits associada ao sinal de voz. Trata-se da técnica chamada PCM.

Nesta técnica amostra-se o sinal analógica a uma frequência específica (sampling rate). No caso da telefonia esta frequência é de 8000 vezes por segundo (8khz). Cada amostra é transformada em um agrupamento de 8 bits (um byte). Por que 8000 khz. É uma limitação teórica descoberta por Nyquist que diz que a a frequência de amostragem deve ser duas vezes maior que a maior frequência que compõe o sinal. Para a transmissão da voz, a frequência limite é 4khz (a banda da telefonia é de 3100Hz).

Ver a representação no domínio da frequência aqui.

NOTE que amostragem de 8Khz com 8 bits por amostragem leva a uma taxa de transmissão de 64kbps.

Ou seja, se você digitalizar a voz e transmitir por um par de fios, a taxa de transmissão deverá ser de no mínimo 64kbps. Uma linha telefônica (fixa) que chega a sua casa via fios, possivelmente ainda é analógica (loop local, mas assim que ela chegar em uma central será digitalizada a esta taxa de transmissão.

As centrais como chaveadoras de circuitos

Entre centrais telefônicas e entre centrais e PABXs normalmente os enlaces são realizados por troncos E1 (ou hierarquias destes troncos). Nestes sistemas os canais digitais são multiplexados no tempo (ver aqui).

Em uma ligação telefônica que passa por várias etapas, toda a sinalização é repassada de forma digitalizada por canais adicionais no E1 (ou uma variante disto). O chaveamento de circuito


A seguir,contribuições dos alunos do curso técnico integrado em telecomunicações turma 2020-1 sobre Funcionalidades de centrais automáticas
  • Funcionalidades Simples
Ligação entre ramais


A ligação entre ramais é uma das principais funções de uma central automática. Basicamente é a função que interliga dois telefones (ramais) dentro do domínio da central privada e permite a comunicações dos usuários. É comumente utilizada quando dois usuários estão em andares, salas ou mesmo em setores diferentes.

Tomando como base a tecnologia analógica, podemos dizer que na maioria das vezes os ramais estarão dentro de uma mesma empresa, fábrica ou escritório devido a dificuldade de levar o sinal em um par metálico tão longe. No entanto, com a telefonia IP, criou-se a possibilidade de realizar ligações entre ramais que estão muito mais distantes fisicamente. Há a possibilidade, por exemplo, de um ramal em Rondonia realizar uma ligação para outro Ramal no Espirito Santo e haver comunicação. Isso ocorre pois mudamos a tecnologia de transmissão de dados, que no caso são as redes IP, ou seja, a internet.

Contribuição: Augusto Gil de Oliveira e Lucas Bernardo

Entroncamento entre centrais



Entroncamento é a maneira como a central telefônica se interliga com a operadora de telefonia. Pode ser feito de maneira analógica, digital ou IP e possui o objetivo de entregar linhas ao assinante.

Entroncamento analógico: é a maneira mais antiga de entroncamento. Basicamente um par de fios entronca o assinante com a operadora de telefonia. Cada par de fios corresponde a um número do assinante. Um fator limitante é que se um assinante quiser muitos números, a quantidade de fios será grande demais.

Entroncamento digital: no Brasil o entroncamento digital disponibilizado pelas operadoras é o E1. Essa tecnologia entrega até 30 linhas ao assinante com um número muito menor de fios se comparado ao entroncamento analógico.

Entroncamento IP: é feito via link de dados ou internet utilizando o protocolo TCP/IP

Alternativas de entroncamento com operadoras de telefonia em: https://www.propus.com.br/entendendo-telefonia-ip-voip-parte-2/

Contribuição: Brenda Soares e Lucas Costa

Discagem Abreviada


A discagem abreviada se trata de um serviço disponibilizado pela central PABX ou provedores de linhas telefônicas (operadoras) no qual se é possível armazenar números telefônicos inteiros nas teclas alfanuméricas de seu telefone - Uma operação semelhante à esta seria a função de "discagem indireta" programáveis "diretamente" em alguns modelos de aparelhos telefônicos.

Segue link abaixo do produto da Intelbras (Voiper) que contempla a função de discagem rápida (página 18):

*Link: www.chequetron.com.br/manuais/Manual_Voiper_Portugu%C3%AAs.pdf
Contribuição: Bruno e Mateus Seeman

Siga-me

Contribuição: Enzo e Matheus Santana

Siga-me é a função de “transferir chamadas”, muito utilizada tanto em celulares como em linhas fixas.
Trata-se, basicamente, de um “código” que deve ser programado em seu número para direcionar as ligações para outro número fixo ou móvel.
Alguns equipamentos como porteiros tem essa integração com o siga-me onde além de transferir chamadas é possível abrir uma fechadura.


Bilhetagem

Histórico de chamadas efetuadas e recebidas por uma determinada linha telefônica fixa ou móvel. É o sistema destinado a registrar os dados das ligações de forma a permitir o posterior cálculo dos custos das chamadas originadas externas, para serem cobrados na conta de telefonia.

bilhetagem.jpg

Contribuição: Nathally e Fernanda

Referência:

https://vocegestor.com/glossary/sistema-de-bilhetagem/
https://www.dicionarioinformal.com.br/significado/bilhetagem/8258/
Caixa Postal
  • Caixa postal com envio do áudio por email.

    Um sistema de caixa posta é um sistema centralizado utilizado em negócios para enviar, guardar e recuperar mensagens de áudio, como uma secretaria eletrônica faria em casa.
    Cada ramal numa central telefônica é normalmente lincado a uma caixa postal, então quando o numero é chamado e não é atendido ou esta ocupado, a pessoa que chamou ouve uma mensagem previamente gravada pelo usuário. Esta mensagem pode dar instruções para a pessoa para deixar uma mensagem de voz ou dá outras opções disponíveis, como bipar o usuário ou ser transferido para outro ramal ou para a recepcionista e atá em envio de um
    voicemail até o usuário. Contribuição: PEDRO FAGUNDES e GUILHERME
Fila de atendimento


Hoje em dia, as filas atendimento são bem conhecidas na área de telecomunicações, são importantes para empresas com um grande volume de chamadas recebidas.

Essa funcionalidade garante ao cliente o direito de ser atendido, enquanto o call center e o pessoal do atendimento estão ocupados em outras ligações, sendo assim a chamada será encaminhada para o primeiro atendente que esteja disponível.


A fila de atendimento pode facilitar o dia a dia tanto de seus clientes quanto de seus colaboradores. Isso porque:

  • Possibilita que as suas chamadas recebidas sejam colocadas em fila e em ordem;
  • Possibilita a sua empresa a oportunidade de ter vários atendentes, ou ramais,com atendimento simultâneo;
  • Possibilita que seus atendentes façam transferência de chamadas caso atendam a uma chamada e vejam que seria melhor para aquele cliente ser atendido por outro atendente ou departamento;
  • Possibilita que enquanto aguarda, seu cliente escute uma música;
    Contribuição: Thiago e Isabella.
Call Transfer


Um call tranfer (transferência de chamada) é um mecanismo de telecomunicações que permite ao usuário realocar uma chamada telefônica existente para outro telefone ou console de atendimento, usando um botão de transferência ou um flash de gancho e discando o local necessário. A chamada transferida é anunciada ou não anunciada.

Contribuição: Vinicius Fidelix e Jennifer Marcela

Call Pickup


Esta facilidade possibilita atender as chamadas dirigidas a outros ramais que não foram atendidas ou que estejam estacionadas ou retidas. É possível capturar chamadas externas e internas, podendo ser uma captura geral, ou de um grupo ou ramal específico.
Contribuição: John Peter Simon Lange e Wesley.

Música de espera

Ter um sistema de atendimento telefônico automático, como uma URA ou DAC, é o básico que uma empresa deve oferecer ao cliente.

Com ele é possível direcionar as chamadas para um setor/pessoa específicos, atender determinadas solicitações, acessando banco de dados, sem a necessidade de um atendente, ter atendimento 24h por dia, 7 dias por semana, sem custos adicionais.

Alunas: Lilia e Yasmin.

  • Funcionalidades Complexas:
Callback


O Call Back é uma solução que promove o retorno das chamadas de forma automática ou programada para os clientes que estão esperando um atendimento em seu número receptivo.

Esta ferramenta faz a captação de dados do cliente, desliga a chamada e posteriormente retorna para o número.

Geralmente é reproduzida uma mensagem como, por exemplo, “No momento nenhum atendente está disponível, retornaremos a chamada assim que possível”.

O Call Back acaba sendo uma automatização muito eficiente dentro de um call center.

O Call Back é uma solução eficiente, indicada para empresas com um alto fluxo de chamadas receptivas.

Ele se torna ideal para gestores que desejam reduzir o tempo de espera dos clientes que necessitam de atendimento, e a quantidade de chamadas onde o cliente acaba desistindo de aguardar pelo atendimento devido ao alto tempo de espera.

Contribuição: Augusto Gil de Oliveira e Lucas Bernardo

URA


URA (Unidade de Resposta Automática), também chamada de atendente eletrônica, fornece serviços de respostas automáticas aos clientes que realizam uma chamada. É muito utilizada para sistemas de compras, clínicas de saúde, telefonia móveis, contratação dos serviços, serviços públicos, entre outros.

Contribuição: Brenda Soares e Lucas Costa

DISA


No momento em que o acesso é efetuado, quando o usuário externo disca, ele interage com o prompt do IVR (Interactive Voice Response) e insere algumas informações de autorização.

Contribuição: Bruno e Mateus Seeman

Gravação de ligações

Contribuição: Enzo e Santana

Possibilita a gravação de todas as chamadas recebidas e efetuadas, garantindo o controle, segurança e otimização das ligações proporcionando redução significativa do uso do telefone para fins não empresariais.
Além disso pode ser instalado nas linhas tronco e também nos ramais quando é utilizado uma central telefônica.

Tarifação

Um sistema de tarifação telefônica efetua o registro e associa um custo correspondente as ligações recebidas ou feitas.

As regras de tarifação para os planos obrigatórios variam de acordo com o horário e o plano escolhido:

Horário Normal Plano Básico de Minutos: Cobra-se um mínimo de 30 segundos, e o tempo de utilização adicional é tarifado a cada 6 segundos. Somente serão tarifadas as chamadas com duração superior a 3 segundos.

Plano Alternativo de Serviços de Oferta Obrigatória (Pasoo): Cobra-se uma Tarifa de Completamento de Chamada, além do tempo de utilização, que é tarifado a cada 6 segundos. A tarifa de completamento equivale ao valor de 4 minutos. Horário Reduzido

Plano Básico de Minutos: Cobra-se um Valor por Chamada Atendida (VCA), equivalente ao valor de 2 minutos, a cada ligação completada, independente do tempo de utilização.

Plano Alternativo de Serviços de Oferta Obrigatória (Pasoo): Cobra-se uma Tarifa de Completamento de Chamada, equivalente a 4 minutos, por chamada completada, independente do tempo de utilização.

Os horários de tarifação reduzida são: De segunda a sexta-feira, da 0h às 6h Sábados, da 0h às 6h e das 14h às 24h Domingos e Feriados Nacionais, da 0h às 24h

Contribuição: Nathally e Fernanda

Referência:

http://sakber.com.br/tardesc.htm 
https://www.anatel.gov.br/Portal/verificaDocumentos/documento.asp?numeroPublicacao=139510&assuntoPublicacao=null&caminhoRel=null&filtro=1&documentoPath=biblioteca/releases/2007/release_28_02_2007ad.pdf
Call Center


Call center é uma central de atendimento que tem como objetivo fazer a interface entre o cliente e a empresa. É uma expressão do inglês call (chamada) center ou centre (central). O serviço de Call center é um canal de relacionamento que funciona como suporte técnico ou qualquer outra atividade especializada para atender as necessidades dos clientes. Um Call center envolve um conjunto de recursos, como computador, equipamento de telecomunicação, sistemas e operadoras, que interagem com os clientes e permite receber um grande número de ligações simultaneamente. O Call center utiliza tecnologias que otimizam seus serviços, como a CTI (Computer Telephony Integration) que permite a integração do telefone ao computador, o gerenciamento das ligações e a distribuição das mesmas através das operações e o encaminhamento para os atendentes especializados. Outra tecnologia empregada no Call center é o IVR (Interactive Voice Response) que possibilita a interação do cliente através de áudio pré-gravado, que permite através de menus, escolher aquele que irá atender a suas necessidades.
O seviço de Call center é normalmente estabelecido dentro da própria empresa, enquanto o serviço de telemarketing (serviço de venda) é quase sempre terceirizado.


Contribuição: Pedro e Guilherme.

Blacklist


Lista negraé uma lista,ataou registro de algumaentidadeoupessoa física, que, por alguma razão, nega certos direitos, serviços, participação ou mobilidade a alguém ou a alguma entidade, em determinada situação, período detempoou lugar. Porém, existem dois tipos de blacklist: receptivo e ativo.

                            • ATIVO: Nessa função do blacklist, é cadastrado qualquer número que não deve ser discado pelos operadores.
                            • RECEPTIVO: Essa função do blacklist no telemarketing é inversa à anterior. Isso quer dizer que, aqui, o gestor do call center cadastra os números indesejados e que estão atrapalhando a empresa, pois não param de ligar. Por exemplo, os casos de trote e de pessoas que ligam procurando pelos antigos donos do número atual.
                              Como funciona a lista negra?

O blacklist para telemarketing funciona de maneira bem simples. Basta que o responsável pela função cadastre manualmente os números.

Qual o impacto da lista negra no telemarketing?

A principal função do blacklist no telemarketing é garantir que o desejo do consumidor seja respeitado e ele não receba ligações que não deseja.

Contribuição: Thiago e Isabella.


Sala de Conferência


Uma sala de conferência é um canal de áudio em que vários participantes, tanto internos (ramais) quanto externos (através de transferência ou número direto) podem interagir. Os participantes da conferência devem discar para o ramal da sala e assim participarão da conversa, é possível personalizar a sala de conferência, forçando uma senha de entrada aos participantes e/ou tocando um áudio anunciando a entrada/saída de participantes na sala.

Contribuição: Vinicius Fidelix e Jennifer Marcela

Estacionamento de chamada


Estacionar uma chamada atendida é deixá-la num local apropriado (estacionamento) para que possa ser capturada no momento oportuno pela pessoa a quem se destina. Essa funcionalidade é utilizada normalmente nas ações de consulta a outro ramal. Durante a consulta, a chamada original fica estacionada até que a chamada consulta seja finalizada. Em seguida, a chamada estacionada é restabelecida.

Contribuição: Bruna e Manuela

Chamadas de vídeo e Mensagem Automática

Chamadas de vídeo: São utilizadas para se ter uma maior interação entre os usuários e até mesmo, em algumas centrais e empresas, usa-se para provar a veracidade do usuário na hora de solicitar um produto novo, por exemplo: para saber se de fato, o produto em questão está realmente falhando ou não.

Mensagens automáticas: Redireciona o cliente para uma "fila", onde esperará o atendimento, por exemplo: se uma pessoa deseja um atendimento de um produto, receberá uma mensagem do tipo "disque 9 para o <produto>" e assim ficará em espera até ser atendida.
Durante a espera, também são utilizadas mensagens automáticas como ferramenta para manter o usuário na linha.
Ex: "Aguarde até que um dos nossos atendentes esteja disponível."
"Aguarde, estamos lhe transferindo para alguns de nossos atendentes."

Contribuição: Bruna e Manuela

Agenda


Recurso da central que permite armazenamento de contatos telefônicos com permissão de acesso para um grupo de ramais específicos ou para todos os ramais. Mas centrais PABX é possível realizar chamadas pela agenda independente da categoria configurada para o ramal, e programar agendas particulares.

Contribuição: John Peter Simon Lange e Wesley.

Despertador


O despertador é um relógio que faz barulho para acordar o indivíduo que está dormindo, na hora por ele determinada.
Com o avançar da tecnologia os despertadores são os dispositivos de maior risco de extinção com a popularização dos celulares, tabletes, Smartphones e outros objetos tecnológicos, já que estes têm como função básica despertar. Inventado na Grécia Antiga.

Sempre foi precisa muita disciplina para se conseguir acordar, e se hoje a maioria dos jovens - 83%, segundo um estudo do instituto americano Pew Research Center - utiliza o smartphone, Platão desenrascou-se com o que existia na época.

No século IV a.C., os gregos usavam vasos de pedra (clepsidras) que escorriam água entre si, uma espécie de ampulheta, para medir o tempo. O filósofo juntou a isto outra ideia: a água escorria para um vaso que tinha um apito. Quando atingia o limite, ouvia-se um som agudo. Platão costumava usá-los para não se atrasar para as aulas de madrugada.

Alunas: Lilia e Yasmin.

Redes com chaveamento por pacotes versus chaveadas por circuitos

Um ponto chave da rede PSTN é que, sendo baseada em chaveamento de circuitos, a rede proporciona uma ligação permanente entre dois terminais telefônicos até que ela seja encerrada. Mesmo que um usuário não fale nada, os recursos estão alocados para a comunicação. Esta abordagem tem vantagem e desvantagem. A vantagem é a qualidade da comunicação: os recursos estão lá e não são disputados por ninguém. A desvantagem é o desperdício de recursos. Se o usuário não conversa com seu interlocutor, ele desperdiça um recurso valioso (e caro! $).

As redes de pacotes seguem uma abordagem diferente. A informação a ser transportada (qualquer que seja), é organizada na forma de pacotes de bits. Estes pacotes, pelo menos naquelas sem conexão, possuem endereço de destino e de fonte. Todos os enlaces de conexão entre "centrais" são multiplexados em termos de pacotes. Em uma mesma linha, podem seguir pacotes de diferentes origens/destinos. As centrais na realidade são chamadas de roteadores, que chaveiam pacotes para outros enlaces conforme o destino do pacote e a informação de uma tabela de roteamento.

Uso de redes de pacotes (Internet) para a transmissão de mídias diversas

Originalmente a Internet foi concebida para a transmissão de dados que não tinham requisitos fortes de tempo.

 Por exemplo, o envio de um email pode demorar alguns minutos até chegar no seu destino. 

Entretanto, com os avanços em todos os campos das telecomunicações e da computação, conseguiu-se meios de transmissão com altíssima capacidade de transmissão bem como roteadores com grande velocidade de chaveamento. Tudo isto possibilitou que se começasse a usar a Internet para o transporte para outras mídias, tal como a voz e vídeo em tempo real.

 Surge uma nova área que é a 'Telefonia IP. Todos os serviços até então construídos sobre as PSTNs começam a ser construídos sobre a Internet.

Um sério problema ainda não resolvido na transmissão de voz digital em tempo real (e vídeo também) é a questão da qualidade de serviço. Pacotes podem sofrer atrasos, corrompidos, duplicados ou perdidos. Não é possível ainda garantir qualidade na transmissão. O que se faz é colocar recursos de sobra para não se ter problemas...

Vamos dar uma situada sobre a Telefonia IP

Convergência

O processo de convergência das tecnologias de telecomunicações e processamento de informações, via sistemas computacionais, tem promovido profundas alterações no contexto das Telecomunicações. Exemplo: serviços multimídia, presentes em dispositivos móveis e celulares. Ademais, o acesso à informação tem se tornado cada vez mais rápido e ubíquo (independente de dispositivo ou localização) e a integração dos Sistemas Telefônicos às Redes de Computadores foi um passo natural. Desse modo, a convergência em telecomunicações é uma tendência representada pela fusão dos sistemas de informação e comunicação, resultando numa síntese de serviços, recursos e informações capazes de prover diversas utilidades à sociedade.

VoIP (Voz sobre IP)

Tecnologia que permite a transmissão de voz por IP, ou seja, transforma sinais de áudio analógicos em dados digitais que podem ser transferidos através de protocolos da Internet. O método está cada vez mais presente com softwares que tem se baseado nessa tecnologia, como Skype, Facebook Messenger, Viber e WhatsApp, e claro, a Telefonia IP. Para o caso da Telefonia IP, VoIP é o termo usado para se referir às técnicas de empacotamento e transmissão de amostras de voz sobre redes IP e aos mecanismos de sinalização necessários ao estabelecimento de chamadas telefônicas nessas redes.

Voip2.png OU para uma empresa: Voip.gif


Telefonia IP é empregado para se referir à aplicação de tecnologias de VoIP na transmissão e na sinalização, com oferecimento de um serviço de qualidade similar ao da telefonia convencional.

A telefonia IP é vista não só como capaz de estabelecer chamadas telefônicas e outras funcionalidades típicas de sistemas telefônicos (redirecionamento e retenção de chamadas), mas também como uma plataforma de integração de serviços típicos da internet (web, correio eletrônico, streaming de áudio e/ou vídeo).


01/04 - ANP - Telefonia IP usando Asterisk

Aula 30

Objetivos da Aula:

  • Entender a necessidade de Protocolos de Sinalização em Telefonia
  • Conhecer o Asterisk como base para PBX IP
Exercício sobre a sinalização em Telefonia Analógica
Telefonia IP usando Asterisk


06/04 - ANP - Configuração do Asterisk como PBX entre Telefones IP e Softphones

Aula 31
Objetivos da Aula
  • Instalar o Asterisk em ambiente Linux
  • Conhecer e instalar softphones em ambiente Linux e Windows

Chamadas feitas usando PBX IP

Um PBX IP funciona como uma central telefônica, porém intermediando chamadas VoIP. Com isso, as chamadas são feitas de um telefone IP em direção ao PBX IP, que a encaminha ao telefone IP de destino de acordo com suas regras de discagem. A figura abaixo ilustra como funciona uma chamada VoIP típica através de um PBX IP.

Voip-call.png


Nas aulas que se seguem faremos uso de um PBX IP Asterisk, que é um software desenvolvido pela Digium. O Asterisk roda em computadores do tipo PC que possuem sistema operacional baseado em Linux. Sua licença é livre, o que significa que não há custo de licenciamento para utilizá-lo.

PBX IP Asterisk


Asterisk: uma solução completa de PABX baseado em software, permitindo ligar o mundo IP ao mundo da rede pública de telefonia comutada. Trata-se de uma solução completa de PABX baseado em software, permitindo ligar o mundo IP ao mundo da rede pública de telefonia comutada - PSTN. ́E um software livre licenciado sob a GPL e roda em sistemas operacionais como o Linux.

Características Básicas: faz tudo que um PABX pequeno e simples faz e pouco mais

  • Transferência, música de espera, siga-me, etc.
  • Conferência, correio de voz, URA, fila de chamadas, monitoramento de chamadas, integração com o Jabber (Google talk)


Asterisk-ex1.png
Exemplo de cenário de uso do Asterisk


Instalação do Asterisk

Pode-se fazer o experimento em casa, de forma a estudar a sinalização e stream de áudio das chamadas VoIP. Para isso precisa-se do Asterisk (PBX IP) e dois softphones (twinkle, jitsi, linphone, ou outro de sua preferência). O Asterisk roda somente no Linux, portanto deve-se ter esse sistema operacional no seu computador ou em uma máquina virtual Virtualbox. Para facilitar a realização desses experimentos, seguem algumas opções.

OPÇÃO 1: Usando uma máquina virtual Virtualbox

Neste cenário, executa-se uma máquina virtual com o Asterisk, e os softphones na máquina real. A máquina real (sistema hospedeiro) pode ser tanto Linux quanto Windows, porém no primeiro caso funciona melhor. Os softphones podem também estar em outros computadores, laptops ou smartphones. Mas para fazer experimentos desta forma é necessário primeiro ter a máquina virtual, que pode ser obtida no link a seguir:

Para instalá-la siga estes passos:

  1. Execute o VirtualBox, e então selecione o menu "Arquivos" e a opção "Importar Appliance";
  2. Essa nova MV aparece na lista. Execute-a para testá-la.
  3. Entre com usuário aluno e senha aluno.
  4. O Asterisk deve estar em execução. Teste-o usando o comando sudo rasterisk -vvv.
  5. Veja os canais SIP (um para cada telefone IP ou softphone) que já estão definidos em /etc/asterisk/sip.conf.
  6. Observe o plano de discagem em /etc/asterisk/extensions.conf. Ele possibilita chamadas entre os softphones, e também para o número especial 999' (experimente-o).
  7. Saia da interface do rasterisk usando o comando quit'.
  8. Ao terminar, não esqueça de encerrar a máquina virtual com o comando halt.

Os softphones podem ser o twinkle ou o jitsi, que rodam tanto no Linux quanto Windows.

Lembre que se houver dois softphones no mesmo computador, eles deverão usar ports UDP diferentes para o protocolo SIP. Experimente usar port 5060 em um softphone, e 5062 no outro.

OPÇÃO 2: Usando o Asterisk diretamente no seu computador (na máquina real)

Você deve ter o Linux instalado no seu computador para rodar diretamente o Asterisk. Assumindo que seja o Ubuntu ou Debian Linux, siga estes passos:

  1. Instale o Asterisk:
    sudo apt-get istall asterisk
    
  2. Copie estes arquivos para dentro de /etc/asterisk:
  3. Reinicie o Asterisk:
    sudo service asterisk restart
    
  4. Use o rasterisk para acessar o console do Asterisk:
    sudo rasterisk -vvv
    
  5. Inicie os softphones (jitsi ou twinkle). Configure-os para usarem as contas SIP 100 e 101, registrando-se no Asterisk que está no IP 127.0.0.1. Lembre de colocar os softphones em ports SIP diferentes (ex: 5062 e 5064).
  6. Tente fazer chamadas, observando as mensagens de aviso na tela do rasterisk.

Plano de discagem

O plano de discagem define como cada chamada deve ser processada. As instruções de processamento residem no arquivo de configuração /etc/asterisk/extensions.conf. O fluxo de processamento de chamadas pode ser visto resumidamente abaixo:

Asterisk-fluxo.png


Entretanto esse será um passo maior que não será dado neste momento do curso pois é necessário um conhecimento mais detalhado sobre várias opções de configurações que são fundamentais para implementar a forma de uso do Asterisk como PBX para cada caso. Na próxima aula um conteúdo será colocado para que vcs tenham noção da complexidade de conceitos necessários para uso efetiva implantação de uma telefonia IP nos vários cenários explorados apresentados nesta aula.

Nada impede que você siga adiante no estudo aprofundado da instalação, configuração e uso do Asterisk como base para implantação de telefonia IP. Para tanto use as referências destacadas em nosso material de apoio e tenha um ótimo estudo!!! Você pode solicitar orientação para o professor em nossos canais de comunicação!

BOA SORTE!!!

08/04 - ANP - Ampliando conhecimentos sobre uso de tecnologia VoIP

Aula 32
Objetivos da Aula
  • Ampliar o conhecimento sobre uso da tecnologia Voip
Leitura de Apoio

Vamos recuperar o conteúdo antes de fazer uma avaliação sobre tudo o que vimos até aqui?

Começamos então acessando os links abaixo. São bons artigos da Teleco sobre VoIP. A Teleco é um portal fundado em 2002 por um grupo de profissionais da área de Telecomunicações, sócios da Teleco, uma empresa de consultoria.

O portal Teleco tinha como objetivo inicial criar uma comunidade virtual de profissionais, estudantes e pessoas interessadas em Telecomunicações e acabou se transformando em um ótimo portal de informações do setor no Brasil especialmente aquelas relacionadas com o mercado, tecnologia e regulamentação do Brasil e da América Latina.

  1. Uma revisão geral teórica sobre a telefonia IP
  2. VoIP - caso prático

Ao final de cada artigo há três questões que você deve responder e devolver via tarefa cadastrada no SIGAA. Para certificar que você realizou, faça um print da tela com suas respostas, mesmo que não estejam corretas! É SÓ ESSE PRINT QUE VC PRECISA ENVIAR VIA TAREFA CORRESPONDENTE CADASTRADA NO SIGAA!!!

Qualquer que seja a pontuação alcançada na conclusão desse questionário, ela ficará nos registros do professor e nesse momento será utilizada para confirmar o "comparecimento" em nosso diário eletrônico do SIGAA, na data correspondente do dia previsto da aula presencial. Importante destacar que o resultado também será usado como nota adicional a ser contabilizada na avaliação individual (AI), prevista em nosso plano de ensino. AI é a média aritmética de todas as atividades colocadas aqui nesse ambiente e das demais componentes informadas seguindo os critérios de avaliação da disciplina. Então sempre é bom usar daquele esforço para melhorar seus resultados, usufruindo das tentativas e oportunidades de cada avaliação.

Bem, vamos lá! Boa leitura!!!


13/04 - ANP - Atendimento de dúvidas de conteúdos até aqui.

Aula 33
Objetivos da Aula
  • Atendimento de dúvidas de conteúdos até aqui.


15/04 - ANP - Flexibilização para conclusão de atividades avaliativas

Aula 34
Objetivos da Aula
  • Flexibilização para conclusão de atividades avaliativas

20/04 - ANP - Flexibilização para conclusão de atividades avaliativas

Aula 35
Objetivos da Aula
  • Flexibilização para conclusão de atividades avaliativas

22/04 - ANP - Avaliação e REC A2

Aula 36
Objetivos da Aula
  • Avaliação e REC A2