Baixe o app para aproveitar ainda mais
Prévia do material em texto
SERVIDORES PARA INTERNET REDES DE COMPUTADORES Aula 05 – Comando Avançados do Linux Prof. :MACIEL maciel.estacio@gmail.com Comando top = exibe uma listagem das atividades de processamento em tempo real; Ele lista as tarefas que usam mais intensamente a CPU e pode disponibilizar uma interface interativa de manipulação de processos; Ele pode ordenar os processos por usa de CPU, de memória e tempo de execução. A listagem é atualizada, por padrão, a cada 5 segundos, mas isso pode ser alterado através da opção -d na linha de comando ou -s para o comando interativo; top -d 2 : Especifica 2 segundos do tempo entre as atualizações das telas top –d 10 : Especifica 10 segundos do tempo entre as atualizações das telas Comando ps : Exibe o status sobre os processos ativos; Comando ps –a : Exibe informações sobre os processos de outros usuários; O comando ps –e | more : Exibe informações sobre o PID, tty dos comandos que estão rodando; O comando ps –ef | grep programa, por exemplo verifica se existe algum programa rodando; Um comando que auxiliar muito aos administradores de redes é o ps -auxw, ele mostra os processos que mais estão consumindo memória; Como existem vários processos rodando ao mesmo tempo, para visualizar você fazer a composição do comando com o pipe more : $ ps –auxw | more Caso você deseje verificar os processos a cada n quantidade de linhas, o comando pode ser utilizado da seguinte forma : $ ps –auxw | more –n $ ps –auxw | more -10 O comando kill tem a função de finaliza um ou mais processos em execução; Finaliza o programa com o número do processo (PID) : $ kill número_do_pid O grep, muitos não sabem mas o significado do nome é (Globally Search Regular Expression and Print); A ideia do comando é procurar, texto em uma string ou dentro de arquivos e mostrar linhas, ocorrências, usar combinações para pesquisar e o resultado da pesquisa ser mostrado na tela. Vamos a um exemplo básico e bem didático para uso do comando, para isso vamos criar um arquivo chamado palavras.txt e inserir um texto dentro e depois utilizar com o grep; $ echo –ne “ casa\nlata\nlapis\nborracha\npente\nfio\nla pis\ncarreta\ncasa\ncachorro\nporta\ncasa\ n” > palavras.txt Depois aplicamos o comando cat e iremos verificar que todas as palavras vão estar dispostas em forma de lista ... cat palavras.txt casa lata lapis borracha pente fio lapis carreta casa cachorro porta casa Agora vamos fazer algumas buscas, utilizando o grep : $ cat palavras.txt | grep casa Ele irá listar todas as palavras casa que encontrar no arquivo; $ grep –c “casa” palavras.txt Ele irá contar a quantidade de palavras casa encontradas no arquivo palavras.txt; Redirecionamento de I/O A saída padrão do comando ls é a tela e a entrada padrão é o teclado, para a maioria dos casos; Mas como fazemos para redirecionar outras entradas e saídas além destas mencionadas? Redirecionamento de I/O Bem, vamos começar vendo os símbolos utilizados para fazer o redirecionamento; Os caracteres utilizados são os sinal de menor e maior, ou seja, <>. A lógica é bem simples....redirecionamento de entrada com o símbolo < e redirecionamento de saída com o símbolo >. Redirecionamento de Saída Vamos então ver como fazer um redirecionamento de saída; Lembra do comando ls que exibe o conteúdo de um diretório na sua saída padrão, ou seja, na tela; Vamos agora redirecionar a saída do comando ls para um arquivo Por exemplo : Vamos supor que eu queira listar o conteúdo do diretório /home/aluno mas ao invés de exibir na tela eu quero que isso seja gravado em um arquivo com o nome meudiretorio.txt $ ls /home/aluno > meudiretorio.txt Primeiro mandamos listar o diretório /home/aluno (ls /home/aluno) e depois redirecionamos a saída (>) para o arquivo meudiretorio.txt; Dessa forma, ao invés de exibir o resultado na tela o resultado foi armazenado no arquivo. Agora uma dica importante !!! Toda vez que fazemos o redirecionamento com o caractere > o arquivo será sobrescrito e os dados anteriores serão perdidos; Para fazer de forma incremental, ou seja, redirecionar o resultado para o final do arquivo meudiretorio.txt (sem apagar o conteúdo anterior) basta utilizar o caractere ">>“; $ls /home/aluno >> meudiretorio.txt Redirecionamento de Entrada A lógica para o redirecionamento de entrada é similar, mas agora utilizamos o caractere <; Vamos a um exemplo, eu quero redirecionar a entrada padrão de um comando para que ele utilize os dados vindo de outro arquivo e não do nosso teclado; $grep sys < /etc/passwd Isso faz o seguinte: nós informamos ao comando grep sys para que ele utilize como entrada os dados que estão no arquivo etc/passwd; Ou seja, esse comando irá no arquivo /etc/passwd e irá exibir na tela todas as ocorrências dos caracteres "sys" que ele encontrar. Você pode usar os comandos de entrada e saída ao mesmo tempo; Agora vejamos , o comando a seguir vai exibir o conteúdo do arquivo /etc/passwd que contenham a sequência “sys” na tela, pois essa é sua saída padrão; $grep sys < /etc/passwd Agora se redirecionarmos também a saída. Vamos ver como fica: $grep sys < /etc/passwd > arquivoteste.txt Ou seja, primeiro redirecionamos a entrada do grep para utilizar os dados do arquivo /etc/passwd e depois redirecionamos a saída para que jogasse o conteúdo em um arquivo chamado arquivoteste.txt. Localizando Arquivos Não é raro termos que procurar por algum arquivo, pois não sabemos sua localização. Sabemos que o arquivo existe, só não sabemos onde ele está; Para procurar por arquivo podemos utilizar os comando locate ou find. Listar todos os Arquivos contidos em um Diretório e Subdiretórios Para exibir uma lista com todos os arquivos localizados em um determinado diretório, incluindo os arquivos armazenados nos subdiretórios, basta aplicar o comando find da seguinte forma: Listar todos os Arquivos contidos em um Diretório e Subdiretórios $ find . ./exemplo.txt ./subpasta ./subpasta/comandofind.php ./audio.mp4 ./exemplo2.php Localizar somente arquivos ou somente diretórios Nos exemplo anterior, percebe-se que arquivos e diretórios são listados juntos em cada busca. Porém, é possível buscar somente por uma das duas coisas: Procurando por uma palavra específica : $ find ./test -name exemplo* ./test/exemplo.txt (Arquivo) ./test/exemplo (Diretório) Somente Arquivos $ find ./test -type f -name "exemplo*“ ./test/exemplo.txt Somente Diretórios $ find ./test -type d -name "exemplo*" ./test/exemplo Perceba que, na busca por arquivos, basta incluir “-type f” antes de digitar o nome, enquanto na busca por diretório inclui-se o “-type d”; Não por acaso, as letras representam as iniciais para files (arquivos) e directories (diretórios). Editores de Texto: Editor de Texto vi O editor de texto vi é um dos mais usados pelos administradores Linux e também por Programadores; Ele dispõe de muitos recursos existindo até mesmo livros ensinando como utilizar o vi. Editores de Texto: Um comando muito útil no editor vi é o Split; Esse comando é utilizado para abrir um segundo conteúdo na mesma interface; Por exemplo, vamos dizer que você está com um arquivo aberto no vi e que deseja abrir outro arquivo na mesma interface; Editores de Texto: Basta digitar o comando abaixo: :split /caminho/do/arquivo Com isso sua tela será dividida ao meio (horizontalmente); Editores de Texto: Editores de Texto: Editor nano O nano é um editor mais simples de ser utilizado do que o vi; Ao entrar no nano você já pode ver na parte inferior uma série de comandos, basta ir vendo o que precisa e seguindo o indicado. Para abrir um arquivo é similar ao que mostramos para o vi, basta digitar $nano nome_do_arquivo. Por exemplo, para gravar o arquivo é só pressionar ^O (ctrl+o); Usuário e Grupos no Linux Criando usuários e Grupos no Linux No Linux, as restrições básicas de acesso são implementadas através de um sistema de permissões simples, porém eficiente, que consiste em um conjunto de três permissões de acesso (ler, gravar e executar)... E três grupos (dono, grupo e outros), que combinados podem fazer muita coisa. Criando usuários e Grupos no Linux Usuários Quando falamos em Gerenciamento de usuários no Linux, os dois comandos mais básicos são adduser e passwd, que permitem, respectivamente, adicionar novos usuários e alterar as senhas de acesso posteriormente. Criando usuários e Grupos no Linux $ adduser aline Cria o usuário aline, onde será pedido algumas informações do mesmo, dentre elas a senha. Criando usuários e Grupos no Linux Durante o processo de criação, você irá verificar algumas informações importantes : /home/aline > Criando o usuário neste diretório; /etc/skel ele busca as informações de perfis de usuários padrão; Criando usuários e Grupos no Linux E logo depois ele pede para inserir uma senha para o usuário : digite a senha unix : 123456 repita ou confirme a senha : 123456 Depois que você confirma a senha ele pede ainda : Criando usuários e Grupos no Linux Full name : aline xyz room number : 123456 work number : 123456 home number :123456 other : deixar em branco Pede uma confirmação : Os dados estão corretos (s/n) ? Criando usuários e Grupos no Linux Para verificar se o usuário foi criado, saia do sistema e tente se entrar no sistema com o usuário que foi criado; Uma segunda forma de se verificar a criação do usuário é realizando os seguintes comandos : Criando usuários e Grupos no Linux Vá para o diretório etc $ cd /etc $ cat passwd Verifique que as informações preenchidas no momento da criação da conta se encontram listadas; Os usuários são cadastrados no sistema através do arquivo /etc/passwd. Acessando este arquivo você verá informações referentes aos usuários, tais como: italo:x:1001:1001:,,,:/home/ítalo:/bin/bash Neste arquivo, cada campo é separado por : italo – Nome de Login do usuário x – Indica que a senha do usuário está localizada no arquivo /etc/shadow Os usuários são cadastrados no sistema através do arquivo /etc/passwd. Acessando este arquivo você verá informações referentes aos usuários, tais como: 1001 – UID do usuário 1001 – GID do usuário ,,, – Informações do usuário, tais como Nome, Telefone. /home/aline – Diretório HOME do usuário. /bin/bash – Shell do usuário, ou seja, o programa que irá enterpretar os comandos que o usuário executar. Criando usuários e Grupos no Linux Para alterar a senha de um usuário digite: # passwd ítalo Para remover um usuário anteriormente criado utilize o comando deluser # deluser ítalo Criando usuários e Grupos no Linux Este comando anterior remove apenas a conta do usuário, sem apagar seus arquivos no diretório /home, para apagar esses arquivos, utilize o comando com o parâmetro –remove-home $# deluser ítalo –remove-home Criando usuários e Grupos no Linux Depois vá para o diretório etc $ cd /etc $ cat passwd Verifique que as informações relacionadas ao usuário aline criado, foram todas deletadas; Criando usuários e Grupos no Linux Se você quiser bloquear a conta de um usuário, utilize o comando: # passwd –l ítalo Para desbloquear a conta use: # passwd –u ítalo Criando usuários e Grupos no Linux Faça um bloqueio do usuário criado e depois sai do sistema e tente fazer um login; # passwd –l aline Depois entre como root e faça o desbloqueio utilizando o comando: #passwd – u aline Criando usuários e Grupos no Linux Grupos Além das configurações de usuários, temos as configurações de grupos, que permitem organizar os usuários e definir as permissões de acesso de forma mais genérica. Criando usuários e Grupos no Linux Para adicionar um grupo, utilizamos o comando groupadd, como em: # groupadd professores Criando usuários e Grupos no Linux Para adicionar os usuários desejados ao grupo, usamos o próprio comando adduser, seguido pelo login e o grupo ao qual ele deve ser adicionado (uma conta de cada vez). # adduser aline professores Criando usuários e Grupos no Linux Para mostrar os grupos a qual o usuário aline pertence, use o comando: # groups aline As informações sobre os grupos e seus usuários ficam salvas em /etc/group. Comando usermod Este comando é utilizado para manipulação de usuários já existentes; Este comando permite que você faça alterações nos grupos e em outros parâmetros; Se desejar mais informações, basta consultar o man usermod para saber os outros parâmetros. Para manipular os grupos temos dois parâmetros: •-g para grupo principal; •-G para grupos secundários É importante ressaltar o uso da opção –a que pode ser utilizada em conjunto com a –G; As duas opções juntas fazem com que sejam acrescentados grupos suplementares; Já a opção –G sozinha deleta os grupos suplementares existentes e configura o novo informado; Vamos ver um exemplo para ilustrar o uso do comando. $ usermod –G grupo1,grupo2,grupo3 teste O comando acima irá configurar como grupos suplementares do usuário teste os grupos grupo01,grupo02,grupo03; Agora se quisermos acrescentar o grupo4, mas sem tirar os demais grupos (grupo 1,2 e 3) devemos ter a opção –a. $ usermod –a –G grupo4 teste É bem importante observar que, se você entrasse somente com o comando $usermod –G grupo4 teste o usuário teste teria como grupo suplementar somente o grupo4 e os grupos 1,2 e 3 não fariam mais parte dos grupos suplementares do usuário teste. Manipulando Permissões e Propriedades de Arquivo Estudamos anteriormente uma das opções do comando ls, -l, que listava o conteúdo do arquivo em lista longa; E que nesse formato era possível visualizar uma série de informações do arquivo, como as permissões, o dono, o grupo, tamanho e data de modificação. Manipulando Permissões e Propriedades de Arquivo Saída de um comando ls-la Manipulando Permissões e Propriedades de Arquivo No Linux temos três permissões principais, são elas: leitura (read – r), escrita (write – w) e execução (execute – x); Quando falamos em permissões de um arquivo estamos falando justamente como configuramos essas permissões (leitura, escrita e execução) para o dono, para o grupo e para os outros usuários. Manipulando Permissões e Propriedades de Arquivo Permissões de Arquivos e Diretórios Vamos entender como interpretamos tudo isso, mas especificamente o campo das permissões; Vejamos o exemplo: drwxr-xr-x 2 estacio estacio 4096 Set 11 10:47 imagens Essa são as propriedades do diretório Imagens do usuário estacio (/home/estacio); Temos então, no primeiro campo (drwxr-xr- x) e terceiro campos (estacio); O primeiro campo indica as permissões, o terceiro campo informa quem é o dono e o quarto campo qual é o grupo desse diretório. Vamos analisar o primeiro campo; No início temos um d no início, isso é só para informar que se trata de um diretório; Depois é que vem as permissões, são um total de 9 caracteres para nos informar as permissões desse diretório : d – diretório rwx (read, write, execution para o dono) r-x (read, execution para o grupo) r-x (read, execution para os outros) A letra d significa que Imagens é um diretório (pois tem um d no início); Depois temos que o dono (estacio) tem permissão de fazer tudo nesse diretório, ou seja, ele pode ler, escrever e executar; Em seguida temos r-x, que significa que o grupo de nome estacio tem permissão somente de ler e executar, mas ele não pode escrever nesse diretório. Isso significa que todos os usuários que fizerem parte do grupo estacio podem ler e executar somente; Por último temos outro r-x, que analogamente significa que os outros tem permissão de leitura e execução, ou seja, quem não for o dono e nem fizer parte do grupo estacio – os outros – só podem ler e executar nesse diretório. Alterando o Grupo de Arquivos e Diretórios Vamos agora ver como manipular essas permissões, começando com como podemos alterar o dono e o grupo de um arquivo; Para isso iremos utilizar um exemplo com um arquivo, uma foto dentro do diretório Imagens que vimos anteriormente. -rwxr-xr-x 1 estacio estacio 4096 Set 11 10:57 estacio.jpg Só revisando o dono é estacio e ele pode tudo (rwx), já o grupo é estacio e os usuários desse grupo podem ler e executar (r-x); Os outros usuários também só podem ler e executar (r-x); Isso significa que somente o usuário estacio pode, por exemplo, apagar essa imagem ou modificar essa imagem. Vamos ver então como mudar o grupo dessa imagem, sem mexer nas permissões...ou seja, vamos apenas definir outro grupo para essa arquivo; Isso é feito com os comando chgrp (change group – alterar grupo); O chgrp é bem simples, sua sintaxe é chgrp opções grupo [pasta|arquivo]. $ chgrp teste estacio.jpg Desta forma, se listarmos novamente esse arquivo teremos: -rwxr-xr-x 1 estacio teste 4096 Set 11 10:57 estacio.jpg Alterando o Dono e o Grupo de Arquivos e Diretórios No exemplo anterior alteramos somente o grupo (chgrp); Existe também um outro comando chown (change owner) que é utilizado para trocar o dono e o grupo de um arquivo ou diretório; Com esse comando você pode alterar somente o dono ou o dono e o grupo de uma só vez. Voltando ao nosso exemplo anterior do arquivo estacio.jpg que agora está da seguinte forma, o dono é estacio e o grupo é teste; Agora vamos mudar somente o dono para que seja o usuário teste também; Veja a forma do comando: $chown teste estacio.jpg Agora se listarmos novamente teremos que tanto o dono quanto o grupo são teste : -rwxr-xr-x 1 teste teste 4096 Set 11 10:57 estacio.jpg Alterando Permissões : Vamos observar como alteramos as permissões de leitura, escrita e gravação de um arquivo ou diretório; Isso pode ser feito com o comando chmod, é possível trabalhar como chmod de duas formas, a forma literal e a forma numérica. Alterando Permissões : A forma literal, é o r de read (leitura), o w de write (escrita) e o x de execution (execução); Um arquivo precisa ao menos ter permissão de leitura, o correto seria ter também permissão de escrita, pelo menos para o dono; Já os diretórios precisam ter a permissão de leitura e execução, sem a permissão de execução não é possível que o usuário entre no diretório; Alterando Permissões : Resumindo: Permissões mínimas para diretórios: r-x Permissões mínimas para arquivos: r - - (ou rw-) Alterando Permissões : Vamos a um exemplo. Mudar a permissão do grupo do arquivo estacio.jpg para rwx; Isso é feito com o comando abaixo: $chmod g+rwx estacio.jpg Ou seja, para o grupo mandamos adicionar as permissões rwx (leitura, escrita e execução); Para retirar a permissão de escrita do grupo deve-se fazer da seguinte maneira: $chmod g-w estacio.jpg Alterando Permissões : Permissões Numéricas Vamos entender bem o funcionamento deste modelo de permissões, mesmo porque ele é o comumente mais utilizado; Cada permissão corresponde a um octeto derivado da soma dos números 1,2,4 e qualquer digito não utilizado é entendido como 0. Alterando Permissões : A ideia é : (4) = leitura (2) = escrita (1) = execução Desta forma é, caso se queira permissão de leitura e escrita então (4+2)=6, então o parâmetro que será usado é 6. Alterando Permissões : Por exemplo, Imagine que se queira dar ao arquivo a permissão chmod 600 teste.txt, neste caso o arquivo teste.txt terá permissão rw-------; Se eu quero dar ao grupo a mesma permissão então o chmod será 660 e então nossa permissão será rw-rw--- ; Obrigado !!!
Compartilhar