Minicurso Linux

Julia Rizza

contato@juliarizza.com

Usuários

O sistema Linux possui maneiras de gerenciar usuários utilizando comandos do próprio terminal.

  • useradd: Comando para criação de um usuário
  • userdel: Comando para remoção de um usuário
  • usermod: Comando para modificar dados de um usuário
  • passwd: Comando para definir/modificar a senha de um usuário

 

Todos esses comandos você, como usuário administrador, é capaz de executar para gerenciar seu sistema.

Grupos de Usuários

Outro conceito do Linux é o de grupos de usuários, onde reunimos vários usuários sob as condições/permissões de um mesmo grupo.

 

Os grupos também possuem comandos para serem gerenciados:

  • groupadd: Comando para criar um grupo
  • groupdel: Comando para remover um grupo
  • groupmod: Comando para modificar os dados de um grupo

Permissões

Cada arquivo Linux possui 3 agentes:

  • Usuário dono: proprietário do arquivo
  • Grupo dono: grupo de um ou mais usuários que são proprietários do arquivo
  • Outros: outros usuários

Permissões

Cada agente Linux possui 3 permissões:

  • Escrita (w)
  • Leitura (r)
  • Execução (x)

Para verificar as permissões de um arquivo, lembre-se do comando ls -l

Permissões

Quando utilizamos o comando para verificar as permissões, vamos perceber uma composição de: 1 caractere + 3 conjuntos de 3 caracteres.

O 1º caractere é o tipo, e pode ser:

  • d: diretório
  • b: arquivo de bloco
  • c: arquivo especial de caractere
  • p: canal
  • s: socket
  • -: arquivo normal

Permissões

Para alterar as permissões de um arquivo, usamos um formato octal. Nele, adicionamos os valores de cada permissão para obter um número como resultado da permissão.

Permissões

Em seguida, para configurar o valor octal como permissão de um arquivo, usamos o comando chmod. Nele, informamos qual a permissão a ser aplicada e para qual arquivo.

$ chmod 620 exemplo.txt
$ chmod 777 exemplo2.txt
$ chmod 755 exemplo3.txt
$ chmod 770 exemplo4.txt

Propriedade

Além das permissões de um arquivo, podemos mudar à quem ele pertence (dono ou grupo). Podemos ver os atuais donos usando o mesmo comando ls -l e podemos mudá-los utilizando o comando chown.

$ chown [usuário]:[grupo usuário] arquivo.txt
$ chown aluno /teste
$ chown -R aluno /teste
$ chown aluno:alunos arquivo.txt

Processos

Nos sistemas operacionais, um processo é a forma de representar um programa em execução. É o processo que utiliza os recursos do computador - processador, memória, etc - para a realização das tarefas para as quais a máquina é destinada.

Processos

O sistema operacional lida com uma infinidade de processos e, por isso, é necessário ter meios que permitam controlá-los. Para isso, os processos contam com um conjunto de características:

  • Identificador do processo
  • Proprietário do processo
  • Estado do processo (em espera, em execução, etc)
  • Prioridade de execução
  • Recursos de memória

 

Para visualizar os processos em andamento, use o comando top.

PID

Um PID (Process Identifier) é um número de identificação que o sistema dá a cada processo. Para cada novo processo, um novo número deve ser atribuído, ou seja, não se pode ter um único PID para dois ou mais processos ao mesmo tempo.

User

Além do número identificador do processo, o sistema precisa saber quem é o dono daquele processo, ou seja, quem iniciou ele. Por isso, este usuário é aquele mostrado em user.

Sinais

Os processos trabalham recebendo sinais, que são comandos para que este processo realize uma ação. Entre os sinais existentes, tem-se os seguintes exemplos:

  • STOP - esse sinal tem a função de interromper a execução de um processo e só reativá-lo após o recebimento do sinal CONT;
  • CONT - esse sinal tem a função de instruir a execução de um processo após este ter sido interrompido;
  • SEGV - esse sinal informa erros de endereços de memória;

Sinais

Os processos trabalham recebendo sinais, que são comandos para que este processo realize uma ação. Entre os sinais existentes, tem-se os seguintes exemplos:

  • TERM - esse sinal tem a função de terminar completamente o processo, ou seja, este deixa de existir após a finalização;
  • ILL - esse sinal informa erros de instrução ilegal, por exemplo, quando ocorre divisão por zero;
  • KILL - esse sinal tem a função de "matar" um processo e é usado em momentos de criticidade.

Kill

O kill também é um comando muito utilizado para encerrar processos. Porém, para bom funcionamento, ele precisa ser acompanhado de um sinal. Sem o sinal, ele por padrão utiliza o TERM. Para uma boa finalização, devemos utilizar o kill -KILL (com sinal KILL) ou kill -9 (9 é o mesmo que o sinal KILL).

$ kill -[SINAL] [PID]
$ kill -9 1293
$ kill -KILL 1231

Estado dos Processos

Quando um processo é criado, não significa que ele será imediatamente executado. Além disso, determinados processos podem ser temporariamente paralisados para que o processador possa executar um processo prioritário.  Por isso, temos os estados:

  • Executável: o processo pode ser executado imediatamente
  • Dormente: o processo precisa aguardar alguma coisa para ser executado
  • Zumbi: o processo é considerado "morto", mas, por alguma razão, ainda existe
  • Parado: o processo está "congelado", ou seja, não pode ser executado

ps x top

Para verificar os processos da máquina, podemos utilizar o comando ps. Porém, ele só é realmente bom com algumas opções auxiliares, por isso o mais comum é utilizarmos o ps aux. Neste caso, é como se estivéssemos com uma fotografia detalhada da árvore de processos.

 

Além disso, podemos usar o top, bastante similar ao ps aux, porém com atualizações regulares de informações.

jobs

Serve para visualizar os processos que estão parados ou executando em segundo plano (background). Quando um processo está nessa condição, significa sua execução é feita pelo kernel sem que esteja vinculada a um terminal. Em outras palavras, um processo em segundo plano é aquele que é executado enquanto o usuário faz outra coisa no sistema.

fg e bg

O fg é um comando que permite a um processo em segundo plano (ou parado) passar para o primeiro (foreground), enquanto que o bg passa um processo do primeiro plano para o segundo. Para usar o bg, deve-se paralisar o processo. Isso pode ser feito pressionando-se as teclas Ctrl + Z no teclado.

nohup

O comando nohup possibilita ao processo ficar ativo mesmo quando o usuário faz logout. É da natureza dos sistemas baseados em Unix interromper processos caso seu proprietário não esteja mais ativo, por isso, o nohup pode ser muito útil.

Minicurso Linux

Julia Rizza

contato@juliarizza.com

Minicurso Linux - Aula 4

By Júlia Rizza

Minicurso Linux - Aula 4

  • 1,096