Administração de Redes
Jorge Ávila
Linux/Servidores Linux
Exercicio
Crie dos diretórios direrotio1 e diretorio2
Dentro do diretorio1 crie dois arquivos arquivo1 e
arquivo2
Copie o diretorio1 para dentro do diretorio2
Exclua o diretorio2
Operações avançadas
find
 grep
 head
 tail
 Redirecionamento de E/S
 Pipe
 Criação de links
 Empacotamento, compactação e descompactação de
arquivos
Operações Avançadas
O 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...
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
Operações Avançadas
Exemplos:
$ find / -name passwd
$ find /home/user -name arq*
$find /etc –name ‘mo*’
 $ find /etc -size +1M
Operações Avançadas
Comando “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>
Operações Avançadas
Comando “grep”
Exemplos:
grep <seu usuário> /etc/passwd
cat /etc/passwd | grep <seu usuário>
Operações Avançadas
Parâ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
Operações Avançadas
Comando “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
Operações Avançadas
Se 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.
Operações Avançadas
Exemplo:
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
Operações Avançadas
Dutos 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.
Operações Avançadas
Dutos ou pipes ( | )
Exemplos
 $ cat /etc/passwd | grep <seu usuario>
 ls /etc | more
 cat /etc/passwd | sort
Operações Avançadas
Empacotamento, compactação e descompactação de
arquivos
O 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.
Operações Avançadas
O comando “tar” – agrupando arquivos
$ tar –cvf backupEtc.tar /etc
Operações Avançadas
O 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
Operações Avançadas
O comando “tar” – extraindo arquivos
$ tar –xvf backupEtc.tar
Operações Avançadas
O 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
Operações Avançadas
Mas 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
Operações Avançadas
Observe 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 gzip
Exemplo:
 $ tar –zcvf backupEtc.tar.gz /etc
Exercício 1
Crie 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”.
Exercício 2
Crie um diretório para armazenar o backup compactado
do arquivo /home/aluno
Após isso descompacte esse mesmo diretório e leia o
mesmo com os comandos que você conhece
Exercício 3
Crie dois diretório sendo que um deles serve para
armazenar o backup compactado do arquivo /home
Após isso descompacte dentro do dentro do segundo
diretorio
Editor de texto VIM
O 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 funcionalidades
Após um tempo, o vim passou a ser chamado de vi
improved (vi melhorado)
Atualmente, é um dos editores mais utilizados no
mundo Unix
Editor de texto VIM
O 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.
Editor de texto VIM
Operaçõ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
Editor de texto VIM
Operaçõ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é).
Editor de texto VIM
Comandos 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.
Editor de texto VIM
Modos edição:
“i” - entra em modo de inserção
Tecla “ESC” sai do modo de inserção e retorna ao modo de
comando
Comandos para sair sem salvar
 Caso você não queira salvar as alterações no arquivo,
utilize:
q! => sai sem salvar.
Editor de texto VIM
Copiando 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”
Editor de texto VIM
Deletando linhas inteiras
 Posicione o cursor na linha a ser removida
 Entre em modo de comando
 Pressione a tecla “d” duas vezes
Editor de texto VIM
Exercício
 Crie um novo arquivo no vim com o seguinte comando
$ vim teste1 teste2
 Digite um texto em teste1
Copie esse texto para texte2
Editor de texto VIM
Vim: Importando o resultado de comandos do sistema
O editor vim pode importar arquivos e tambem o resultado de comandos do sistema.
Para importar um arquivo:
:r /etc/passwd
Para importar o resultado de um comando:
:r ! find /home -user grw
O comando acima ira procurar por arquivos pertencentes ao sera inserido diretamente
Editor de texto VIM
Exemplos de operações avançadas
 Pesquisa de conteúdo no arquivo com a /
 Abrindo múltiplos arquivos com o comando split
Mudando de arquivos com o comando:
:bn
 Carregando o conteúdo de outros arquivos no arquivo
atual com o comando (:r)
Editor de texto VIM
Exercí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
Editor de texto VIM
Para saber mais sobre o vim
 man vim
 http://www.infowester.com/linuxvi.php
Gerenciamento de Contas
Gerenciamento 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
Gerenciamento de Contas
Comando: 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.
Gerenciamento de Contas
Comando: 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
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].
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
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
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
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
Gerenciamento de Contas
Exercí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
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.
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”
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
Gerenciamento de Contas
Comando groupdel
 Utilizado para exclusão de grupos do sistema
 Exemplo de utilização
 # groupdel <nome_do_grupo>
Gerenciamento de Contas
Controle 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.
Gerenciamento de Contas
Dono
 É 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
Gerenciamento de Contas
Grupo
 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
Gerenciamento de Contas
Outros usuários
 Categoria de usuários que não são donos ou não
pertencem ao grupo do arquivo.
Gerenciamento de Contas
Cada 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”
Gerenciamento de Contas
Exemplo
 $ ls –l teste1
 -rw-r--r-- 1 jorge jorge ... Teste1
Calma.... Vamos por parte!
Gerenciamento de Contas
Gerenciamento de Contas
Alterando as permissões com o comando “chmod”
Gerenciamento de Contas
Utilizando 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)
Gerenciamento de Contas
Representação numérica das permissões
Gerenciamento de Contas
Tabela de comandos e permissões
Gerenciamento de Contas
Exemplos
 # 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
Gerenciamento de Contas
Exercício
1. Crie o arquivo /tmp/perm.txt com o seu usuário
2. Crie um usuário chamado aluno2.
3. Utilizando o usuário aluno2 tente ler o arquivo
4. Com o seu usuário, remova a permissão de leitura
para “outros”
5. Verifique se o aluno2 continua com poder de leitura
sobre o arquivo (experimente um “cat” no arquivo)
6. Crie um grupo chamado adm e inclua os dois
usuários neste grupo
7. Verifique se o aluno2 agora pode ler o arquivo.
Gerenciamento de Contas
Chown
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.
Gerenciamento de Contas
chown joao teste.txt - Muda o dono do arquivo teste.txt
para joao
chown 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).

Aula 11 semana

  • 1.
    Administração de Redes JorgeÁvila Linux/Servidores Linux
  • 3.
    Exercicio Crie dos diretóriosdirerotio1 e diretorio2 Dentro do diretorio1 crie dois arquivos arquivo1 e arquivo2 Copie o diretorio1 para dentro do diretorio2 Exclua o diretorio2
  • 4.
    Operações avançadas find  grep head  tail  Redirecionamento de E/S  Pipe  Criação de links  Empacotamento, compactação e descompactação de arquivos
  • 5.
    Operações Avançadas O 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...
  • 6.
    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
  • 7.
    Operações Avançadas Exemplos: $ find/ -name passwd $ find /home/user -name arq* $find /etc –name ‘mo*’  $ find /etc -size +1M
  • 8.
    Operações Avançadas Comando “grep” ComandoGrep é 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>
  • 9.
    Operações Avançadas Comando “grep” Exemplos: grep<seu usuário> /etc/passwd cat /etc/passwd | grep <seu usuário>
  • 10.
    Operações Avançadas Parâ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
  • 11.
    Operações Avançadas Comando “head” Exibeas 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
  • 12.
    Operações Avançadas Se temosum 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.
  • 13.
    Operações Avançadas Exemplo: Conecte-se adois 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
  • 14.
    Operações Avançadas Dutos oupipes ( | ) 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.
  • 15.
    Operações Avançadas Dutos oupipes ( | ) Exemplos  $ cat /etc/passwd | grep <seu usuario>  ls /etc | more  cat /etc/passwd | sort
  • 16.
    Operações Avançadas Empacotamento, compactaçãoe descompactação de arquivos O 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.
  • 17.
    Operações Avançadas O comando“tar” – agrupando arquivos $ tar –cvf backupEtc.tar /etc
  • 18.
    Operações Avançadas O 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
  • 19.
    Operações Avançadas O comando“tar” – extraindo arquivos $ tar –xvf backupEtc.tar
  • 20.
    Operações Avançadas O 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
  • 21.
    Operações Avançadas Mas oque 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
  • 22.
    Operações Avançadas Observe 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 gzip Exemplo:  $ tar –zcvf backupEtc.tar.gz /etc
  • 23.
    Exercício 1 Crie umtarfile 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”.
  • 24.
    Exercício 2 Crie umdiretório para armazenar o backup compactado do arquivo /home/aluno Após isso descompacte esse mesmo diretório e leia o mesmo com os comandos que você conhece
  • 25.
    Exercício 3 Crie doisdiretório sendo que um deles serve para armazenar o backup compactado do arquivo /home Após isso descompacte dentro do dentro do segundo diretorio
  • 26.
    Editor de textoVIM O 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 funcionalidades Após um tempo, o vim passou a ser chamado de vi improved (vi melhorado) Atualmente, é um dos editores mais utilizados no mundo Unix
  • 27.
    Editor de textoVIM O 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.
  • 28.
    Editor de textoVIM Operaçõ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
  • 29.
    Editor de textoVIM Operaçõ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é).
  • 30.
    Editor de textoVIM Comandos 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.
  • 31.
    Editor de textoVIM Modos edição: “i” - entra em modo de inserção Tecla “ESC” sai do modo de inserção e retorna ao modo de comando Comandos para sair sem salvar  Caso você não queira salvar as alterações no arquivo, utilize: q! => sai sem salvar.
  • 32.
    Editor de textoVIM Copiando 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”
  • 33.
    Editor de textoVIM Deletando linhas inteiras  Posicione o cursor na linha a ser removida  Entre em modo de comando  Pressione a tecla “d” duas vezes
  • 34.
    Editor de textoVIM Exercício  Crie um novo arquivo no vim com o seguinte comando $ vim teste1 teste2  Digite um texto em teste1 Copie esse texto para texte2
  • 35.
    Editor de textoVIM Vim: Importando o resultado de comandos do sistema O editor vim pode importar arquivos e tambem o resultado de comandos do sistema. Para importar um arquivo: :r /etc/passwd Para importar o resultado de um comando: :r ! find /home -user grw O comando acima ira procurar por arquivos pertencentes ao sera inserido diretamente
  • 36.
    Editor de textoVIM Exemplos de operações avançadas  Pesquisa de conteúdo no arquivo com a /  Abrindo múltiplos arquivos com o comando split Mudando de arquivos com o comando: :bn  Carregando o conteúdo de outros arquivos no arquivo atual com o comando (:r)
  • 37.
    Editor de textoVIM Exercí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
  • 38.
    Editor de textoVIM Para saber mais sobre o vim  man vim  http://www.infowester.com/linuxvi.php
  • 39.
    Gerenciamento de Contas Gerenciamentode 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
  • 40.
    Gerenciamento de Contas Comando: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.
  • 41.
    Gerenciamento de Contas Comando: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
  • 42.
    Gerenciamento de Contase 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].
  • 43.
    Gerenciamento de Contase 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
  • 44.
    Gerenciamento de Contase 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
  • 45.
    Gerenciamento de Contase 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
  • 46.
    Gerenciamento de Contase 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
  • 47.
    Gerenciamento de Contas Exercício1  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
  • 48.
    Gerenciamento de Contase 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.
  • 49.
    Gerenciamento de Contase 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”
  • 50.
    Gerenciamento de Contase 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
  • 51.
    Gerenciamento de Contas Comandogroupdel  Utilizado para exclusão de grupos do sistema  Exemplo de utilização  # groupdel <nome_do_grupo>
  • 52.
    Gerenciamento de Contas Controlede 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.
  • 53.
    Gerenciamento de Contas Dono É 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
  • 54.
    Gerenciamento de Contas Grupo 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
  • 55.
    Gerenciamento de Contas Outrosusuários  Categoria de usuários que não são donos ou não pertencem ao grupo do arquivo.
  • 56.
    Gerenciamento de Contas Cadaum 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”
  • 57.
    Gerenciamento de Contas Exemplo $ ls –l teste1  -rw-r--r-- 1 jorge jorge ... Teste1 Calma.... Vamos por parte!
  • 58.
  • 59.
    Gerenciamento de Contas Alterandoas permissões com o comando “chmod”
  • 60.
    Gerenciamento de Contas Utilizandoos 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)
  • 61.
  • 62.
    Gerenciamento de Contas Tabelade comandos e permissões
  • 63.
    Gerenciamento de Contas Exemplos # 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
  • 64.
    Gerenciamento de Contas Exercício 1.Crie o arquivo /tmp/perm.txt com o seu usuário 2. Crie um usuário chamado aluno2. 3. Utilizando o usuário aluno2 tente ler o arquivo 4. Com o seu usuário, remova a permissão de leitura para “outros” 5. Verifique se o aluno2 continua com poder de leitura sobre o arquivo (experimente um “cat” no arquivo) 6. Crie um grupo chamado adm e inclua os dois usuários neste grupo 7. Verifique se o aluno2 agora pode ler o arquivo.
  • 65.
    Gerenciamento de Contas Chown Mudadono 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.
  • 66.
    Gerenciamento de Contas chownjoao teste.txt - Muda o dono do arquivo teste.txt para joao chown 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).