Comandos Linux Gerenciamento de Privilégios

Objetivos

O objetivo deste artigo é apresentar os fundamentos e comandos relacionados ao gerenciamento de privilégios no Linux. Através deste guia, você poderá:

  • Entender como funcionam os privilégios no Linux.
  • Aprender a gerenciar privilégios de diversos usuários.

Introdução

O gerenciamento de privilégios é uma funcionalidade essencial dos sistemas operacionais Linux. Ele permite aos administradores definirem políticas de acesso para usuários e grupos, restringindo ou concedendo permissões a arquivos, diretórios e programas. Isso garante segurança e organização no uso do sistema.


Permissões e Privilégios

Organização de Arquivos

Os arquivos no Linux são organizados em diretórios, e o sistema oferece mecanismos robustos de proteção. Cada arquivo ou diretório possui regras de acesso, que garantem que apenas os usuários autorizados possam realizar ações específicas.

Classes de Privilégios

As permissões no Linux são classificadas em três grupos:

  1. Dono: Geralmente, é o criador do arquivo ou quem o superusuário designar.
  2. Grupo: Representa os usuários de um grupo ao qual o dono pertence.
  3. Outros: Todos os outros usuários do sistema que não pertencem ao grupo.

Níveis de Permissões

Cada classe tem três tipos de permissões:

  • Leitura (r): Permite visualizar o conteúdo do arquivo ou listar o diretório.
  • Escrita (w): Permite alterar ou deletar o conteúdo do arquivo/diretório.
  • Execução (x): Permite executar arquivos ou acessar diretórios.

Bits de Atributos Especiais

Além das permissões básicas, o Linux inclui bits especiais que alteram o comportamento dos arquivos:

  1. Setuid
    • Quando ativado, o arquivo é executado como se fosse pelo dono.
    • Exemplo: Aplicativos administrativos que necessitam de permissões de superusuário.
  2. Setgid
    • Faz com que o arquivo seja executado como se fosse por um membro do grupo proprietário.
    • Nos diretórios, arquivos criados herdam o grupo do diretório.
  3. Sticky
    • Um arquivo com esse bit só pode ser excluído pelo seu próprio dono.
    • Usado em diretórios compartilhados, como /tmp.

Listagem de Privilégios

Para listar privilégios, utiliza-se o comando:

ls -l

Interpretação da Saída

A saída desse comando exibe permissões e outros detalhes. Um exemplo de linha:

-rw-r--r--  1 usuario grupo  1024 Nov 26 15:00 exemplo.txt
  • Primeiro caractere: Tipo de arquivo (- para arquivo comum, d para diretório, etc.).
  • Próximos 9 caracteres: Permissões organizadas em três blocos:
    • Dono (rw- no exemplo).
    • Grupo (r--).
    • Outros (r--).
  • Outros campos incluem o número de links, dono, grupo, tamanho e data de modificação.

Tipos de Arquivos no Linux

Tipo de Arquivo Descrição
- Arquivo comum
d Diretório
l Link simbólico
c Dispositivo de caractere
b Dispositivo de bloco
s Soquete
= Pipe

Gerenciamento de Privilégios com chmod

O comando chmod permite alterar permissões de arquivos ou diretórios. Sua sintaxe é:

chmod [opções] modoarquivo arquivo

Opções Principais:

  • -c: Mostra informações sobre os arquivos modificados.
  • -f: Suprime mensagens de erro.
  • -R: Aplica recursivamente (em subdiretórios).
  • -v: Descreve as alterações realizadas.

Modos de Configuração

Existem dois modos para configurar permissões: Simbólico e Absoluto.


Modo Simbólico

O modo simbólico utiliza identificadores, operandos e valores:

  • Identificadores:
    • u: Usuário.
    • g: Grupo.
    • o: Outros.
    • a: Todos.
  • Operandos:
    • +: Adiciona permissão.
    • -: Remove permissão.
    • =: Substitui permissão.
  • Valores:
    • r: Leitura.
    • w: Escrita.
    • x: Execução.
    • s: Bits setuid/setgid.
    • t: Bit sticky.

Exemplos:

  1. Permitir execução para o dono:
    chmod u+x script.sh
    
  2. Permitir leitura para outros, remover escrita do grupo:
    chmod o+r,g-w arquivo.txt
    

Modo Absoluto

No modo absoluto, as permissões são representadas por números:

Valor Permissões
0 Nenhuma
1 Execução
2 Escrita
3 Execução e Escrita
4 Leitura
5 Leitura e Execução
6 Leitura e Escrita
7 Leitura, Escrita e Execução

Exemplos:

  1. Permitir tudo para o dono, leitura/execução para o grupo e nada para outros:
    chmod 750 script.sh
    
  2. Permitir tudo para todos:
    chmod 777 script.sh
    

Outros Comandos

chown

Troca o dono de um arquivo ou diretório:

chown [opções] novo_dono[.novo_grupo] arquivo

Exemplo:

chown paulo arquivo.txt

chgrp

Troca o grupo de um arquivo ou diretório:

chgrp [opções] novo_grupo arquivo

Exemplo:

chgrp professores relatório.doc

Arquivos de Configuração Importantes

  1. /etc/passwd
    • Armazena informações de usuários (exceto senhas).
  2. /etc/shadow
    • Armazena senhas e outras informações sobre os usuários.
  3. /etc/group
    • Contém detalhes sobre os grupos.

Gerenciamento de Usuários e Grupos

Para criar novos usuários:

useradd [opções] usuário

Opções principais:

  • -d: Define o diretório home.
  • -g: Define o grupo.
  • -s: Especifica o shell padrão.
  • -e: Define a data de expiração da conta.

Exemplo:

useradd -d /home/joao -g usuarios -s /bin/bash joao

Conclusão

O gerenciamento de privilégios é uma parte essencial da administração de sistemas Linux. Ele garante segurança e organização, permitindo que o administrador controle o acesso a recursos do sistema. Dominar comandos como chmod, chown e chgrp, bem como compreender os diferentes níveis de permissões, é fundamental para qualquer profissional ou entusiasta de Linux.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *