Mini Curso de Linux -- DEFENDERE
Conteúdo abordado para áreas de Redes
de computadores, Suporte em TI, Analista
de Suporte, Administração em Redes
Linux.
Conteúdo feito por Jonathan E. Freitas Moura
São Paulo
2014
Sumário
Linux..................................................................................................................03
Visão Geral do Linux.........................................................................................04
Manipulação de arquivos no Linux....................................................................05
Manipulação de diretórios no Linux..................................................................08
Rede no Linux...................................................................................................11
Endereço IP e classe de rede IP......................................................................11
Interface de rede...............................................................................................12
Interface loopback.............................................................................................13
Permissões........................................................................................................13
Modos de permissões.......................................................................................15
Comandos de permissões.................................................................................16
2
www.defendere.com.br
1. Linux
O Linux é um clone do Unix criado como uma alternativa barata e
funcional para quem não estavam dispostos a pagar alto preço de um
sistema Unix comercial ou tinha computador suficientemente rápido.
Em 1983, Richard Stallman fundou a Free Foundation (Fundação de
Software Livre), cujo projeto, GNU, tinha por finalidade criar um clone
melhorado e livre do sistema operacional Unix, mas que não utilizasse
seu código-fonte.
O desafio do GNU era enorme, havia a necessidade de desenvolver
o Kernel (Núcleo do sistema operacional que controla o hardware),
utilitários de programação, de administração do sistema, de rede,
comandos-padrão e etc. Porém, no fim da década de 1980 o projeto
tinha fracassado: apenas os utilitários de programação e os comandospadrão estavam prontos e o Kernel, não.
Nessa época, vários esforços independentes para desenvolver
clones do Unix estavam em andamento. O Dr. Andrew Tanenbaum
desenvolveu o Minix como instrumento de ensino, baseando-se no
microprocessador 8086, por estar disponível e barato no mercado. O
Minix era útil no ensino dos princípios estruturais do sistema
operacionais, entretanto o 8086 não disponibilizava memória virtual ou
protegida e apenas tinha memória endereçada de 1MB de cada vez,
isso era uma enorme barreira para um sistema operacional moderno,
multitarefas. Por isso desde o início o Minix estava limitado a ser um
instrumento de ensino.
Linus Benedict Torvalds era aluno da Universidade de Helsinque na
Finlândia, no final da década de 1980. Ele percebeu que o intel 80386
era o único microprocessador disponível na época capaz de executar
um clone do Unix. Além disso, ainda que o 80386 não fosse barato, ele
era o único disponível. A sua opção por esse microprocessador foi uma
escolha correta, pois garantiu a ele, posteriormente o grande número de
voluntários que tornou o desenvolvimento do Linux viável até hoje.
Linus B. Torvalds estava disposto a construir um kernel clone do
Unix que possuísse memória virtual, multitarefas e capacidade de
multiusuários. Tudo isso era um trabalho gigantesco, na prática é
impossível apenas uma pessoa desenvolver tudo isso.
3
www.defendere.com.br
1.1. Visão Geral do Linux
O Linux tem várias características que se diferenciam dos outros
sistemas operacionais e que o aproximam do Unix, sendo um dos
motivos de sua escolha em várias aplicações nas quais são necessárias
estabilidade e segurança.
1.2. Shell
Shell é o nome genérico de uma classe de programas que
funcionam como interpretador de comandos e linguagem de
programação (scripts). O shell padrão do Linux é “bash”.
1.3. Kernel
É o núcleo do sistema operacional, a parte mais próxima do nível
físico (Hardware), composta de chamadas, de acesso aos
dispositivos de entrada, saída e gerencia de recurso da máquina.
O kernel é quem faz a comunicação do software com o hardware.
1.4. Hardware
Todo e qualquer dispositivo físico no computador.
4
www.defendere.com.br
2. Manipulação de arquivos no Linux
Existem diversas formas de se manipular arquivos no sistema
Linux, abaixo irei descrever alguns dos comandos utilizados para fazer
esta função de manipulação de arquivo.
touch
Comando utilizado para criar arquivo, juntos com este comando existe
várias opções que complementa o comando.
OPÇÃO
DESCRIÇÃO
-c
Não cria o arquivo caso ele não exista.
-m
Atualiza a hora de modificação.
-a
Atualiza a data de acesso.
--help ou -h Exibe lista de opções do comando.
Exemplo:
touch arquivo1.doc
touch arquivo-teste.txt
cat
Comando utilizado para criar e visualizar o conteúdo de um arquivo,
juntos com este comando existe várias opções que complementa o
comando.
OPÇÃO
DESCRIÇÃO
-A
Exibe os caracteres especiais.
-b
Numera apenas as linhas não vazias na saída padrão.
-n
Numera todas as linhas dentro do arquivo na saída padrão.
-t
Exibe caracteres de tabulação como ^|.
--help ou -h Exibe lista de opções do comando.
Exemplo:
cat “Mensagem dentro do arquivo” > arquivo1.txt
cat arquivo1.txt
cat –n arquivo1.txt
cat –b arquivo1.txt
5
www.defendere.com.br
tac
Comando utilizado para visualizar o conteúdo de um arquivo de trás
para frente, juntos com este comando existe várias opções que
complementa o comando.
OPÇÃO
DESCRIÇÃO
-A
Exibe os caracteres especiais.
-b
Coloca o separador antes de cada linha, em vez de depois.
-n
Numera todas as linhas dentro do arquivo na saída padrão.
--help ou -h Exibe lista de opções do comando.
Exemplo:
tac arquivo1.txt
tac –n arquivo1.txt
rm
Comando utilizado para arquivo, juntos com este comando existe várias
opções que complementa o comando.
OPÇÃO
DESCRIÇÃO
-f
Força e exclusão do arquivo sem solicitação de
confirmação do usuário.
-i
Pede confirmação antes de excluir o arquivo.
-r
Apaga recursivamente todos os arquivos dentro de um
diretório.
-v
Modo VERBOSE, exibe o nome de cada arquivo que está
sendo apagado.
--help ou -h Exibe lista de opções do comando.
Exemplo:
rm arquivo1.txt
rm –r /diretórios/nomedoarquiv*
rm arquivo1.txt arquivo2.txt arquivo3.txt
6
www.defendere.com.br
cp
Comando utilizado para copiar arquivos, juntos com este comando
existe várias opções que complementa o comando.
OPÇÃO
DESCRIÇÃO
-a
Preserva todos os atributos o arquivo.
-b
Faz backup antes de copiar o arquivo.
-d
Copia um link, mas não o arquivo apontado por ele.
-i
Pede confirmação antes de sobrescrever um arquivo.
-r ou R
Copia recursivamente arquivos do diretório e todos os
subdiretórios.
-v
Modo VERBOSE, exibe os nomes dos arquivos antes de
copiar.
--help ou -h Exibe lista de opções do comando.
Exemplo:
cp arquivo1.txt /tmp
cp -v /home/user/arquivo.txt /tmp
mv
Comando utilizado para mover e renomear arquivos, juntos com este
comando existe várias opções que complementa o comando.
OPÇÃO
DESCRIÇÃO
-b
Faz backup dos arquivos que estão sendo movidos ou
renomeados.
-f
Remove arquivos existentes sem pedi confirmação do
usuário.
-i
Pede confirmação antes de mover ou renomear um
arquivo.
-v
Modo VERBOSE, exibe os nomes dos arquivos antes de
movê-los.
--help ou -h Exibe lista de opções do comando.
Exemplo:
mv arquivo1.txt arquivorenomeado.txt
mv -v /home/user/arquivo.txt /tmp
7
www.defendere.com.br
3. Manipulação de diretórios no Linux
Existem diversas formas de se manipulação de diretórios no
sistema Linux, abaixo irei descrever alguns dos comandos utilizados
para fazer esta função de manipulação de diretórios.
mkdir
Comando utilizado para criar diretórios, juntos com este comando existe
várias opções que complementa o comando.
OPÇÃO
DESCRIÇÃO
-p
Cria os diretórios PAI se ainda não existirem.
-m
Cria um diretório com o modo de acesso “modo”.
--help ou -h Exibe lista de opções do comando.
Exemplo:
mkdir diretorio1
rmdir
Comando utilizado para remover diretórios, juntos com este comando
existe várias opções que complementa o comando.
OPÇÃO
DESCRIÇÃO
-p
Cria o diretório PAI se ainda não existirem.
-v
Modo VERBOSE, mostra o nome da todos os diretórios
removido.
--help ou -h Exibe lista de opções do comando.
Exemplo:
rmdir diretorio1
rmdir diretorio1 diretorio2 diretorio3
8
www.defendere.com.br
mv
Comando utilizado para mover e renomear diretórios e arquivos, juntos
com este comando existe várias opções que complementa o comando.
OPÇÃO
DESCRIÇÃO
-b
Faz backup dos diretórios, subdiretórios e arquivos que
estão sendo movidos ou renomeados.
-f
Remove os diretórios, subdiretórios e arquivos existentes
sem pedi confirmação do usuário.
-i
Pede confirmação antes de mover ou renomear os
diretórios, subdiretórios e arquivos.
-v
Modo VERBOSE, exibe os nomes dos diretórios,
subdiretórios e arquivos antes de movê-los ou renomear.
--help ou -h Exibe lista de opções do comando.
Exemplo:
mv diretorio1 diretoriorenomeado
mv –v -i /home/user/ /tmp
cd
Comando utilizado para acessar os diretórios (entrar), juntos com este
comando existe várias opções que complementa o comando.
OPÇÃO
DESCRIÇÃO
/
..
../ ou ../../
Retornar ao diretório raiz do sistema.
Retorna para o ultimo diretório acessado pelo usuário.
Sobe um diretório sistema de diretório no Linux.
Sobe um ou mais diretórios e já entra dentro do mesmo.
Exemplo:
cd diretorio1
cd –
cd ../../../var
cd /
9
www.defendere.com.br
ls ou dir
Comando utilizado para lista conteúdo dentro de diretórios, juntos com
este comando existe várias opções que complementa o comando.
OPÇÃO
DESCRIÇÃO
-a
Exibe arquivos ocultos.
-l
Exibe os arquivos e diretórios mostrando todas as suas
permissões, modo detalhado.
-t
Exibe o conteúdo do diretório de forma ordenada pela data
de alteração.
-r
Exibe o conteúdo do diretório de forma ordenada alfabética
inversa.
-R
Exibe todos conteúdo do diretório RECURSIVAMENTE.
--help ou -h Exibe lista de opções do comando.
Exemplo:
ls diretorio1
ls -l /home/user
ls –la /etc
ls –R /var
pwd
Comando utilizado informar ao usuário em qual diretório o usuário
está(Qual o diretório atual ele está acessando).
Exemplo:
Pwd
10
www.defendere.com.br
4. Rede no Linux
Rede é a conexão de duas máquinas com o objetivo de compartilhar
recursos entre si, Os recursos podem ser:




Compartilhamento de conteúdo de informações que tem em seu
disco rígido com outros computadores, também chamado de
Servidor de Arquivos.
Compartilhamento de impressoras com todos os usuários em rede,
também chamado de Servidor de Impressão.
Compartilhamento de acesso à internet, onde os usuários iram
navegar na internet, utilizar e-mail, ler notícias nos sites, isso
também pode ser chamado de Servidor Proxy.
Servidor Internet/Intranet, com esses serviços os usuários poderão
navegar nas páginas de internet localizadas em seu computador,
usar Servidor IRC para acesso a chat na rede.
Com esses itens citados acima é possível criar permissões de acesso
da rede, definindo quem terá ou não permissão para acessar cada
compartilhamento ou serviço existente na máquina (www,ftp,irc,icq e
etc).
4.1 Endereço IP e Classe de Rede IP
CLASSE
MASCARA DE REDE
ENDEREÇO DA REDE
A
255.0.0.0
0.0.0.0 – 127.255.255.255
B
255.255.0.0
128.0.0.0 – 191.255.255.255
C
255.255.255.0
192.0.0.0 – 2233.255.255.255
Multicast
240.0.0.0
240.0.0.0 – 239.255.255..255
Para você instalar uma máquina com Linux em uma rede TCP/IP
existente então você deve conectar qualquer um dos administradores da
sua rede e realizar algumas perguntas:






Endereço IP da sua máquina.
Endereço IP da sua rede
Endereço IP broadcast
Máscara da Rede IP
Endereço do Roteador
Endereço do Servidor de Nomes (DNS).
11
www.defendere.com.br
5. Interface de rede
As interfaces de rede no GNU/Linux estão localizadas no diretório
/dev e a maioria são criadas dinamicamente pelos softwares quando
são requisitas. Este é o caso da interface ppp e plip que são criadas
dinamicamente pelos softwares. Abaixo irei exibir algumas
identificações de interfaces de rede no Linux (O caractere ? significa um
número que a interface irá identificar):












eth?
Placa de rede Ethernet e Wave Lan.
ppp?
Interface de rede ppp (Protocolo ponto a ponto).
slip?
Interface de rede serial.
eql
Balanceador de tráfego para múltiplas linhas.
plip?
Interface de porta paralela.
arc?e, arc?s Interfaces Arcnet.
si?, ax? Interfaces de rede AX25 (respectivamente para kernel
2.0.xx e 2.2.xx).
fddi??, sdla? Interfaces de Frame Relay, respectivamente para
dispositivos de encapsulamento DLCI e FRAD.
nr?
Interface Net Rom
rs?
Interfaces Rose
st?
Interfaces Strip (Starmode Radio IP)
tr?
Token Ring
12
www.defendere.com.br
5.1 Interface loopback
A interface loopback é um tipo de interface que permite fazer
conexões com você mesmo. Todos os computadores que usam TCP/IP
utilizam esta interface e existem várias razões porque precisa fazer isto,
por exemplo, você pode testar vários programas de rede sem interferir
com ninguém em sua rede. O endereço 127.0.0.1 foi escolhido
especificamente para o loopback, assim uma conexão telnet para
127.0.0.1 abrirá uma conexão com o próprio computador local.
A configuração da interface loopback é simples, esta tarefa é
normalmente feita pelos scripts padrões de inicialização existentes em
sua distribuição de Linux.
6. Permissões
As permissões de acesso protegem o sistema de arquivos Linux do
acesso indevido de pessoas ou programas não autorizados.
A permissão de acesso do GNU/Linux também impede que um
programa mal intencionado, por exemplo, apague um arquivo que não
deve, envie arquivos especiais para outra pessoa ou forneça acesso da
rede para que outros usuários invadam o sistema. O sistema GNU/Linux
é muito seguro e como qualquer outro sistema seguro e confiável
impede que usuários mal intencionados (ou iniciantes que foram
enganados) instalem programas enviados por terceiros sem saber para
que eles realmente servem e causem danos irreversíveis em seus
arquivos, seu micro ou sua empresa.
6.1.
Donos, Grupos e outros usuários
A idéia básica da segurança no sistema GNU/Linux é definir o acesso
aos arquivos por donos, grupos e outros usuários:
DONO: É a pessoa que criou o arquivo ou o diretório. O nome do dono
do arquivo/diretório é o mesmo do usuário usado para entrar no sistema
GNU/Linux. Somente o dono pode modificar as permissões de acesso
do arquivo. As permissões de acesso do dono de um arquivo somente
se aplicam ao dono do arquivo/diretório. A identificação do dono também
13
www.defendere.com.br
é chamada de user id (UID). A identificação de usuário ao qual o arquivo
pertence é armazenada no arquivo /etc/passwd e do grupo no arquivo
/etc/group. Estes são arquivos textos comuns e podem ser editados em
qualquer editor de texto, mas utilize preferencialmente os comandos
vipw e vigr que executa procedimentos adicionais de checagem de uids
e grupos após a alteração. Tenha cuidado para não modificar o campo
que contém a senha do usuário encriptada (que pode estar armazenada
no arquivo /etc/passwd caso não estiver usando senhas ocultas).
GRUPO: Permite que vários usuários diferentes tenham acesso a um
mesmo arquivo (já que somente o dono poderia ter acesso ao arquivo).
Cada usuário pode fazer parte de um ou mais grupos e então acessar
arquivos que pertençam ao mesmo grupo que o seu (mesmo que estes
arquivos tenham outro dono). Por padrão, quando um novo usuário é
criado e não especificar nenhum grupo, ele pertencerá ao grupo de
mesmo nome do seu grupo primário (este comportamento é controlado
pelo parametro USERGROUPS=yes do arquivo /etc/adduser.conf, veja
‘id’ on page 92). A identificação do grupo é chamada de GID (group id).
Um usuário pode pertencer a um ou mais grupos. Para detalhes de
como incluir o usuário em mais grupos veja ‘Adicionando o usuário a um
grupo extra’on page 90.
OUTROS: É a categoria de usuários que não são donos ou não
pertencem ao grupo do arquivo. Cada um dos tipos acima possuem três
tipos básicos de permissões de acesso.
6.2.
Tipos de permissões
Quanto aos tipos de permissões que se aplicam ao dono, grupo e outros
usuários, temos 3 permissões básicas:
• r - Permissão de leitura para arquivos. Caso for um diretório, permite
listar seu conteúdo (através do comando ls, por exemplo).
• w - Permissão de gravação para arquivos. Caso for um diretório,
permite a gravação de arquivos ou outros diretórios dentro dele. Para
que um arquivo/diretório possa ser apagado, é necessário o acesso a
gravação.
• x - Permite executar um arquivo (caso seja um programa executável).
Caso seja um diretório, permite que seja acessado através do comando
cd.
14
www.defendere.com.br
As permissões de acesso a um arquivo/diretório podem ser visualizadas
com o uso do comando ls -la.
6.3.

Modos de permissões:
Modo simbólico: É uma lista de expressões na
<identificador> <operando> <valor> separadas por vírgula.
Identificador:
u
Usuário.
g
Grupo.
o
Outros.
a
Todos.
forma
Operando:
+
Adiciona permissão ás permissões existentes.
Retira permissões das permissões existentes.
=
Assinala explicitamente uma permissão (anulando as
outras).
Valor:
r
Permissão de leitura.
w
Permissão de escrita.
x
Permissão de execução.
s
Bit setuid se atribuído a u, bit setgid se atribuído a g.
t
Bit striky.

Modo absoluto: É definido na forma <atributo_especial> <dono>
<grupo> <outros>. Obs: O atributo especial é opcional.
Atributo especial:
0
Nenhum atributo especial ligado.
1
Bit sticky ligado.
2
Bit setgid ligado.
3
Bits sticky e setgid ligados.
4
Bit setuid ligado.
5
Bits sticky e setuid ligados.
6
Bits setuid e setgid ligados.
7
Bits setuid, setgid e sticky ligados.
15
www.defendere.com.br
Dono, Grupo e Outros:
0
Nenhuma permissão.
1
Permissão para execução.
2
Permissão para escrita.
3
Permissão para execução e escrita.
4
Permissão para leitura.
5
Permissão para execução e leitura.
6
Permissão para leitura e escrita.
7
Permissão parta leitura, escrita e execução.
6.4. Comandos de pressões:
chmod: Altera permissões de acesso a arquivos ou diretório.
OPÇÃO
DESCRIÇÃO
-c
Exibe informações sobre os arquivos modificados.
-f
Não imprime mensagens de erro.
-R
Recursivo
-v
Descreve detalhadamente as alterações de atributos.
Modo_arquivo
Pode ser simbólico ou absoluto.
chown: Muda o dono do arquivo ou diretório.
OPÇÃO
DESCRIÇÃO
-c
-f
-R
-v
Exibe informações sobre os arquivos modificados.
Não imprime mensagens de erro.
Recursivo
Descreve detalhadamente as alterações de atributos.
Exemplo:
chown joao arquivo.doc
chown carlos diretório-etc
16
www.defendere.com.br
chgrp: Muda o grupo de um arquivo ou diretório.
OPÇÃO
DESCRIÇÃO
-c
-f
-R
-v
Exibe informações sobre os arquivos modificados.
Não imprime mensagens de erro.
Recursivo
Descreve detalhadamente as alterações de atributos.
Exemplo:
chgrp joao arquivo.doc
chgrp carlos diretório-etc
umask:
Altera o valor da máscara de criação de arquivos. Os valores do umask
são baseados no valor 666, isto é, a saída e a entrada do comando são
subtraídas deste valor. A máscara-padrão de criação de arquivo do Unix
é 022, isto é, a permissão de criação e acesso dos arquivos é 666022=644 (rw-r--r--); o que significa que o usuário tem direito de ler e
escrever, mas não de executar; o grupo de usuários e os outros tem
direito de apenas ler, mas não de escrever e executar.
17
www.defendere.com.br
Download

Mini Curso de Linux -