66
Administração de Redes Jorge Ávila Linux/Servidores Linux

Aula 11 semana

Embed Size (px)

Citation preview

Page 1: Aula 11 semana

Administração de RedesJorge Ávila

Linux/Servidores Linux

Page 2: Aula 11 semana
Page 3: Aula 11 semana

ExercicioCrie dos diretórios direrotio1 e diretorio2Dentro do diretorio1 crie dois arquivos arquivo1 e arquivo2Copie o diretorio1 para dentro do diretorio2Exclua o diretorio2

Page 4: Aula 11 semana

Operações avançadasfind grep head tail Redirecionamento de E/S Pipe Criação de links Empacotamento, compactação e descompactação de arquivos

Page 5: Aula 11 semana

Operações AvançadasO comando “find”

O comando find pode ser utilizado para pesquisar arquivos pelo nome, data de criação ou modificação, proprietário, tamanho do arquivo e até o tipo do arquivo

A estrutura básica do comando$ find [diretório inicial] [parâmetros] [ações]

Vejamos o que significam estes campos...

Page 6: Aula 11 semana

Operações Avançadas$ find [diretório inicial] [parâmetros] [ações]Diretório inicial – especifica o diretório onde a pesquisa será iniciada Os parâmetros – critérios da busca As ações – especifica que ações serão executadas nos arquivos encontrados na busca

Page 7: Aula 11 semana

Operações AvançadasExemplos:

$ find / -name passwd

$ find /home/user -name arq*

$find /etc –name ‘mo*’

$ find /etc -size +1M

Page 8: Aula 11 semana

Operações AvançadasComando “grep”

Comando Grep é usado para verificar o conteúdo de um ou mais arquivos na tentativa de encontrar a ocorrência de um padrão de texto específico dentro dos arquivos.

Em geral, o padrão para o comando é:$ grep [opções] <texto para pesquisa> <arquivos>

Page 9: Aula 11 semana

Operações AvançadasComando “grep”

Exemplos: grep <seu usuário> /etc/passwd

cat /etc/passwd | grep <seu usuário>

Page 10: Aula 11 semana

Operações AvançadasParâmetros importantes:

-l –mostra o nome dos arquivos que contêm o texto de busca -i – não diferencia letras maiúsculas e minúsculas para o termo pesquisado

Page 11: Aula 11 semana

Operações AvançadasComando “head”

Exibe as primeiras linhas de um arquivo Por padrão, exibe as primeiras 10 linhas Para especificar a quantidade de linhas, utilize o

parâmetro –n <número> Ex:

$ head –n 5 /etc/passwd

Page 12: Aula 11 semana

Operações AvançadasSe temos um comando para ver o início do arquivo???

O comando “tail” é utilizado para visualizar o final do arquivo

Assim como no comando head, utilize o parâmetro –n <número> para exibir a quantidade de linhas desejadas

O tail tem um parâmetro especial para que possamos visualizar o arquivo enquanto o mesmo é alterado.

Page 13: Aula 11 semana

Operações AvançadasExemplo:Conecte-se a dois terminais (ALT+F1 e ALT+F2) No primeiro digite o comando

$ echo texto >> teste1.txt No segundo terminal, digite o comando

$ tail –f teste1.txt No primeiro, execute

$ echo texto >> teste1.txt Observe o que aconteceu no segundo terminal

Page 14: Aula 11 semana

Operações AvançadasDutos ou pipes ( | )

Utilizado como conexão de utilitários. É uma maneira de redirecionar as entradas e saídas, de modo que a saída de um comando torna-se a entrada do comando seguinte.

Pode-se usar vários dutos em uma mesma linha de comando, de maneira que é possível combinar tantos comandos quantos forem necessários.

Page 15: Aula 11 semana

Operações AvançadasDutos ou pipes ( | )

Exemplos $ cat /etc/passwd | grep <seu usuario> ls /etc | more cat /etc/passwd | sort

Page 16: Aula 11 semana

Operações AvançadasEmpacotamento, compactação e descompactação de arquivosO programa “tar” é utilizado para arquivamento utilizado para agrupar e extrair arquivos de um tarfile; Pode ser considerado o comando mais utilizado para realizar backups no sistema Linux (Tape ARchives); Possui uma série de parâmetros para a realização de suas funções.

Page 17: Aula 11 semana

Operações AvançadasO comando “tar” – agrupando arquivos

$ tar –cvf backupEtc.tar /etc

Page 18: Aula 11 semana

Operações AvançadasO comando “tar” – agrupando arquivos

Observe que o arquivo backupEtc.tar foi criado. Ele contêm todos os arquivos e subdiretórios do

diretório /etc. Uma forma fácil de visualizar o conteúdo de um

arquivo tar é utilizando o comando “less” $ less backupEtc.tar

Page 19: Aula 11 semana

Operações AvançadasO comando “tar” – extraindo arquivos

$ tar –xvf backupEtc.tar

Page 20: Aula 11 semana

Operações AvançadasO comando “tar” – extraindo arquivos

Observe que um diretório “etc” foi criado no diretório atual.

Caso você queira extrair o conteúdo de um tarfile em um outro local, basta passar o “–C <destino>” como parâmetro:

$ tar –xvf backupEtc.tar –C /tmp

Page 21: Aula 11 semana

Operações AvançadasMas o que os parâmetros utilizados até agora querem dizer:

-c : criar um arquivo -v : lista detalhadamente os arquivos

processados -f : especifica o arquivo ou dispositivo a ser

utilizado -x : extrai arquivos de um pacote

Page 22: Aula 11 semana

Operações AvançadasObserve que, apesar de agrupados, os arquivos de um tarfile não são compactados.Para fazer a compactação, é necessário a utilização de um parâmetro adicional:

-z : compacta utilizando o gzipExemplo:

$ tar –zcvf backupEtc.tar.gz /etc

Page 23: Aula 11 semana

Exercício 1Crie um tarfile do diretório /etc – com e sem compactação e compare o tamanho dos dois arquivos gerados.Crie um diretório temporário e descompacte o arquivo compactado neste diretório. Lembre-se do parâmetro “–C”.

Page 24: Aula 11 semana

Exercício 2Crie um diretório para armazenar o backup compactado do arquivo /home/alunoApós isso descompacte esse mesmo diretório e leia o mesmo com os comandos que você conhece

Page 25: Aula 11 semana

Exercício 3Crie dois diretório sendo que um deles serve para armazenar o backup compactado do arquivo /homeApós isso descompacte dentro do dentro do segundo diretorio

Page 26: Aula 11 semana

Editor de texto VIMO vi é sigla de “Visual Interface”Quando ao vi foi criado (começo da década de 80), os textos digitados não podiam ser vistos!Em 1992 foi criado o vim (vi imitator), um clone do vi, porém com muitas outras funcionalidadesApós um tempo, o vim passou a ser chamado de vi improved (vi melhorado)Atualmente, é um dos editores mais utilizados no mundo Unix

Page 27: Aula 11 semana

Editor de texto VIMO vim é um editor de textos extremamente poderoso; Ele pode abrir vários arquivos ao mesmo tempo; Possui sistema de autocorreção; Recursos de seleção visual, macros, expressões regulares, etc... Dica para quem gostar do vim: ele não é exclusivo da plataforma Unix. Funciona nas plataformas MacOS, Linux, Windows.

Page 28: Aula 11 semana

Editor de texto VIMOperações básicas do vim $ vim -> abre o vim vazio, sem nenhum arquivo; $ vim <arquivo> –> abre o arquivo para edição $ vim <arquivo> + -> abre o arquivo com o cursos no final do mesmo $ vim <arquivo> +10 -> abre o arquivo com o cursos na linha 10 $ vim <arquivo> +/iso9660 -> abre o arquivo com o cursos na primeira ocorrência da palavra iso9660

Page 29: Aula 11 semana

Editor de texto VIMOperações básicas do vim Ao iniciar o vim executa o modo de comando Para iniciar o modo de edição pressione “i” no seu teclado; Desta forma o vim entra em modo de inserção (observe a marcação -- INSERT -- no rodapé).

Page 30: Aula 11 semana

Editor de texto VIMComandos para salvar o arquivo

:w => Salva o arquivo que está sendo editado no momento.

:wq => Salva e sai. x => Idem. :w! => Salva forçado. :wq! => Salva e sai forçado.

Page 31: Aula 11 semana

Editor de texto VIMModos edição:

“i” - entra em modo de inserção Tecla “ESC” sai do modo de inserção e retorna

ao modo de comandoComandos para sair sem salvar Caso você não queira salvar as alterações no arquivo, utilize:

q! => sai sem salvar.

Page 32: Aula 11 semana

Editor de texto VIMCopiando e colando textos

Posicione o cursor na linha a ser copiada; Alterne para o modo de comando (ESC); Pressione a tecla “y” duas vezes Posicione o cursor onde deseja colar a linha

copiada Pressione a tecla “p” Cole quantas vezes for necessário digitando a

letra “p”

Page 33: Aula 11 semana

Editor de texto VIMDeletando linhas inteiras

Posicione o cursor na linha a ser removida Entre em modo de comando Pressione a tecla “d” duas vezes

Page 34: Aula 11 semana

Editor de texto VIMExercício Crie um novo arquivo no vim com o seguinte comando

$ vim teste1 teste2 Digite um texto em teste1 Copie esse texto para texte2

Page 35: Aula 11 semana

Editor de texto VIMVim: Importando o resultado de comandos do sistemaO editor vim pode importar arquivos e tambem o resultado de comandos do sistema.Para importar um arquivo:

:r /etc/passwdPara importar o resultado de um comando:

:r ! find /home -user grwO comando acima ira procurar por arquivos pertencentes ao sera inserido diretamente no arquivo sendo editado.

Page 36: Aula 11 semana

Editor de texto VIMExemplos de operações avançadas Pesquisa de conteúdo no arquivo com a / Abrindo múltiplos arquivos com o comando splitMudando de arquivos com o comando::bn Carregando o conteúdo de outros arquivos no arquivo atual com o comando (:r)

Page 37: Aula 11 semana

Editor de texto VIMExercício

Crie um novo arquivo com o comando vim com o seguinte conteúdo:

Teste do editor de textos vim. Duplique esta linha 10x Utilizando a substituição automática, substitua

a palavra Teste por TESTE das linhas 5 a 10 Salve o arquivo Utilize o comando grep para buscar a palavra

teste tanto maiúsculas quanto minúsculas

Page 38: Aula 11 semana

Editor de texto VIMPara saber mais sobre o vim

man vim http://www.infowester.com/linuxvi.php

Page 39: Aula 11 semana

Gerenciamento de ContasGerenciamento de Usuários, Grupos e Permissões

Trataremos nesta parte de comandos para gerenciamento de contas de usuários, grupos e permissões de acesso à arquivos e diretórios do GNU/Linux

Page 40: Aula 11 semana

Gerenciamento de ContasComando: adduser

Adiciona um usuário ao sistema Por padrão, seu diretório será /home/<nome_do_usuario> A identificação do usuário (UID) escolhida será

a primeira disponível no sistema especificada de acordo com a faixa de UIDS de usuários permitidas no arquivo de configuração /etc/adduser.conf.

Este é o arquivo que contém os padrões para a criação de novos usuários no sistema.

Page 41: Aula 11 semana

Gerenciamento de ContasComando: adduser

Principais parâmetros -disable-passwd: Não executa o programa

passwd para escolher a senha e somente permite o uso da conta após o usuário escolher uma senha.

--force-badname: Desativa a checagem de senhas ruins durante a adição do novo usuário. Por padrão o adduser checa se a senha pode ser facilmente adivinhada.

--group: Cria um novo grupo ao invés de um novo usuário.

A criação de grupos também pode ser feita pelo comando addgroup.

-uid [num]: Cria um novo usuário com a identificação [num] ao invés de procurar o próximo UID disponível.

Page 42: Aula 11 semana

Gerenciamento de Contas e Permissões

Comando: adduser Principais parâmetros -gid [num]: Faz com que o usuário seja parte do grupo [gid] ao invés de pertencer a um novo grupo que será criado com seu nome. Isto é útil caso deseje permitir que grupos de usuários possam ter acesso a arquivos comuns. Caso estiver criando um novo grupo com adduser, a identificação do novo grupo será [num].

Page 43: Aula 11 semana

Gerenciamento de Contas e Permissões

--home [dir]: Usa o diretório [dir] para a criação do diretório home do usuário ao invés de usar o especificado no arquivo de configuração /etc/adduser.conf. --ingroup [nome]: Quando adicionar um novo usuário no sistema, coloca o usuário no grupo [nome] ao invés de criar um novo grupo. --quiet: Não mostra mensagens durante a operação. --system: Cria um usuário de sistema ao invés de um usuário normal. --shell: Interpretador de comandos do usuário

Page 44: Aula 11 semana

Gerenciamento de Contas e Permissões

Comando: adduser Exemplos:

# adduser jorge.avila --force-badname # adduser luiz

Após a execução dos comandos, observe os arquivos /etc/passwd e /etc/group Experimente alterar o shell do usuário luiz para /bin/false no arquivo /etc/passwd e tente realizar um logon com esta conta. Dica – utilize o editor vim

Page 45: Aula 11 semana

Gerenciamento de Contas e Permissões

Comando: addgroup Adiciona um novo grupo de usuários ao sistema

Exemplo: # addgroup financeiro

Observe o arquivo de grupos (/etc/group) e veja qual foi o ID do grupo associado ao usuário

Adicionando um usuário existente a um grupo: # adduser <usuario> --in-group financeiro

Page 46: Aula 11 semana

Gerenciamento de Contas e Permissões

Comando usermod Modifica características de contas de usuários Parâmetros

-c <comentário> : adiciona um novo valor ao campo comentário do passwd do usuário

-d <home_dir>: o novo diretório home do usuário (com o –m, o conteúdo do diretório atual é movido para o novo)

-e <expire-date>: data para expiração da conta (YYYY-MMDD)

-G: lista suplementar de grupos do usuário – separados por vírgula

-L: bloqueia a conta do usuário -U: desbloqueia a conta do usuário

Page 47: Aula 11 semana

Gerenciamento de ContasExercício 1 Crie uma nova conta de usuário no sistema com o nome security.team Crie um novo grupo chamado sec Com o comando usermod, altere o grupo do usuário security.team para grupo sec Configure uma data de expiração desta conta

Page 48: Aula 11 semana

Gerenciamento de Contas e Permissões

Comando: passwd Muda a senha do usuário ou grupo. Um usuário

somente pode alterar a senha de sua conta, mas o superusuário (root) pode alterar a senha de qualquer conta de usuário, inclusive a data de validade da conta, etc. Os donos de grupos também podem alterar a senha do grupo com este comando.

Dica de Segurança: Procure sempre combinar letras maiúsculas, minúsculas, e números ao escolher suas senhas. Não é recomendado escolher palavras normais como sua senha pois podem ser vulneráveis a ataques de dicionários cracker.

Page 49: Aula 11 semana

Gerenciamento de Contas e Permissões

Comando userdel Utilizado para exclusão de usuários do sistema Caso você queira excluir os arquivos do

diretório home do usuário, especifique o parâmetro “–r”

Page 50: Aula 11 semana

Gerenciamento de Contas e Permissões

Exercício Crie dois usuários para teste: usuario1 e

usuario2 Exclua o usuario1 sem remover o diretório

home Exclua o usuario2 excluindo seu diretório home Verifique o resultado listando o diretório /home

Page 51: Aula 11 semana

Gerenciamento de ContasComando groupdel

Utilizado para exclusão de grupos do sistema Exemplo de utilização # groupdel <nome_do_grupo>

Page 52: Aula 11 semana

Gerenciamento de ContasControle de permissões

O controle de acesso protege o sistema de arquivos do Linux do acesso indevido de pessoas ou sistemas (ex: códigos maliciosos)

Esta proteção torna o sistema mais seguro e confiável, evitando a ocorrência de erros por acidente ou até mesmo por usuários ou programas mal intencionados.

Page 53: Aula 11 semana

Gerenciamento de ContasDono

É o usuário que criou o arquivo ou diretório A identificação do dono do arquivo é também

chamada de user id (UID) A identificação do usuário e grupo de um

arquivo estão, respectivamente, nos arquivos /etc/passwd e /etc/group

Listando o UID do dono de um arquivo $ ls -n

Page 54: Aula 11 semana

Gerenciamento de ContasGrupo

Para permitir que vários usuários diferentes tivessem acesso a um mesmo arquivo foi criado o recurso do grupo;

Cada usuário pode fazer parte de um ou mais grupos;

A identificação do grupo é chamada GID O mesmo parâmetro (-n) no comando ls mostra

o GID do arquivo

Page 55: Aula 11 semana

Gerenciamento de ContasOutros usuários

Categoria de usuários que não são donos ou não pertencem ao grupo do arquivo.

Page 56: Aula 11 semana

Gerenciamento de ContasCada um destas categorias possuem três tipos básicos de permissão de acesso

Permissão para leitura do arquivo. No caso de diretórios, permite a listagem de seu conteúdo;

Permissão para gravação no arquivo. No caso de diretórios, permite a gravação de arquivos ou outros diretórios;

Permissão para execução do arquivo (programa). No caso de diretório permite que seja acessado através do comando “cd”

Page 57: Aula 11 semana

Gerenciamento de ContasExemplo

$ ls –l teste1 -rw-r--r-- 1 jorge jorge ... Teste1

Calma.... Vamos por parte!

Page 58: Aula 11 semana

Gerenciamento de Contas

Page 59: Aula 11 semana

Gerenciamento de ContasAlterando as permissões com o comando “chmod”

Page 60: Aula 11 semana

Gerenciamento de ContasUtilizando os octais

0 – nenhuma permissão

1 – apenas execução 2 – apenas gravação 3 – execução e

gravação 4 – apenas leitura 5 – execução e leitura 6 – leitura e gravação 7 – Todos; leitura,

gravação e execução

Chmod 751 <nome do arquivo>Para o proprietário: Tudo; leitura, gravação, execução(7)Para o grupo: execução e leitura(5)Para o publico: apenas execução(1)

Page 61: Aula 11 semana

Gerenciamento de ContasRepresentação numérica das permissões

Page 62: Aula 11 semana

Gerenciamento de ContasTabela de comandos e permissões

Page 63: Aula 11 semana

Gerenciamento de ContasExemplos # chmod u=rwx,g=r,o=r teste.txt

Dono – permissão total Grupo – permissão de leitura Outros – permissão de leitura

# chmod o-r teste.txt Removendo a permissão de leitura dos outros

Page 64: Aula 11 semana

Gerenciamento de ContasExercício1. Crie o arquivo /tmp/perm.txt com o seu usuário2. Crie um usuário chamado aluno2.3. Utilizando o usuário aluno2 tente ler o arquivo4. Com o seu usuário, remova a permissão de leiturapara “outros”5. Verifique se o aluno2 continua com poder de leiturasobre o arquivo (experimente um “cat” no arquivo)6. Crie um grupo chamado adm e inclua os doisusuários neste grupo7. Verifique se o aluno2 agora pode ler o arquivo.

Page 65: Aula 11 semana

Gerenciamento de ContasChown

Muda dono de um arquivo/diretório. Opcionalmente pode também ser usado para mudar o grupo.

chown [opções] [dono.grupo] [diretório/arquivo]Opções

-v, –verbose Mostra os arquivos enquanto são alterados.

-f, –supress Não mostra mensagens de erro durante a execução do programa.

-c, –changes Mostra somente arquivos que forem alterados.

-R, –recursive Altera dono e grupo de arquivos no diretório atual e sub-diretórios.

Page 66: Aula 11 semana

Gerenciamento de Contaschown joao teste.txt - Muda o dono do arquivo teste.txt para joaochown joao.users teste.txt - Muda o dono do arquivo teste.txt para joao e seu grupo para users.chown -R joao.users * - Muda o dono/grupo dos arquivos do diretório atual e subdiretórios para joao/users (desde que você tenha permissões de gravação no diretórios e sub-diretórios).