Curso Introdutório ao Linux
Para ingressantes do BCC-2002



Notas de Aula do Curso


Aula 5 (15/03/2002)

O assunto dessa aula é as permissões e posses de arquivos, além do conceito de processos no sistema e a utilização de comandos para manipulação dos mesmos:

  • Permissões e posse de arquivos:
    • Permissões e posse de arquivos: no UNIX/Linux os arquivos e diretórios possuem donos, e estes donos podem definir permissões que controlam quem pode ler, escrever ou executar o arquivo.
    • Permissões: para arquivos: leitura, escrita e execução. Para diretórios, a permissão de leitura está associada ao poder de listar o diretório, a permissão de escrita refere-se ao fato de acrescentar ou remover arquivos do diretório, e a permissão de execução é associada à listagem de informações dos arquivos do diretório.
    • Verificação de permissões: ao executar o comando ls -l, serão listadas cadeias de caracteres no lado esquerdo da tela, referentes a cada um dos arquivos (ou diretórios) do diretório corrente. Se o caracter "-" estiver presente significa que a permissão está "desligada". O primeiro caracter se refere a arquivo ou diretório, se for um "d" significa que é um diretório, se estiver desligado é um arquivo. Já os outros 9 estão divididos em grupos de 3, sendo que os 3 primeiros são as permissões para o usuário (o dono do arquivo), os 3 seguintes as permissões para o grupo a que pertence o usuário (exemplo: bcc) e os 3 últimos para os outros que não se incluem nas duas últimas categorias. Em cada grupo de 3 caracteres, o primeiro é a permissão de leitura (r - "Read"), o segundo a permissão de escrita (w - "Write") e o terceiro a permissão de execução (x - "eXecute").
    • chown [usuário.grupo] <arquivo(s)>: Altera o dono de um arquivo ou diretório. Somente o usuário root pode alterar a posse de um arquivo (por questão de segurança).
      Opções: -R, altera recursivamente a posse de arquivos ou diretórios.
    • chmod [ugoa][+-=][rwx] <arquivo(s)>: Altera as permissões de um arquivos ou de um diretório.
      u = user, g = group, o = others, a = all, + liga permissões, - desliga permissões, = determina permissões.
    • chmod [octais] <arquivo(s)>: Outra sintaxe para o chmod.
      Os números octais são da forma abc, onde a, b e c vão de 0 a 7, "a" refere-se a user, "b" a group e "c" a others, e equivalem a:
      Octal ASCII
      0 ---
      1 --x
      2 -w-
      3 -wx
      4 r--
      5 r-x
      6 rw-
      7 rwx
  • Processos:
    • Processos: programas sendo executados.
      Programas: arquivos que contém as informações para a execução. Cada processo tem um número associado, chamado PID (Process ID).
    • ps <opções>: mostra os processos em execução na máquina, incluindo seus PIDs.
      OpçÕes: u, a, x, U <usuário>
    • top: Similar ao ps, mas mostra os processos dinamicamente, atualizando a tabela em certos intervalos de tempo.
    • kill -[nº do sinal] PID: manipula processos. Opção interessante: -l lista os sinais.
      Sinais interessantes:
      • -9  : (KILL) Mata instantaneamente um processo.
      • -15 : (TERM) tenta fechar o processo de uma forma mais "amigável".
      • -19 : (STOP) Pausa um processo (Equivalente ao CTRL-Z).
  • Trabalhos (jobs) no bash:
    • Trabalhos no bash: Quando criamos um processo pelo bash, o processo fica associado ao bash como um trabalho seu (job). Os jobs podem estar em execução ou parados. Para parar um processo, digite Ctrl-Z, caso o programa esteja em primeiro plano na sessão de algum bash.
    • jobs: lista os trabalhos.
    • Primeiro e segundo planos: um trabalho pode estar em primeiro plano ou em segundo plano (background).
    • fg [especificação_do_trabalho]: Coloca um trabalho que está em background no primeiro plano.
    • bg [especificaçao_do_trabalho]: Coloca um trabalho em segundo plano.
    • Se executarmos um comando seguido de &, este é executado diretamente em segundo plano.
Home | Informações Gerais | Lista de Discussão | Cronograma | Links | Notas de Aula | Topo

Danilo Toshiaki Sato <dtsato@linux.ime.usp.br>
Daniel de Angelis Cordeiro <danielc@linux.ime.usp.br>


Última modificação: 28/02/2002 12:00