1.10. Informações Específicas do Red Hat Enterprise Linux

Esta seção aborda as informações relacionadas à filosofia da administração de sistemas específicas ao Red Hat Enterprise Linux.

1.10.1. Automação

A automação de tarefas executadas frequentemente sob o Red Hat Enterprise Linux requer o conhecimento de diversos tipos de tecnologia. Primeiro, os comandos que controlam o tempo do comando ou a execução do script. Os comandos cron e at são os mais usados para estas funções.

Incorporando um sistema de especificação de tempo bastante flexível, mas de fácil entendimento, o cron pode agendar a execução de comandos ou scripts em intervalos recorrentes, variando de minutos a meses. O comando crontab é usado para manipular os arquivos que controlam o daemon do cron, que na verdade agendam cada tarefa do cron para a execução.

O comando at (e o comando batch relacionado) é mais apropriado para agendar a execução de scripts ou comandos para uma única ocorrência. Estes comandos implementam um sub-sistema batch rudimentar que consiste de múltiplas filas com prioridades de agendamento variadas. As prioridades são conhecidas como níveis de niceness (devido o nome do comando — nice). Ambos os comandos, at e batch, são perfeitos para tarefas que devem ocorrer com horário de início determinado, mas não são críticas em seu tempo de término.

Em seguida, estão as diversas linguagens de script. Estas são as "linguagens de programação", usadas pelo administrador de sistemas comum para automatizar operações manuais. Há muitas linguagens de script (e cada administrador de sistemas geralmente tem sua favorita), mas as que seguem são as mais comuns no momento:

Além das diferenças óbvias entre estas linguagens, a maior diferença é a maneira através da qual interagem com outros programas em um sistema Red Hat Enterprise Linux. Os scripts escritos com a janela de comandos bash tendem a utilizar mais extensivamente os diversos utilitários (por exemplo: para efetuar a manipulação dos strings de caracteres), enquanto os scripts perl executam mais esse tipo de operação usando funcionalidades integradas na própria linguagem. Um script escrito usando o python pode explorar totalmente as capacidades orientadas a objetos da linguagem, tornando os scripts mais complexos facilmente extensíveis.

Isto significa que, para conhecer bem o script da janela de comandos, você deve se familiarizar com os diversos programas de utilitários (como grep e sed) que são parte do Red Hat Enterprise Linux. Aprender perl (e python), por outro lado, tende ser um processo mais "auto-suficiente". No entanto, muitas construções da linguagem perl são baseadas na sintaxe de diversos programas de utilitários tradicionais do UNIX, e portanto são familiares aos administradores de sistemas Red Hat Enterprise Linux com experência em scripts de janela de comandos.

1.10.2. Documentação e Comunicação

Nas áreas de documentação e comunicação há poucas coisas específicas ao Red Hat Enterprise Linux. Como documentação e comunicação podem consistir de qualquer coisa, de adicionar comentários a um arquivo-texto de configuração a atualizar uma página web ou enviar um e-mail, um administrador de sistemas usando o Red Hat Enterprise Linux deve ter acesso a editores de texto, editores HTML e clientes de e-mail.

Eis aqui uma pequena amostra dos diversos editores de texto disponíveis sob o Red Hat Enterprise Linux:

O editor de texto gedit é uma aplicação estritamente gráfica (ou seja, requer um ambiente do Sistema X Window), enquanto vim e Emacs são baseados em texto por natureza.

A questão sobre qual é o melhor editor de texto tem sido um debate quase tão longo quanto a existência dos computadores e continuará assim por um bom tempo. Consequentemente, o melhor a fazer é experimentar cada um dos editores e utilizar aquele que mais te agrada.

Em termos de editores HTML, os administradores de sistemas podem usar a função Composer do navegador web Mozilla. Obviamente, alguns administradores de sistemas preferem codificar seu HTML manualmente, o que torna um editor de texto comum uma ferramenta perfeitamente aceitável.

Em relação a e-mail, o Red Hat Enterprise Linux inclui o cliente gráfico de e-mail Evolution, o cliente de e-mail Mozilla (também gráfico) e o mutt, que é baseado em texto. Para os editores de texto, a escolha de um cliente de e-mail tende ser pessoal; portanto, o melhor a fazer é experimentar cada um dos clientes e usar o que funciona melhor para você.

1.10.3. Segurança

Como mencionado anteriormente neste capítulo, a segurança não pode ser um pensamento posterior, e a segurança sob o Red Hat Enterprise Linux não é superficial. Os controles de acesso e autenticação são profundamente integrados ao sistema operacional e baseados em designs extraídos de longos anos de experiência da comunidade UNIX.

Para autenticação, o Red Hat Enterprise Linux usa o PAM — Módulos de Autenticação Plugáveis. O PAM possibilita o ajuste fino da autenticação de usuários através da configuração de bibliotecas compartilhadas, usadas por todas as aplicações que baseiam sua autenticação no PAM. Tudo isso é feito sem a necessidade de alterações nas aplicações.

O controle de acesso sob o Red Hat Enterprise Linux usa permissões tradicionais do estilo UNIX (ler/acessar, gravar e executar) para as classes usuário, grupo e "outros". Como no UNIX, o Red Hat Enterprise Linux também usa os bits setuid e setgid para conferir direitos de acesso expandido a processos rodando um programa específico, baseado na propriedade do arquivo do programa. Obviamente, isto traz a necessidade de auditar cuidadosamente qualquer programa que vá rodar com privilégios setuid ou setgid para garantir que não há vulnerabilidades exploráveis.

O Red Hat Enterprise Linux também inclui suporte para as listas de controle de acesso. Uma lista de controle de acesso (ACL) é uma estrutura que permite um controle restrito sobre quais usuários ou grupos podem acessar um arquivo ou diretório. Por exemplo: as permissões de um arquivo podem restringir todos os acessos de qualquer pessoa além do proprietário (owner) do arquivo. Além disso, a ACL do arquivo pode ser configurada para permitir somente ao usuário gravar/salvar e ao grupo finanças ler/acessar o arquivo.

Um outro aspecto da segurança é a habilidade de registrar as atividades do sistema. O Red Hat Enterprise Linux usa extensivamente os registros, nos níveis do kernel e da aplicação. O registro é controlado pelo daemon de registro do sistema, syslogd, que pode registrar informações do sistema localmente (normalmente em arquivos do diretório /var/log/) ou num sistema remoto (que atua como um servidor de registros dedicado para múltiplos computadores.)

Os sistemas de detecção de intrusão (IDS) são ferramentas poderosas para qualquer administrador de sistemas Red Hat Enterprise Linux. Um IDS possibilita que administradores de sistemas determinem se foram feitas alterações não-autorizadas em um ou mais sistemas. O design do próprio sistema operacional inclui uma funcionalidade igual à do IDS.

Como o Red Hat Enterprise Linux é instalado usando o Administrador de Pacotes RPM (RPM), é possível usá-lo para verificar se foram feitas alterações nos pacotes que constituem o sistema operacional. No entanto, como o RPM é essencialmente uma ferramenta de administração de pacotes, suas habilidades como um IDS são de certa forma limitadas. Mesmo assim, pode ser um bom primeiro passo para monitorar um sistema Red Hat Enterprise Linux e verificar modificações não-autorizadas.