| 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 |
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.
| ip | 0 | IP | # internet protocol, pseudo protocol number |
| icmp | 1 | ICMP | # internet control message protocol |
| igmp | 2 | IGMP | # Internet Group Management |
| ggp | 3 | GGP | # gateway-gateway protocol |
| ipencap | 4 | IP-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.
| portmapper | 100000 | portmap sunrpc rpcbind |
| rstatd | 100001 | rstat rup perfmeter rstat_svc |
| rusersd | 100002 | rusers |
| nfs | 100003 | nfsprog |
| ypserv | 100004 | ypprog |
| 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.
| ftp | 21/tcp | ||
| fsp | 21/udp | fspd | |
| ssh | 22/tcp | # SSH Remote Login Protocol | |
| ssh | 22/udp | # SSH Remote Login Protocol | |
| telnet | 23/tcp | ||
| smtp | 25/tcp |
| 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:
| Tipo | Processo |
| kern | kernel |
| servidor de correio | |
| user | aplicações dos usuários |
| auth | aplicações que utilizam autenticação |
São possíveis níveis de mensagem do sistema:
| Nível | Descrição |
| alert | mensagens de alerta |
| crit | mensagens críticas |
| debug | mensagens de debug |
| emerg | mensagens de emergência |
| err | mensagens de erro |
| info | mensagens informativas |
| none | mensagens sem qualquer classificação |
| notice | observações |
| warning | avisos |
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:
Postar um comentário