Ads 468x60px

quinta-feira, 14 de abril de 2011

Entenda o diretorio / etc


adjtime
Este arquivo possui o fator de correção para o RTC (real time clock, ou seja, relógio de tempo real).

at.allow
Este arquivo possui a lista dos usuários que podem usar o comando at.
Se este arquivo não existir, todos os usuários têm permissão. Se este arquivo estiver vazio, apenas o root pode executar o comando at.

at.deny
Este arquivo possui a lista dos usuários que não podem usar o comando at.
Se o arquivo /etc/at.allow não existir, é verificada a existência do arquivo at.deny e todos os usuários não mencionados no mesmo, recebem permissão para executar o comando at.

bashrc
Este arquivo possui as funções e os aliases disponíveis a todos os usuários do sistema. As letras RC no nome bashrc significa Run Control File (arquivo de controle de execução).
Abaixo mostramos o arquivo padrão da distribuição Conectiva 6.0.
# /etc/bashrc
# Funções e aliases para todo o sistema
# Configurações do ambiente devem ser feitas no arquivo /etc/profile
alias which="type -path"
alias l="ls -laF --color=tty"
alias ls="ls --color=tty"
alias m="minicom -s -con -L"
alias minicom="minicom -s -con -L"
alias tm="tail -f /var/log/messages"
alias tmm="tail -f /var/log/maillog"
alias tms="tail -f /var/log/secure"
alias cds="cd /etc/rc.d/init.d && ls"
alias fd="mount /dev/fd0 /mnt/floppy; cd /mnt/floppy && ls"
alias ufd="cd /mnt && umount floppy && ls"
alias ldir="mount /mnt/floppy && l /mnt/floppy && umount /mnt/floppy"

confissue
Este arquivo é usado como tela de inicialização, no modo texto, dos usuários do sistema.
Na distribuição Conectiva Linux, este arquivo foi substituído pelos arquivos issue e issue.net.

conf.modules
Este arquivo possui a configuração dos módulos do kernel. Abaixo temos o arquivo padrão do Conectiva 5.0.
alias parport_lowlevel parport_pc

crontab
Este é o arquivo crontab do sistema, ou seja, este é o arquivo que armazena as tarefas agendadas do sistema.
Abaixo temos o arquivo padrão do Conectiva 6.0 onde existem quatro tarefas agendadas.
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

csh.login
Este é o arquivo de configuração do shell tcsh. Ele é lido durante o login por todos os usuários que utilizam este interpretador de comandos.

default
Este diretório armazena a configuração padrão de alguns comandos dos sistema.

useradd
Este arquivo possui a configuração padrão usada pelo comando useradd.
Abaixo temos o arquivo padrão do Conectiva 6.0. Neste exemplo, temos as seguintes definições: o diretório home do novo usuário é armazenado em /home; a conta não possui data de expiração (valor -1); o shell padrão a ser usado é o bash; os arquivos de configuração a serem copiados para a conta do usuário estão em /etc/skel.
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel

DIR_COLORS
Este arquivo possui a definição das cores padrão usadas pelo comando ls.

exports
Este arquivo define para o NFS os arquivos que são compartilhado na rede.

fdprm
O nome deste arquivo é acrônimo para "floppy disk parameter table", ou seja, "tabela de parâmetros de floppy disk (disquete)". Este arquivo descreve os formatos de disco a serem lidos pelo drive.

fstab
Este arquivo mostra os dispositivos de hardware disponíveis no seu sistema (isto não significa que estejam montados) e é usado pelo swapon e mount durante o processo de inicialização do sistema. Somente o root (administrador do sistema) pode modificá-lo.
No exemplo abaixo, a primeira linha define a partição raiz, a segunda linha define a partição swap, a terceira linha define a unidade de disquete, a quarta linha define a unidade de CD-ROM, e a quinta linha define o pseudo-diretório /proc.
Sistema de Arquivos Ponto de Montagem Tipo opções dp ord
/dev/hda3 / ext2 defaults 1 1
/dev/hda2 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto user,noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0
none /proc proc defaults 0 0
none /dev/pts devpts mode=0622 0 0
As duas primeiras colunas mostram, respectivamente, o nome do sistema de arquivos, e o ponto de montagem.A terceira coluna mostra o tipo do sistema de arquivos usado, onde, por exemplo:
  • ext2 é o tipo padrão do Linux.
  • swap é uma área de troca.
  • auto define que o tipo do sistema de arquivos contido no dispositivo deve ser automaticamente detectado.
  • iso9660 é o sistema de arquivos utilizado pelo CDROM.
  • vfat é o sistema de arquivos do Windows.
  • msdos é o sistema de arquivos do MS-DOS.
A quarta coluna exibe as opções de montagem do sistema de arquivos, onde algumas das opções são
  • async - as operações de E/S são realizadas assincronamente.
  • auto - o sistema pode ser montado durante a inicialização ou pode ser montado com o comando mount -a.
  • defaults - usa as opções padrão: rw, suid, dev, exec, auto, nouser e async.
  • dev - interpreta dispositivos especiais de blocos ou caractere.
  • exec - permite que os programas sejam executados a partir do dispositivo.
  • noauto - não pode ser montado com o comando mount -a (deve ser montado explicitamente).
  • noexec - não permite que os programas sejam executados a partir do dispositivo.
  • nosuid - não permite o uso dos bits de configuração de identificação de usuário ou de grupo.
  • nouser - não permite que o usuário comum monte o sistema de arquivos.
  • ro - monta o dispositivo para leitura.
  • rw - monta o dispositivo para leitura e gravação.
  • suid - permite uso dos bits de configuração de identificação do usuário e do grupo.
  • user - permite que o usuário comum monte o sistema de arquivos.
A quinta coluna define quais sistemas de arquivos devem ser copiados pelo programa dump. Este programa examina os arquivos e determina quais arquivos devem ser copiados (backup). Um valor zero significa que o sistema não é examinado pelo programa dump. Um valor 1 significa que será feito o backup do sistema de arquivos toda vez que o programa dump for executado.
A sexta coluna define a ordem pela qual os sistemas de arquivos devem ser verificados durante o processo de inicialização pelo programa fsck. O sistema raiz (/) deve ter ordem 1 (primeiro a ser verificado) e os outros sistemas devem ter valor zero (não é verificado) ou valor maior que 1 (é verificado). É possível especificar um mesmo valor para mais de um sistema de arquivos, isto significa que os sistemas serão checados em paralelo.
ftpusers
Este arquivo possui a lista dos usuários autorizados a fazer ftp na máquina.
gettydefs
Este arquivo possui as configurações de velocidade e os parâmetros de tty das linhas usados pelo getty.
Cada entrada em /etc/gettydefs tem o seguinte formato:
entrada# indicadores iniciais # indicadores finais # prompt de acesso #próxima entrada
onde
  • entrada : é segundo argumento do getty (normalmente é a velocidade de acesso do terminal).
  • indicadores iniciais : configuração inicial do terminal caso um tipo de terminal não seja especificado para o getty.
  • indicadores finais : configuração de finalização para o terminal. Estes indicadores tem os mesmos valores que os indicadores iniciais e são configurados a priori somente para que o getty execute o login.
  • prompt de acesso : o prompt de acesso pode conter diversos campos @char e parâmetros \char descritos em getty.
  • próxima entrada : indica a próxima entrada na tabela que o getty deve usar se o usuário digitar uma quebra ou a entrada não puder ser lida.
Caso o getty seja ativado sem um argumento de velocidade, a primeira entrada do /etc/gettydefs é usada como padrão.
group
Este arquivo possui as definições dos grupos do sistema. Existe uma entrada no arquivo para cada grupo de usuários do sistema com as seguintes informações: nome do grupo, senha do grupo (se houver), número de GID (group identification) e a lista dos usuário que pertencem a esse grupo.
Por exemplo, a linha abaixo mostra a entrada criada em etc/group para o grupo sys que tem GID igual a 3 e que possui três membros: root, bin e adm.
sys:x:3:root,bin,adm

gshadow
Este arquivo possui as senhas criptografadas dos grupos do sistema.
Apenas o root (administrador do sistema) tem permissão para acessar o arquivo /etc/gshadow.
O comando grpconv é usado para criar o arquivo gshadow a partir do arquivo /etc/group, enquanto o comando grpunconv executa a operação inversa.

host.conf
Este arquivo configura a ordem de procura dos nomes das máquinas.
order hosts,bind
multi on

hosts
Este arquivo possui os endereços e os nomes das máquinas da rede. Inicialmente, o arquivo apresenta a seguinte configuração padrão
127.0.0.1 localhost localhost.localdomain

hosts.allow
Este arquivo possui a lista das máquinas que possuem autorização para acessar os serviços de rede colocados disponíveis por esta máquina.

hosts.deny
Este arquivo possui a lista das máquinas que não podem acessar os serviços de rede colocados disponíveis por esta máquina.

inetd.conf
Este é o arquivo de configuração dos serviços mantidos pelo servidor INETD. Esses serviços são disponibilizados para as máquinas listadas em /etc/hosts.allow e proibidos para as máquinas listadas em /etc/hosts.deny.

inittab
É o primeiro arquivo lido pelo sistema pois possui a configuração usada pelo processo init. Uma entrada no arquivo inittab tem geralmente o seguinte formato:
label:runlevel:action:process
onde
  • label é uma palavra de um a quatro caracteres que identifica a entrada.
  • runlevel indica os níveis de inicialização aos quais se aplicam a entrada.
  • action define as condições sob as quais o processo executa.
  • process é o nome do processo a ser executado pelo init.
O arquivo inittab da distribuição Conectiva Linux 5.0 é mostrado abaixo (os comentários foram retirados e a numeração das linhas foi incluída para facilitar a discussão feita em seguida):
1. id:5:initdefault:
2. si::sysinit:/etc/rc.d/rc.sysinit
3. l0:0:wait:/etc/rc.d/rc 0
4. l1:1:wait:/etc/rc.d/rc 1
5. l2:2:wait:/etc/rc.d/rc 2
6. l3:3:wait:/etc/rc.d/rc 3
7. l4:4:wait:/etc/rc.d/rc 4
8. l5:5:wait:/etc/rc.d/rc 5
9. l6:6:wait:/etc/rc.d/rc 6
10. ca::ctrlaltdel:/sbin/shutdown -t3 -r now
11. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
12. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
13. 1:2345:respawn:/sbin/mingetty tty1
14. 2:2345:respawn:/sbin/mingetty tty2
15. 3:2345:respawn:/sbin/mingetty tty3
16. 4:2345:respawn:/sbin/mingetty tty4
17. 5:2345:respawn:/sbin/mingetty tty5
18. 6:2345:respawn:/sbin/mingetty tty6
19. x:5:respawn:/etc/X11/prefdm -nodaemon
Podemos comentar em relação ao arquivo inittab:
  • A linha 1 define o runlevel (ou nível de execução) padrão usado pelo init. Neste exemplo,foi escolhido o runlevel 5 que inicializa o sistema como um terminal dedicado X Windows (o initdefault apesar de ser uma ação, não executa um processamento, apenas estabelece o runlevel padrão).
  • A linha 2 diz ao init que execute o script de inicialização do sistema /etc/rc.d/rc.sysinit.
  • As linhas de 3 a 9 são usadas para chamar o script /etc/rc.d/rc. Note que somente umas dessas linhas é executada (depende do valor do runlevel do sistema). O uso de wait indica ao init que ele deve esperar o término do script antes de continuar. Por exemplo, se o runlevel do sistema é 5, então a linha correspondente ao label l5 é executada, ou seja, o script /etc/rc.d/rc é chamado com parâmetro 5.
  • A linha 10 define o que o sistema faz quando as teclas especiais CTRL+ALT+DEL são pressionadas, independente do valor do runlevel. Neste exemplo, o sistema é reinicializado (o parâmetro -r significa restart) após 3 segundos.
  • As linhas 11 e 12 definem o que o sistema faz quando ocorre problema de queda e restauração de energia.
  • As linhas de 13 a 18 executam o mingetty para gerar 6 consoles virtuais (tty1 a tty6).
  • A linha 19 executa o script /etc/X11/prefdm que seleciona o gerenciador de login gráfico a ser usado. São exemplos de gerenciadores gráficos disponíveis: xdm, kdm (do KDE) e gdm (do Gnome). É possível alterar esta linha para chamar imediatamente o gerenciador de login de sua preferência ao invés de executar o script prefdm. Por exemplo, para carregar o xdm na inicialização altere esta linha para
    x:5:once:/usr/X11R6/bin/xdm -nodaemon
    Para executar o kdm, digite
    x:5:once:/usr/bin/kdm -nodaemon
    E para usar o gdm, use
    x:5:once:/usr/bin/gdm -nodaemon

issue
Este arquivo é usado como tela de inicialização, no modo texto, dos usuários do sistema.
Normalmente, este arquivo mostra o nome e a versão do sistema operacional, além do logotipo do Linux.
Em algumas distribuições Linux, este arquivo é criado a cada boot da máquina pelo arquivo /etc/rc.d/rc.local.
Para conhecer os caracteres especiais que podem ser usados neste arquivo, veja mingetty.

issue.net
Este arquivo é usado como tela de inicialização em um login remoto (por exemplo, telnet).
Em algumas distribuições Linux, este arquivo é criado a cada boot da máquina pelo arquivo /etc/rc.d/rc.local.
Para conhecer os caracteres especiais que podem ser usados neste arquivo, veja mingetty.

ld.so.cache
Este arquivo possui as informações sobre as bibliotecas compartilhadas do sistema. Sempre que uma alteração ocorre em bibliotecas compartilhadas em qualquer diretório configurado (arquivo /etc/ld.so.conf), deve-se executar o comando ldconfig para atualizar o arquivo de cache.


ld.so.conf
Este arquivo possui a lista dos diretórios onde são armazenadas as bibliotecas compartilhadas.
Abaixo temos um exemplo do ld.so.conf da distribuição Conectiva Linux 5.0.
/usr/i486-linuxaout/lib
/usr/X11R6/lib
/usr/lib
/usr/i486-linux-libc5/lib
Sempre que este arquivo é atualizado, deve-se executar o programa ldconfig. Este comando lê o arquivo /etc/ld.so.config e atualiza o arquivo /etc/ld.so.cache, que é utilizado pelo carregador dinâmico (biblioteca compartilhada usada para carregar e linkar dinamicamente outras bibliotecas compartilhadas).

lilo.conf
Este é o arquivo de configuração do LILO onde são definidas as diferentes imagens que podem ser usadas no processo de inicialização do sistema. Abaixo mostramos um exemplo deste arquivo (incluimos a numeração das linhas para facilitar a explicação feita em seguida).
1. boot=/dev/hda
2. map=/boot/map
3. install=/boot/boot.b
4. prompt
5. timeout=50
6. message=/boot/message
7. other=/dev/hda1
8. label=w
9. table=/dev/hda
10. image=/boot/vmlinuz-2.2.14-19c
11. label=l
12. root=/dev/hda3
13. read-only
Podemos fazer os seguintes comentários sobre o exemplo acima:
  • A linha 1 especifica o nome do dispositivo que contém o setor de inicialização. Neste exemplo, o dispositivo é o /dev/hda.
  • A linha 2 especifica a localização do arquivo mapa. Este arquivo contém as localizações físicas do kernel de uma forma que podem ser lidas pelo LILO. Caso a linha "map" seja omitida, o arquivo /boot/map é usado (note que neste exemplo usamos o arquivo padrão).
  • A linha 3 fornece o nome do arquivo a ser instalado no setor de inicialização. Caso esta linha seja omitida, o arquivo /boot/boot.b é usado como padrão.
  • A linha 4 força a apresentação da mensagem de acesso ao sistema (prompt de inicialização).
  • A linha 5 configura o tempo de espera (em décimos de segundos) para a entrada de teclado. Caso nenhuma tecla seja pressionada no tempo especificado (o padrão de espera é infinito), a primeira imagem é automaticamente carregada. Nesta configuração, o usuário tem 5 segundo para digitar w para inicializar o Windows ou l para inicializar o Linux. Caso nada seja digitado, o sistema inicializa o Windows após 5 segundos. Para ver quais as opções disponíveis durante a inicialização, basta pressionar a tecla TAB após o aparecimento do prompt de inicialização.
  • A linha 6 especifica um arquivo com uma mensagem a ser apresentada antes da linha de inicialização.
  • As linhas 7, 8 e 9 apresentam um sistema de arquivos não Linux que está armazenado na partição /dev/hda1. O parâmetro other indica que o sistema não é Linux. O parâmetro label indica que basta digitar w na linha de inicialização para que este sistema de arquivos seja inicializado. E por último, o parâmetro table indica qual é o dispositivo que contém a tabela de partição do sistema.
  • As linhas de 10 a 13 apresentam um sistema de arquivos Linux. O parâmetro image indica que o sistema é Linux e que o kernel a ser carregado é o vmlinuz-2.2.14-19c. O parâmetro label indica que basta digitar l na linha de inicialização para que este sistema de arquivos seja inicializado. O parâmetro root especifica o dispositivo a ser montado como raiz (neste exemplo temos a partição /dev/hda3). A última linha define que o sistema de arquivos raiz deve ser montado apenas para leitura (tipicamente, a autorização para leitura e escrita só é dada após a execução do fsck).
A configuração acima permite que qualquer usuário reinicialize o sistema em modo single e passe a ter acesso, sem senha, a qualquer parte do sistema. Para isto basta que o usuário digite na linha de inicialização a seguinte identificação:
l single
A identificação acima faz o sistema inicializar o Linux no modo monousuário (o processo init usa o nível de execução 1). Nenhuma senha é solicitada e o usuário tem acesso imediato à raiz. Esta é uma porta de acesso importante para quem esqueceu a senha do root, mas é também uma porta que pode permitir intrusos indesejáveis. Para fechar esta porta adicione ao lilo.conf os parâmetros restricted e password e em seguida, digite lilo na linha de comando para validar a alteração feita no arquivo lilo.conf.
Vejamos como podemos alterar o arquivo lilo.conf do exemplo acima para impedir que algum usuário entre com a identificação l single.
image=/boot/vmlinuz-2.2.14-19c
label=l
root=/dev/hda3
read-only
password=teste
restricted
A opção password define uma senha que deve ser informada durante a reinicialização do sistema. A opção restricted ameniza um pouco a segurança. Ela diz que a senha é requerida apenas quando são passados parâmetros para o sistema durante a inicialização (o termo single, por exemplo). Portanto, deve-se fornecer a senha teste após a inicialização do sistema em modo single. Naturalmente, as permissões de acesso ao arquivo lilo.conf devem ser alteradas para impedir que este arquivo seja lido por qualquer outro usuário que não o root (use o comando chmod).

login.defs
Este arquivo possui a configuração padrão utilizada pelo comando adduser na criação de novas contas de usuários.
Abaixo temos o arquivo padrão da distribuição Conectiva 6.0. Os comentários (as linhas que começam com #) não estão aqui reproduzidas com o objetivo de facilitar a visualização das diretivas definidas neste arquivo.
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 500
UID_MAX 60000
GID_MIN 500
GID_MAX 60000
CREATE_HOME yes
onde
  • MAIL_DIR : define o diretório para armazenamento dos e-mails;
  • PASS_MAX_DAYS : número de dias até que a senha expire;
  • PASS_MIN_DAYS : número de dias entre duas alterações de senha;
  • PASS_MIN_LEN : número mínimo de caracteres para uma senha.
  • PASS_WARN_AGE : número de dias, antes da expiração da senha, em que o usuário deve ser avisado.
  • UID_MIN : número mínimo para UID de usuários comuns.
  • UID_MAX : número máximo para UID de usuários comuns.
  • GID_MIN : número mínimo para GID de grupos.
  • GID_MAX : número máximo para GID de grupos.
  • CREATE_HOME : indica se o diretório home deve ser criado automaticamente ou não.

man.config
Este arquivo possui a lista dos diretórios onde as páginas do manual on-line (comando man) devem ser procuradas, além de definir a ordem em que a pesquisa por uma página do manual é feita. Abaixo mostramos o arquivo padrão do Conectiva 6.0.
FHS
MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/X11R6/man
MANPATH /usr/lib/perl5/man
MANPATH_MAP /bin /usr/man
MANPATH_MAP /sbin /usr/man
MANPATH_MAP /usr/bin /usr/man
MANPATH_MAP /usr/sbin /usr/man
MANPATH_MAP /usr/local/bin /usr/local/man
MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man
MANPATH_MAP /usr/bin/X11 /usr/X11R6/man
MANPATH_MAP /usr/bin/mh /usr/man
TROFF /usr/bin/groff -Tps -mandoc
NROFF /usr/bin/groff -Tlatin1 -mandoc
EQN /usr/bin/geqn -Tps
NEQN /usr/bin/geqn -Tlatin1
TBL /usr/bin/gtbl
REFER /usr/bin/grefer
PIC /usr/bin/gpic
VGRIND
GRAP
PAGER /usr/bin/less -is
CAT /usr/bin/cat
CMP /usr/bin/cmp -s
COMPRESS /usr/bin/gzip
COMPRESS_EXT .gz
MANSECT 1:8:2:3:4:5:6:7:9:tcl:n:l:p:o
.gz /usr/bin/gunzip -c
.bz2 /usr/bin/bzip2 -c -d
.z
.Z
.F
.Y
Observe a definição da variável de ambiente MANSECT no exemplo acima. É esta variável que define a ordem em que as seções do manual são pesquisadas. Por exemplo, existe o comando de administração do sistema (8) swapon e a chamada de sistema (2) swapon. De acordo com o arquivo mostrado, se o usuário digitar
man swapon
o sistema fornecerá informações sobre o comando swapon, pois o nível 8 é pesquisado antes do nível 2. Para ler sobre a chamada de sistema swapon, o usuário deve digitar
man 2 swapon

motd
O nome deste arquivo é acrônimo para "Message Of The day", ou seja, "mensagem do dia". Ele pode ser usado pelo administrador para enviar mensagens aos usuários do sistema.
O motd é um simples arquivo texto cujo conteúdo é exibido pelo processo login após um login bem sucedido, antes do shell ser executado.

mtab
Este arquivo possui a lista dos sistemas de arquivos que estão montados no Linux.
Os campos exibidos neste arquivo significam: nome do sistema de arquivo, ponto de montagem, tipo do sistema de arquivos, opções de montagem, opção de cópia (backup) do sistema e ordem de verificação do sistema.
No exemplo abaixo, temos dois sistemas de arquivos que foram montados. O primeiro é o /dev/hda3 montado em / e o segundo é o /dev/fd0 montado em /mnt/floppy.
/dev/hda3 / ext2 rw 0 0
none /proc proc rw 0 0
none /dev/pts devpts rw,mode=0622 0 0
/dev/fd0 /mnt/floppy vfat rw,noexec,nosuid,nodev,user=aluno 0 0
Veja a descrição de /etc/fstab para conhecer um pouco sobre as opções de montagem.

mtools
Este é o arquivo configuração do pacote mtools.

nologin
Este arquivo impede que usuários comuns (não são root) acessem o sistema.
Se este arquivo existe, o login permite apenas o acesso do root ao sistema. Se um usuário comum tentar logar, o conteúdo do arquivo nologin é apresentado e o login é recusado.

passwd
Este arquivo possui a lista de usuários do sistema.
Existe uma entrada no arquivo para cada usuário do sistema com as seguintes informações: nome, senha (caso se use shadow password em seu sistema, as senhas criptografadas são armazenadas em /etc/shadow), número de UID (user identification), número de GID (group identification), informações sobre o usuário (inicialmente está vazio), o diretório home do usuário e o shell padrão do usuário. Por exemplo, a linha abaixo mostra a entrada criada em /etc/passwd para o usuário aluno que tem UID e GID iguais a 501.
aluno:x:501:501::/home/aluno:/bin/bash
As informações sobre o usuário (nome, telefone, local de trabalho, etc) são incluídas com o comando chfn e visualizadas com o comando finger.

printcap
Este arquivo possui a configuração das impressoras do sistema.
O exemplo abaixo mostra a definição de uma impressora Epson Stylus Color 600 definida através da ferramenta printtoll.
##PRINTTOOL3## LOCAL uniprint NAxNA a4 {}
##U_EpsonStylusColor stc600ih 1
lp:\
:sd=/var/spool/lpd/lp:\
:mx#0:\
:sh:\
:lp=/dev/lp0:\
:if=/var/spool/lpd/lp/filter:
onde
sd define o diretório de spool;
mx define o tamanho máximo do arquivo (zero = ilimitado);
sh suprime a impressão de cabeçalho de página;
lp define o nome do dispositivo de saída;
if define o filtro usado na impressão dos arquivos.

profile
Este arquivo possui a definição padrão do ambiente do sistema pois abriga as configurações para todos os usuários.
Normalmente, a configuração de aliases e funções é feita no arquivo bashrc

profile.d
Este diretório possui as definições usadas pelos usuários.

lang.sh
Este arquivo define as variáveis de ambiente relacionadas ao idioma padrão do sistema.

protocols
Este arquivo possui a lista dos protocolos Internet DARPA que estão disponíveis para o subsistema TCP/IP. Cada linha deste arquivo possui o seguinte formato:
protocolo número aliases ...
onde
  • protocolo é o nome do protocolo.
  • número é o número do protocolo que é usado nos cabeçalhos IP.
  • aliases são os outros nomes pelos quais o protocolo é conhecido.
Abaixo mostramos algumas linhas do arquivo protocols da ditribuição Conectiva 6.0.
ip0IP# internet protocol, pseudo protocol number
icmp1ICMP# internet control message protocol
igmp2IGMP# Internet Group Management
ggp3GGP# gateway-gateway protocol
ipencap4IP-ENCAP# IP encapsulated in IP (officially ``IP'')

quota.conf
Este arquivo possui as definições das cotas do sistema. Abaixo temos um exemplo deste arquivo com três definições: a cota padrão para os usuários, a cota padrão para os grupos e a cota para o usuário aluno.
[base]
userdef./dev/hda3 none 35000 40000 -1 -1 604800 604800
groupdef./dev/hda3 none -1 -1 -1 -1 604800 604800
user./dev/hda3 aluno 50000 60000 -1 -1 304200 604800

rc.d
Este diretório possui os arquivos/diretórios usados na inicialização do sistema.

Os scripts relacionados a cada runlevel estão armazenados no diretório rcX.d, onde X é o número de runlevel. Dentro de cada diretório, existem arquivos cujos nomes começam com Snn e Knn, onde nn são dois números.
Os arquivos que começam com a letra S (Start) correspondem a serviços que devem ser inicializados nesse runlevel. Os dois números que seguem a letra S indicam a ordem em que esses processos devem ser inicializados. Normalmente, o último processo a ser inicializado é o rc.local que possui as tarefas específicas da máquina em questão. Os arquivos que começam com K (Kill) indicam quais processos devem ser finalizados naquele runlevel.
Na realidade, os scripts de rcn.d são apenas links lógicos para os scripts reais que estão localizados no diretório /etc/rc.d/init.d.
Na distribuição Conectiva Linux 6.0 temos os seguintes diretórios: rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d e rc6.d. Portanto, temos 7 diferentes níveis de inicialização do sistema.

init.d
Este diretório possui os scripts de inicialização do sistema como, por exemplo,
  • atd - servidor que executa serviços agendados pelo comando at.
  • crond - servidor que executa serviços agendados pelo comando crontab.
  • httpd - servidor de páginas HTML e scripts CGI (é o servidor web Apache).
  • inetd - servidor responsável pelos serviços de rede.
  • lpd - servidor de impressão de arquivos.

rc
Este arquivo é o script de controle de inicialização do runlevel (nível de execução).
O script rc recebe como parâmetro o número do runlevel a ser inicializado. Por exemplo, o comando rc 5 faz o sistema inicializar o runlevel 5.
Os scripts relacionados a cada runlevel estão armazenados no diretório rcX.d de /etc/rc.d, onde X é o número de runlevel.
Para saber mais sobre os níveis de execução do sistema, veja init.

rc.local
Este arquivo gera, a cada inicialização do sistema, a tela de login do modo texto.
O arquivo rc.local é um script e pode ser usado pelo usuário para incluir outros scripts a serem executados durante o processo de inicialização do sistema.
A seguir mostramos o arquivo padrão da Conectiva Linux 5.0, onde numeramos as linhas para facilitar a discussão feita em seguida.
1. #!/bin/sh
2. # This script will be executed *after* all the other init scripts.
3. # You can put your own initialization stuff in here if you don't
4. # want to do the full Sys V style init stuff.
5. . /etc/profile.d/lang.sh
6. if [ -f /etc/versão-conectiva ] ; then
7. R=$(cat /etc/versão-conectiva)
8. # This will overwrite /etc/issue at every boot.
9. # So, make any changes you
10. # want to make to /etc/issue here or you will
11. # lose them when you reboot.
12. echo "$R" > /etc/issue.net
13. echo "Kernel $(uname -r)" >> /etc/issue.net
14. echo >> /etc/issue.net
15. if [ -x /usr/bin/linux_logo ] ; then
16. clear > /etc/issue
17. linux_logo -classic >> /etc/issue
18. echo "$R" >> /etc/issue
19. echo >> /etc/issue
20. else
21. cat /etc/issue.net > /etc/issue
22. fi
23. fi
Podemos comentar em relação ao arquivo acima (veja shell para saber mais detalhes sobre criação e execução de scripts):
  • A linha 1 informa que o script deve ser executado pelo shell sh.
  • As linhas de 2 a 4 são comentários.
  • O ponto (.) no início da linha 5 indica que o arquivo lang.sh do diretório /etc/profile.d/ deve ser carregado e executado. Este arquivo possui as especificações relacionadas ao idioma padrão do sistema.
  • A linha 6 verifica se o arquivo /etc/versão-conectiva existe e se é um arquivo normal. Caso seja verdade, as linhas de 7 a 22 são executadas.
  • A linha 7 executa o comando cat (lista) no arquivo /etc/versão-conectiva e direciona o resultado para a variável R. Este arquivo possui o nome do sistema operacional.
  • As linhas de 8 a 11 são comentários.
  • A linha 12 copia o conteúdo da variável R para o arquivo /etc/issue.net. Caso este arquivo não exista, ele é criado. Caso o arquivo já exista, ele é apagado e depois criado novamente.
  • A linha 13 adiciona ao arquivo /etc/issue.net a palavra Kernel mais o resultado do comando uname -r. Este comando exibe a versão do sistema operacional.
  • A linha 14 acrescenta uma linha em branco ao arquivo /etc/issue.net.
  • A linha 15 verifica se o arquivo usr/bin/linux_logo existe e se ele é executável. Caso isto seja verdade, as linhas de 16 a 19 são executadas, senão apenas a linha 21 é executada.
  • A linha 16 inclui no arquivo /etc/issue os caracteres correspondente ao comando clear (limpar tela). Isto significa que ao exibir este arquivo com o comando cat, o sistema irá primeiro limpar a tela.
  • A linha 17 executa o arquivo /bin/usr/linux_logo que copia o logotipo do Linux para /etc/issue. O parâmetro -classic escolhe a versão antiga do logotipo. Digite /usr/bin/linux_logo --help para ver as outras opções deste aplicativo.
  • A linha 18 copia o conteúdo da variável R (nome do sistema operacional) para o arquivo /etc/issue.
  • A linha 19 acrescenta uma linha em branco ao arquivo /etc/issue.
  • A linha 21 copia o conteúdo do arquivo /etc/issue.net para /etc/issue. Caso o arquivo /etc/issue não exista, ele é criado. Caso este arquivo já exista, ele é apagado e depois criado novamente.
Note que as linhas de 12 a 14 criam o arquivo /etc/issue.net, enquanto as linhas de 15 a 21 criam o arquivo /etc/issue, a cada inicialização do sistema. Você pode, por exemplo, comentar as linhas do arquivo /etc/rc.d/rc.local e usar os arquivos /etc/issue e /etc/issue.net para exibir mensagens para os usuários do sistema durante o login.

rc.sysinit
Este arquivo é o script de inicialização do sistema e é executado pelo inittab.
São tarefas executadas pelo script rc.sysinit:
  • inicializar o espaço de troca (swap);
  • usar o comando fsck para executar a verificação do sistema de arquivos;
  • montar o sistema de arquivos /proc e o sistema de arquivos / (raiz) como read-write;
  • carregar os módulos do kernel.

rpc
Este arquivo possui a lista dos números e respectivos nomes dos serviços RPC (Remote Procedure Calls) que são usados na implementação de serviços no modelo cliente-servidor.
Cada linha deste arquivo possui o seguinte formato:
serviço número aliases
onde
  • serviço é o nome do serviço.
  • número é o número RPC do serviço.
  • aliases são os outros nomes pelos quais o serviço é conhecido.
Abaixo mostramos algumas linhas do arquivo rpc da ditribuição Conectiva 6.0.
portmapper100000portmap sunrpc rpcbind
rstatd100001rstat rup perfmeter rstat_svc
rusersd100002rusers
nfs100003nfsprog
ypserv100004ypprog

securetty
Este arquivo possui a lista dos terminais (tty) nos quais o root pode acessar o sistema.
Este arquivo é usado pelo processo login para verificar se o terminal é considerado seguro para acesso do root.
Abaixo temos o arquivo securetty padrão da distribuição Conectiva 6.0. Note que, neste exemplo, o root pode acessar o sistema de qualquer terminal.
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
tty12

services
Este arquivo possui a lista dos serviços de rede e suas respectivas portas segundo recomendações da IANA (Internet Assigned Numbers Authorith).
Cada linha deste arquivo possui o seguinte formato:
serviço porta/protocolo aliases
onde
  • serviço é o nome do serviço.
  • porta é o número da porta (em decimal) para o serviço especificado.
  • protocolo é o tipo do protocolo usado na camada 4 (tcp ou udp).
  • aliases são os outros nomes pelos quais o serviço é conhecido.
Abaixo mostramos algumas linhas do arquivo services da ditribuição Conectiva 6.0.
ftp21/tcp

fsp21/udpfspd
ssh22/tcp
# SSH Remote Login Protocol
ssh22/udp
# SSH Remote Login Protocol
telnet23/tcp

smtp25/tcpmail

shadow
Este arquivo possui as senhas criptografadas dos usuários do sistema.
Existe uma entrada no arquivo para cada usuário do sistema com os seguintes campos:
  • o nome do usuário;
  • a senha criptografada;
  • o número de dias que existem de 01/01/1970 até a data da última modificação da senha;
  • número de dias antes do sistema permitir uma nova modificação na senha;
  • número máximo de dias que o usuário pode ficar com uma mesma senha;
  • número de dias, antes da expiração da senha, quando o usuário é informado da necessidade de alterar a senha;
  • número de dias, após a expiração da senha, quando a conta passa a ser considerada inativa (o valor -1 significa que a conta fica inativa no mesmo dia da data de expiração);
  • número de dias que existem de 01/01/1970 até a expiração da senha (o valor -1 significa que não há data de expiração);
  • campo reservado para uso futuro.
Abaixo temos um exemplo do usuário aluno. Note que os dados do usuário estão separados por dois pontos (":").
aluno:$1$Tcnt$Eisi0J9Wh3fCEsz1:11067:0:99999:7:-1:-1:134537684
Apenas o root (administrador do sistema) tem permissão para acessar o arquivo /etc/shadow.
O comando pwconv é usado para criar o arquivo shadow a partir do arquivo /etc/passwd, enquanto o comando pwunconv executa a operação inversa.

shells
Este arquivo possui a lista dos shells que o sistema suporta.

Abaixo temos o exemplo do arquivo na distribuição Conectiva Linux 5.0, onde o sistema suporta nove diferentes tipos de shells.
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/bash2
/bin/ksh
/bin/tcsh
/bin/csh
/bin/zsh

shutdown.allow
Este arquivo possui a lista de usuários autorizados a reinicializar o sistema com a combinação de teclas CTRL+ALT+DEL.
Caso este arquivo não exista, todos os usuários possuem autorização. Caso este arquivo exista e esteja vazio, apenas o root (administrador do sistema) tem autorização.

skel
Este diretório possui os arquivos padrão das contas de usuário.
Os arquivos do diretório skel são copiados para o diretório home do usuário durante o processo de criação da conta do usuário (comando adduser).

sudoers
Este arquivo permite que um usuário execute um comando/programa como se fosse outro usuário. Por exemplo, abaixo temos um arquivo sudoers onde o usuário aluno tem autorização para executar os aplicativos vipw e vigr como se fosse o root. Caso seja necessário mais segurança é só remover a palavra NOPASSWD: que aparece na útima linha.
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
Runas_Alias EXECUTORES = root

# Host alias specification

# User alias specification
User_Alias USUARIOS = aluno

# Cmnd alias specification
Cmnd_Alias PROGRAMAS = /usr/sbin/vipw, /usr/sbin/vigr

# User privilege specification
root ALL=(ALL) ALL
USUARIOS ALL=(EXECUTORES) NOPASSWD:PROGRAMAS

sysconfig
Este diretório possui as configurações de hardware do sistema.

hwconf
Este arquivo possui a lista dos dispositivos de hardware instalados e é usado pela ferramenta kudzu. Abaixo temos um exemplo deste arquivo especificando apenas 3 dispositivos: mouse, CD-ROOM e HD.
-
class: MOUSE
bus: SERIAL
detached: 0
device: ttyS0
driver: ignore
desc: "Generic Serial Mouse"
-
class: CDROM
bus: IDE
detached: 0
device: hdb
driver: ignore
desc: "MATSHITA CR-586"
-
class: HD
bus: IDE
detached: 0
device: hda
driver: ignore
desc: "SAMSUNG VG34323A (4.32GB)"
physical: 14896/9/63
logical: 525/255/63

syslog.conf
Este arquivo é lido pelo daemon syslogd e define onde as mensagens do sistema devem ser armazenadas. As linhas do arquivo syslog.conf possuem a seguinte sintaxe:
seletor ação
onde
  • seletor é representado por dois campos: facility (tipo de processo que gerou a mensagem) e level (nível da mensagem);
  • ação indica onde a mensagem deve ser gravada.
São exemplos de tipos de processos que podem gerar mensagens:
TipoProcesso
kernkernel
mailservidor de correio
useraplicações dos usuários
authaplicações que utilizam autenticação
São possíveis níveis de mensagem do sistema:
NívelDescrição
alertmensagens de alerta
critmensagens críticas
debugmensagens de debug
emergmensagens de emergência
errmensagens de erro
infomensagens informativas
nonemensagens sem qualquer classificação
noticeobservações
warningavisos
Abaixo temos o exemplo deste arquivo no Conectiva 5.0 (a numeração do lado esquerdo foi acrescentada para facilitar a explicação feita em seguida).
1. # Log all kernel messages to the console.
2. # Logging much else clutters up the screen.
3. #kern.* /dev/console
4.
5. # Log anything (except mail) of level info or higher.
6. # Don't log private authentication messages!
7. *.info;mail.none;authpriv.none /var/log/messages
8.
9. # The authpriv file has restricted access.
10. authpriv.* /var/log/secure
11.
12. # Log all the mail messages in one place.
13. mail.* /var/log/maillog
14.
15. # Everybody gets emergency messages, plus log them on another
16. # machine.
17. *.emerg *
18.
19. # Save mail and news errors of level err and higher in a
20. # special file.
21. uucp,news.crit /var/log/spooler
22.
23. # Save boot messages also to boot.log
24. local7.* /var/log/boot.log
Podemos fazer os seguintes comentários sobre o exemplo do arquivo syslog.conf mostrado acima:
  • As linhas que começam com o símbolo # são comentários.
  • A linha 3 indica que qualquer mensagem gerada pelo Kernel (kern.*) deve ser enviada para a console (/dev/console). Note que esta linha está comentada e portanto, esta ação não será executada.
  • A linha 7 define que todas as mensagens de informação (*.info), devem ser gravadas no arquivo /var/log/messages, exceto as mensagens do sistema de e-mail (mail.none) e as mensagens do sistema de autorização (authpriv.none).
  • A linha 10 indica que qualquer mensagem do sistema de autorização (composto por login, su, getty, etc) devem ser gravadas em /var/log/secure.
  • A linha 13 define que qualquer mensagem do sistema de e-mail (mail.*) deve ser gravada no arquivo /var/log/maillog.
  • A linha 17 indica que qualquer mensagem de emergência (*.emerg) deve ser enviada para todos os usuários logados no sistema (*).
  • A linha 21 define que as mensagem sobre condições críticas (por exemplo, um erro de hardware) do sistema UUCP e do news USENET (uucp,news.crit) devem ser gravadas em /var/log/spooler.
  • A linha 24 indica que qualquer mensagem local (local7.*) deve ser gravada no arquivo /var/log/boot.log.

termcap
Este arquivo possui a descrição dos diversos tipos de terminais suportados pelo sistema.

versão-conectiva
Este arquivo é padrão da distribuição Conectiva Linux e possui o nome do sistema.

X11
Este diretório possui os arquivos de configuração do sistema X.

prefdm
Este arquivo é um script que define qual o gerenciador do login gráfico será usado pelo sistema.

0 comentários: