Administração de sistemas operacionais
Aula 06Estrutura de diretórios LinuxO diretório /etcProf. Esp. Diovani Milhorim
O diretório /etc
O diretório /etc guarda os arquivos de configuração do sistemas, dos serviços disponíveis e dos aplicativos instalados.
Conhecer os principais diretórios e arquivos do /etc é de importância para o administrador que se propõe a ter domínio sobre o sistema.
O diretório /etc
O diretório /etc/init.d
Em distribuições que seguem o modelo de boot do xBSD este diretório guarda os scripts de inicialização que serão chamados pelo inicializador init do sistema.
O diretório /etc
O diretório /etc/init.d
Figura 01 : conteúdo típico do /etc/init.d
O diretório /etc
O diretório /etc/init.d
Encontramos no /etc/init.d nas distribuições debian, um script “genérico” chamado skeleton, que na verdade é um modelo de script que poderá ser usado para partir qualquer serviço, bastando para isto modificá-lo da forma adequada
O diretório /etc
O diretório /etc/rcx.d
Temos nestes diretórios nomeados de 1 a 6 os link simbólicos para os scripts em /etc/init.d. O número que identifica o diretório (rc1.d, rc2.d, etc..) definem o runlevel que irá utilizar estes links para partir ou parar serviços no processo de boot ou mudança de runlevel.
Em resumo: Os links presentes em /etc/rc3.d indicam quais serviços serão inicializados ou parados no runlevel 3.
O diretório /etc
O diretório /etc/rcx.d
Figura 02: conteúdo típico do diretório /etc/rc3.d
O diretório /etc
O diretório /etc/kbd
Temos nestes diretórios os arquivos de configuração do mapa de teclado do sistema. Em distribuições debian este arquivo é o /etc/kbd/config
Figura 03 : conteúdo típico do diretório /etc/kbd
O diretório /etc
O diretório /etc/kbd
O parâmetro a ser alterado neste arquivo é FONT.
Figura 04: arquivo /etc/kbd/config
O diretório /etc
O diretório /etc/kbd
Aos mapas de caracteres do teclado são encontrados no diretório /usr/share/consolefonts.
Figura 05: conteúdo típico de /usr/share/consolefonts
O diretório /etc
O diretório /etc/kbd
Um modo prático de configurar teclado sem o uso do comando:
#dpkg-reconfigure console-data
Caso não esteja disponível é necessário proceder a instalação do pacote;
#apt-get install console-data
O diretório /etc
O diretório /etc/network
Neste diretório encontramos os arquivos de configuração das interfaces de rede e dos procedimentos anteriores e posteriores ao levantar e baixar estas interfaces.
Figura 06: conteúdo típico do diretório /etc/network
O diretório /etc
O diretório /etc/network
Podemos observar na figura anteriro o arquivo “interfaces” que contêm as informações sobre as interfaces e os diretórios com o scripts de procedimentos ao subir ou descer as interfaces de rede.
O diretório /etc
O diretório /etc/network
Podemos observar na figura anterior o arquivo “interfaces” que contêm as informações sobre as interfaces e os diretórios com o scripts de procedimentos ao subir ou descer as interfaces de rede.
O diretório /etc
O arquivo /etc/crontab
Arquivo que contém a programação de programas que serão executados em horários/datas programadas utilizando o serviço Cron.
O cron pode ser interpretado como um serviço do Linux que é carregado durante o processo de boot do sistema. Trata-se de uma ferramenta que permite programar a execução de comandos e processos de maneira repetitiva ou apenas uma única vez.
O diretório /etc
O arquivo /etc/crontab
o crontab dever ser configurado com o comando seguinte:
#crontab –e
o contrab nada mais é do que um agendador de tarefas do sistema.
O diretório /etc
O arquivo /etc/crontab
O crontab tem o seguinte formato:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]
O preenchimento de cada campo é feito da seguinte maneira: Minutos: informe números de 0 a 59; Horas: informe números de 0 a 23; Dias do mês: informe números de 0 a 31; Mês: informe números de 1 a 12; Dias da semana: informe números de 0 a 7; Usuário: é o usuário que vai executar o comando (não é
necessário especificá-lo se o arquivo do próprio usuário for usado);
Comando: a tarefa que deve ser executada.
Ex: # tarefa 130 22 2,10 * * echo “Facthus – faculdade de talentos humanos"
O diretório /etc
Arquivo /etc/passwd
É o arquivo mais cobiçado por Hackers porque contém os dados pessoais do usuário como o login, uid, telefone e senha (caso seu sistema esteja usando senhas ocultas, a senha terá um * no lugar e as senhas reais estarão armazenadas no arquivo /etc/shadow).
O diretório /etc
Arquivo /etc/passwd
Figura 7: conteúdo típico do arquivo /etc/passwd
O diretório /etc
Arquivo /etc/passwd
A linhas do arquivo /etc/passwd seguem o seguinte format:
Login de usuário; Password criptografado; UID único; GID; Comentários; Diretório home; Shell.
Observe o exemplo:
private:x:1014:1014:Usuário Anônimo FTP:/pub/privado/:/bin/bash
O diretório /etc
Arquivo /etc/shadow
O arquivo /etc/passwd contém informações sobre todos os usuários, inclusive as suas senhas criptografadas. Ele é legível por todos os usuários e, por isso, estas senhas podem ser facilmente crackeadas. Para combater esta vulnerabilidade foi desenvolvido o sistema de sombreamento de senhas, os shadows passwords.
O diretório /etc
Arquivo /etc/shadow
Quando o sistema de sombreamento de senhas está disponível, o campo password do arquivo /etc/passwd é substituído por um "x" e o password do usuário é armazenado no arquivo /etc/shadow. Por esta razão o /etc/shadow é legível somente pelo usuário root. Desta maneira o arquivo /etc/shadow dificulta a ação de usuários maliciosos aumentando a segurança dos passwords dos usuários. O arquivo /etc/shadow contém as seguintes entradas:
Login de usuário; Password criptografado; Campos com tempos de expiração de passwords.
Observe o exemplo:
# cat /etc/shadowprivate:$1$3ZkVpbv6$z.T9d907rVyIcxUFy3wwk.:12643:0:99999:7:::
O diretório /etc
O arquivo /etc/group
As informações sobre os grupos de usuários são armazenadas no arquivo /etc/group. Seu formato é similar ao arquivo /etc/passwd, as suas entradas contém:
Nome do grupo; Password; GID; Grupos membros do grupo.
Observe o exemplo:
# cat /etc/group | grep financeiro
financeiro:x:104:crildo,teste,tux,win2kserver
O diretório /etc
O Arquivo /etc/profile
Este arquivo contém comandos que são executados para todos os usuários do sistema no momento do login. Somente o usuário root pode ter permissão para modificar este arquivo.Este arquivo é lido antes do arquivo de configuração pessoal de cada usuário (.profile(root) e .bash_profile).
Quando é carregado através de um shell que requer login (nome e senha), o bash procura estes arquivos em seqüência e executa os comandos contidos, caso existam:
/etc/profile ~/.bash_profile ~/.bash_login ~/.profile
Ele interrompe a pesquisa assim que localiza o primeiro arquivo no diretório do usuário (usando a sequência acima).
O diretório /etc
O Arquivo /etc/profile
Caso o bash seja carregado através de um shell que não requer login (um terminal no X, por exemplo), o seguinte arquivo é executado:
~/.bashrc.
Observação: Nos sistemas Debian, o profile do usuário root está configurado no arquivo /root/.profile.
O diretório /etc
Arquivo .bash_profile
Este arquivo reside no diretório pessoal de cada usuário. É executado por shells que usam autenticação (nome e senha).
O .bash_profile contém comandos que são executados para o usuário no momento do login no sistema após o /etc/profile. Note que este é um arquivo oculto pois tem um "." no inicio do nome.
Por exemplo:
Colocando a linha:
alias ls='ls --colors=auto
toda vez que você digitar ls será mostrada a listagem colorida.
O diretório /etc
Arquivo .bashrc
Possui as mesmas características do .bash_profile mas é executado por shells que não requerem autenticação (como uma seção de terminal no X).
Os comandos deste arquivo são executados no momento que o usuário inicia um shell com as características acima. Note que este é um arquivo oculto pois tem um "." no inicio do nome.
O diretório /etc
Diretório /etc/skel
Este diretório contém os modelos de arquivos .bash_profile e .bashrc que serão copiados para o diretório pessoal dos usuários no momento que for criada uma conta no sistema. Desta forma você não precisará configurar estes arquivos separadamente para cada usuário.
O diretório /etc
Arquivo /etc/environment
Armazena as variáveis de ambiente que são exportadas para todo o sistema. Uma variável de ambiente controla o comportamento de um programa, registram detalhes úteis durante a seção do usuário no sistema, especificam o idioma das mensagens do sistema, etc.
Exemplo do conteúdo do /etc/environment:
LANG=pt_BRLC_ALL=pt_BRLC_MESSAGES=pt_BR
O diretório /etc
O arquivo /etc/hosts
O arquivo /etc/hosts faz o relacionamento entre um nome de computador e endereço IP local. Recomendado para IPs constantemente acessados e para colocação de endereços de virtual hosts (quando deseja referir pelo nome ao invés de IP).
A inclusão de um computador neste arquivo dispensa a consulta de um servidor de nomes para obter um endereço IP, sendo muito útil para máquinas que são acessadas frequentemente.
O diretório /etc
O arquivo /etc/hosts
A desvantagem de se construir uma lista extensa de endereços neste arquivo é a necessidade de mantê-lo atualizado, se o endereço IP de algum computador for modificado, esta alteração deverá ser feita em cada um dos arquivos hosts das máquinas da rede.
Em um sistema bem gerenciado, os únicos endereços de computadores que aparecerão neste arquivo serão da interface loopback e os nomes de computadores.
Formato do arquivo
# /etc/hosts 127.0.0.1 localhost loopback 192.168.0.1 maquina.dominio.com.br