Aula 06 Comandos Linux Gerenciamento de Privilégios e Processos Gerenciamento de Processos

Documentos relacionados
Instalação e Configuração de Servidores Linux Server Gerenciamento de Processos. Prof. Alex Furtunato

PROCESSOS COMPONENTES DE UM PROCESSO. A execução de um processo possui vários componentes. PID e PPID

Administração de sistemas Linux. Administração de processos.

SISTEMAS OPERACIONAIS

Comandos TOP, PS e PSTREE

Descrição. Termos e utilitários. Áreas em foco. Processos. Processos. Comandos GNU e Linux

Tecnologias e Sistemas de Informação. Software Livre. SL: Gerenciamento e Configurações 2 Semestre de Prof. Marcelo Z.

Permissões de acesso no Linux. Sistemas Operacionais Curso Técnico em Informática Prof. Maria de Fátima de F. B. Marcílio

Relembrando. Em nossas primeiras aulas discutimos o conceito do que seria um processo! Quem lembra?

Gerenciamento de Processos

Permissões de acesso no Linux

Sistemas Operacionais

Gerenciamento de Processos

A D M I N I S T R A Ç Ã O D E S I S T E M A S / P E D R O B R A N D Ã O REFERÊNCIAS DOS SLIDES

Sistemas Operacionais Prof. André Y. Kusumoto

Gerenciamento de Arquivos

Administração de Sistemas Operacionais

Laboratório de Sistemas Operacionais

Gerenciamento de Processos Linux

Usando o terminal -- Linux -- Flávia Maristela

Comandos de Verificação. Alberto Felipe Friderichs Barros

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Administração de Sistemas Operacionais

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Sistemas de Informação. Sistemas Operacionais

Gerenciamento de Processos

Formação de Administradores de Redes Linux LPI level 1. Aula 2 SENAC TI Fernando Costa

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)

Minicurso Básico de Linux

Laboratório de Redes de Computadores e Sistemas Operacionais

Instalador e Operador de Sistemas de Telefonia e Comunicação de Dados

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 25/10/2016 Profª Valeria Menezes Bastos 1

Sistemas Operacionais I

Gerenciamento de processos

Sistemas Operacionais I

Sistemas Operacionais de Redes Comandos de Administração. segunda-feira, 1 de julho de 13

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais e Introdução a Programação

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.

Tópicos Especiais em Linguagens de Programação Shell Script Processos

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Redes de Computadores

Hierarquia de Diretórios da Família Linux. Sistemas Operacionais 1

Comandos de arquivos

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Capítulo 5 Processos

Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando H. Santorsula

Sistemas Operacionais. Laboratório 1 (Ambiente de Aprendizado)

Prof. Diego Pereira Gerência e Configuração de Serviços para Internet. Shell Script

Segurança em Sistemas Operativos

Segurança em Sistemas Operativos

Programação Shell Script: como dominar seu terminal

Processos. Volnys Borges Bernal. Edson Toshimi Midorikawa

Processos. Adão de Melo Neto

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 25/10/2016 Profª Valeria Menezes Bastos 1

Sistemas Operacionais

ADMINISTRAÇÃO DE REDES I LINUX

Fundamentos de Sistemas Operacionais

Este documento não é de forma alguma exaustivo, nem pretende ser um manual, apenas uma referência aos pontos nele abordados.

Sistemas Operacionais

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais II

CEFET SC UNIDADE DE SÃO JOSÉ CURSO TÉCNICO EM TELECOMUNICAÇÕES REDES DE COMPUTADORES/TELEFONIA DISCIPLINA DE SISTEMAS OPERACIONAIS

Este documento não é de forma alguma exaustivo, nem pretende ser um manual, apenas uma referência aos pontos nele abordados.

Instalação e Configuração de Servidores Linux Server Partições e Sist. de Arquivos. Prof. Alex Furtunato

Minicurso Básico de Linux

Sistemas Operacionais. Prof. MSc André Y. Kusumoto

Informações de usuários armazenadas no sistema

Processos Prof. João Paulo de Brito Gonçalves

Processos. (c) 2005 Volnys B. Bernal Versão de 15/3/2006. Agenda. Processos. Introdução aos Processos. Introdução aos Processos

BANCO DE DADOS WEB AULA 3. programas cliente: psql - pgadmin 3 - phppgadmin. professor Luciano Roberto Rocha.

Preparatório LPIC-1 Tópico 103

Sistema Operacional GNU/Linux. Comandos. para Execução de Programas

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Programação para Servidores. Cassio Diego

Comandos. Sistema Operacional GNU/Linux. Para Manipulação de Contas

S.O.R. A Interface de comando

Estácio-FIC Graduação em Redes de Computadores

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Introdução aos Sistemas Operativos

João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1

Introdução aos Sistemas Operacionais

Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux Semana III

Sistemas Operacionais II

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Processos. Estruturas de Controle

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)

Gerência do Sistema de Arquivos. Adão de Melo Neto

Processo. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Administração de Sistemas Operacionais Prof.: Marlon Marcon

Monitoramento no Linux Avaliação de Desempenho. Prof: Paulo Maciel Instrutor: Jamilson Dantas

Administração de sistemas Linux. Gerenciamento de grupos e usuários

Sistemas Operacionais

Sistemas Operacionais. Processos e Threads

Transcrição:

Gerenciamento de Serviços para Internet Aula 06 Comandos Linux Gerenciamento de Privilégios e Processos Gerenciamento de Processos Prof. Diego Pereira <diego.pereira@ifrn.edu.br>

Objetivos Entender o funcionamento dos privilégios e aprender a gerenciar os privilégios dos diversos usuários; Entender os principais conceitos envolvidos com processos em sistemas operacionais; Aprender os estados de um processo; Conhecer alguns comandos para auxiliar no gerenciamento de processos; 2

GERENCIAMENTO DE PRIVILÉGIOS 3

Introdução O Gerenciamento de Privilégios permite ao administrador do sistema definir políticas para acesso dos usuários e grupos aos arquivos, diretórios e programas executáveis do sistema; 4

Permissões e Privilégios Os arquivos no Linux são organizados em diretórios e além disso o próprio sistema oferece facilidades de proteção aos arquivos e diretórios; 5

Permissões e Privilégios As proteções são organizadas em 3 classes de privilégios; Dono; Grupo; Outros; 6

Permissões e Privilégios Cada classe é composta por de três níveis básicos de permissões: Leitura; Escrita; Execução; 7

Permissões e Privilégios O dono do arquivo normalmente é aquele que criou o arquivo ou aquele que o superusuário define; O grupo normalmente é aquele ao qual o dono faz parte, entretanto não é obrigatório; 8

Bits de atributos especiais Setuid O arquivo é executado como se fosse executado pelo dono; Setgid O arquivo será executado como se fosse invocado por um membro do grupo proprietário, todo arquivo criado em um diretório com o bit setgid ligado é criado com o mesmo grupo do diretório; 9

Bits de atributos especiais Sticky Um arquivo criado com esse bit setado só pode ser apagado por seu próprio dono; 10

Listagem dos privilégios Comando ls -l 11

Listagem dos privilégios As permissões são exibidas como uma sequência de 10 travessões e/ou letras no início de cada linha; 1ª Coluna: tipo do arquivo; As outras nove representam as chaves de permissão; Quando uma chave está acionada ela aparece, quando inativa, aparece um travessão; 12

Listagem dos privilégios Dono Grupo Tamanho Data de modificação Nome Número de links absolutos Chaves aplicadas aos outros Chaves aplicadas ao grupo Chaves aplicadas ao dono Tipo do arquivo 13

Tipo de arquivo Tipo de Arquivo Descrição - Arquivo comum d Diretório l Link simbólico c Dispositivos de caractere b Dispositivo de bloco s Soquetes = Pipes 14

Chaves de Permissão Permissão r w x Descrição Permissão de Leitura Permissão de Escrita Permissão de Execução 15

Comandos para gerenciamento de privilégios Chmod [opções] modoarquivo arquivo -c mostra informações sobre os arquivos modificados; -f não imprime mensagem de erro; -R recursivo; -v descreve as alterações de atributos; modoarquivo poder ser simbólico ou absolut; 16

Modo simbólico É uma lista de expressões na forma identificador operando valor separadas por vírgula; 17

Modo simbólico Identificador Identificador u g o a Descrição Usuário Grupo Outros Todos 18

Modo simbólico Operando Operando Descrição + Adiciona permissão - Retira permissão = Assinala uma permissão anulando a anterior 19

Modo simbólico Valor Valor r w x s t Descrição Permissão de Leitura Permissão de Escrita Permissão de Execução Bit setuid p/ u, Bit setgid p/ g Bit sticky 20

Modo simbólico Exemplos $chmod u+x script Adiciona permissão de execução para o dono $chmod u+wx,g-w,o=r script Adiciona permissão de execução e escrita para o dono, retira permissão de escrita para o grupo, e para outros usuários permite apenas leitura 21

Modo Absoluto Definido na forma [atributo_especial] dono grupo outros Dono, Grupo, Outros Descrição 0 Nenhuma permissão 1 Execução 2 Escrita 3 Execução e Escrita 4 Leitura 5 Execução e Leitura 6 Leitura e Escrita 7 Leitura,Escrita e Execução 22

Modo Absoluto Atributo Especial Descrição 0 Nenhuma atributo 1 Bit Sticky ligado 2 Bit Setgid ligado 3 Bit Sticky e Setgid ligado 4 Bit Setuid ligado 5 Bit Sticky e Setuid ligados 6 Bit Setuid e Setgid ligado 7 Os três setados 23

Modo Absoluto Exemplo $chmod 750 script Permissão de leitura, escrita e execução para o dono, leitura e execução para o grupo e nenhuma permissão para outros; $chmod 777 script Permissão de leitura, escrita e execução para o dono, o grupo e outros; 24

Outros comandos Chown [opções] novodono[.novogrupo] arquivo -c exibe informações sobre os arquivos modificados -f não imprime mensagem de erro -R recursivo -v descreve detalhadamente as alterações Ex: $chown diego monografia.doc $chown diego.alunos monografia.doc 25

Outros comandos $chgrp [opções] novogrupo arquivo -c exibe informações sobre os arquivos modificados -f não imprime mensagem de erro -R recursivo -v descreve detalhadamente as alterações Ex: $chgrp professor monografia.doc 26

GERENCIAMENTO DE PROCESSOS 27

Introdução Todo sistema operacional fornece uma interface para que os usuários tenham algum controle sobre os programas que estão sendo executados; No Linux isto ocorre através do gerenciamento de processos via prompt de comando; 28

Processo Definição Processo é um programa em execução; Do ponto de vista do S.O. é a estrutura responsável pela manutenção de todas as informações necessárias para a execução de um programa; 29

Processo Processos são entidades independentes; Cada um possui permissões de acesso e atributos(características); Ex: PID(Process IDentification) O S.O. é responsável em gerenciar os processos de forma a otimizar a utilização da CPU; Caso o processo necessite ler/escrever dados no disco rígido, ele fica em estado waiting até que a operação seja completada; 30

Processo No diretório /proc é criado um subdiretório para cada processo em execução; Os nomes dos subdiretórios são seus PIDs; Dentro desse subdiretório existem diversos arquivos com informações sobre o processo; 31

Alguns Arquivos Arquivo cmdline environ exe fd limits maps root mounts mem sched stat statm Descrição guarda a linha de comando usada para iniciar o processo mostra as variáveis de ambiente utilizadas pelo processo é um link (apontador) para o executável daquele processo diretório contendo todos os descritores de arquivo as restrições impostas ao processo (/etc/security/limits.conf) mapa de memória para os executáveis e bibliotecas apontador para o diretório raíz do processo informação sobre os sistemas de arquivo memória utilizada pelo processo informações sobre o escalonador e o escalonamento status do processo status da memória do processo 32

Alguns Comandos Os comandos via shell também são uma maneira eficaz de obter informações sobre os processos; Exemplos: ps; pstree; top; 33

Prioridade Também é possível alterar a prioridade de execução dos processos; Varia entre -20(maior prioridade) e 19(menor prioridade); Apenas o root pode atribuir prioridades negativas a processos; Comandos utilizados são o nice e o renice; 34

Atributos de um processo Um processo possui diversos atributos que controlam sua execução; PID Process IDentification(Identificação do processo), identifica um processo em execução, não pode ser repetido, é exclusivo. PPID Parent Process IDentification(Identificação do processo-pai), identifica o processo-pai que gerou o processo-filho; 35

Atributos de um processo UID GID User IDentification(Identificação do Usuário), Identifica o usuário que criou o processo; Group IDentification(Identificação do Grupo), identifica o grupo ao qual pertence o processo; 36

Atributos de um processo EUID Effective User IDentification(Identificação do Usuário Efetivo), quando um programa é executado com seu setuid ligado (chmod +s), o EUID passa a ser do dono do arquivo executável, em vez do UID do usuário que está executando o programa; EGID Effective Group IDentification(Identificação do Grupo Efetivo); 37

Sequência de Execução de um Processo Quando um processo está sendo executado, ele passa por diversos estados, são eles; Ready(pronto) Logo que é iniciado é colocado no estado ready, ou seja, está pronto para entrar em execução mas irá aguardar o scheduler(escalaonador de tarefas) do kernel decidir quando ele irá entrar em execução; 38

Sequência de Execução de um Processo Running(execução) O kernel decide que o processo irá entrar em execução, tal decisão é tomada de acordo com a prioridade e a fila de execução; Quando seu time slice(fatia de tempo) esgotar, ele volta para o estado de ready e aguarda um novo escalonamento; 39

Sequência de Execução de um Processo Waiting(espera) Caso o processo necessite de uma operação de entrada/saída ele pode ser colocado em waiting até que essa operação seja completada, isso ocorre quando periférico em questão estiver ocupado e não pode responder de imediato; 40

Sequência de Execução de um Processo Dead(Morto - Finalizado) e Zombie No final da execução, o processo pode ser morto(comando kill) ou zombie(caso seu parent processo pai tenha sido morto); 41

Sequência de Execução de um Processo Dispatch Start Ready Interrupt Runing Suspend Resume Go Stop Zombie Suspend Waiting Stopped Dead Resume 42

Classificação de processos Quanto à execução, os processos podem ser classificados em: Foreground(primeiro plano); Background(segundo plano); 43

Classificação de processos Foreground(primeiro plano) São inicializados no terminal de comandos, podem interagir com os usuários e exibem sua execução no monitor de vídeo; Esses processos prendem o prompt, impedindo que outros processo sejam inicializados; 44

Classificação de processos Background(segundo plano) Também são inicializados no terminal de comandos, mas não interagem com usuários e não exibem sua execução no monitor de vídeo; Esse processos não prendem o prompt e permitem que outros processos sejam inicializados pelo terminal; 45

Classificação de processos Quanto ao tipo, os processo podem ser classificados em: Processos Interativos São iniciados a partir de uma sessão de usuário no terminal de comandos e controlados por ele; Quando um comando no shell é executado, um processo é executado em foreground(primeiro plano); 46

Classificação de processos Processos em lote(batch) São controlados pelos comandos at, batch e cron; A saída desses comandos é enviada por mail para o usuário depois que a execução for concluída; 47

Classificação de processos Daemons Processos servidores normalmente executados quando o Linux é inicializado, permanecendo em execução enquanto o sistema estiver em funcionamento; Aguardam em background que algum outro processo solicite seu serviço; Ex: apache2, postfix, bin9... 48

Controle de tarefas (job control) Refere-se à habilidade de suspender a execução de processos e retomar a sua execução posteriormente; O Shell associa um ou mais processos a cada job inicializado por ele 49

Comandos para Gerenciamento de Processos CTRL+C Aborta um processo; CTRL+Z Suspende um processo; & Executa um comando em background; comando & vi & 50

Comandos para Gerenciamento de Processos bg fg Coloca um processo em background; bg %id %id é o número do job; Coloca um processo em foreground; fg %id %id é o número do job; 51

Comandos para Gerenciamento de Processos 52

Comandos para Gerenciamento de Processos kill Finaliza um job; Kill %id jobs %id é o número do job; Exibe os jobs em execução pelo shell; $ jobs [opções] -l exibe o nome e o número de cada processo -s exibe o nome de cada processo -p exibe o número de cada processo 53

Comandos para Gerenciamento de Processos ps Exibe informações sobre os processos ativos; ps [opções] -a exibe informações de outros usuários -u exibe o nome do usuário e a hora de início -x exibe processos não associados ao terminal -p PID exibe o processo cujo número é PID; -l exibe linhas detalhadas -e exibe todos os processos ativos $ps -aux 54

Comandos para Gerenciamento de Processos Comando ps -el é exibida uma saída detalhada de todos os processos, inclusive com o estado do mesmo; S : sleeping (sem atividade); R : running (executanto); D : waiting (aguarda um dispositivo de I/O); T : gestopt (suspenso, parado); Z : zombie(orfão); 55

Comandos para Gerenciamento de Processos pstree Exibe informações sobre os processos ativos em forma de árvore(necessita de instalação do pacote); $pstreee [opções] -a exibe argumentos de linha de comando -c não compacta subárvores -l exibe linhas detalhadas -n classifica processos pelo id -p mostra ids de processo 56

Comandos para Gerenciamento de Processos pidof processo Retorna o PID do processo informado; $pidof bash; top [opções] Exibe os processos com maior consumo de CPU; -u usuário Exibe apenas processos pertencentes ao usuário especificado - U não mostra processos do usuário especificado -d n Atualiza o monitor a cada n segundos; -t tty Exibe processos apenas do terminal especificado; 57

Comandos para Gerenciamento de Processos tload [opções] Representa de forma gráfica a carga do sistema; Opções -s número Mostra uma escala vertical com espaçamento especificado por número(entre 1 e 10) -d número Especifica o intervalo entre atualizações em segundos; 58

Comandos para Gerenciamento de Processos uptime [-V] Exibe o tempo de funcionamento do sistema e a sua carga; -V Exibe a versão do comando; free [opções] Exibe a quantidade de memória livre e usada no sistema; -m Exibe as informações em megabytes 59

Comandos para Gerenciamento de Processos vmstat Exibe as estatísticas do uso da memória virtual; nice [opção] prioridade comando Executa um processo com uma prioridade diferente da padrão; Prioridade varia entre -20 e 19, quanto menor, maior a prioridade; 60

Comandos para Gerenciamento de Processos renice prioridade [opções] Modifica a prioridade de um processo em execução; Pode ser aplicado a um processo, usuário ou grupo; -p processo -u usuário -g grupo $renice +15 1752 $renice -2 -u usuario $renice +4 -g projeto 61

Sistemas Operacionais de Redes Bibliografia MORIMOTO, Carlos E.. Linux, Entendendo o Sistema Guia Prático. Sul Editores, 2006. MORIMOTO, Carlos E.. Linux, Redes e Servidores Guia Prático. Sul Editores, 2006. BATTISTI, Júlio. Windows Server 2003 Curso Completo. Axcel, 2003. THOMPSON, Marco Aurélio. Windows Server 2003 - administração de redes. Érica, 2003. 62