Buscar

conectiva_linux

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 170 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 170 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 170 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prefácio
Entendendo o Conectiva Linux
Anterior Próxima
Prefácio
A capacidade de transmitir uma informação para qualquer pessoa em qualquer lugar e a qualquer 
momento é uma das maiores conquistas da humanidade, em todos os tempos. Todas as inovações 
tecnológicas têm buscado facilitar a capacidade de comunicação, seja reduzindo o tamanho dos 
equipamentos utilizados, seja adaptando-os às hostilidades ambientais ou ainda, através da criação de 
novos métodos, como a telefonia móvel e os computadores portáteis.
Assimilamos essas novidades rapidamente e acostumamo-nos com elas a tal ponto de não mais 
conseguirmos imaginar como seria o mundo atual sem essas inovações.
Esse livro tem por objetivo trazer um pouco mais de luz à tarefa de administrar um servidor Internet/
Intranet para que essa acessibilidade seja garantida. Os autores têm ampla experiência na área e com os 
serviços sobre os quais se dispõem a tratar neste livro, trabalhando com Linux em seu cotidiano, 
podendo trazer uma linguagem mais adaptada ao público e às condições nacionais.
A idéia de escrever em capítulos curtos e separar o livro por partes, de acordo com o que é apresentado, 
procura trazer uma maior dinâmica à leitura e facilitar a busca por informações específicas.
O Capítulo 1 descreve alguns conceitos que servem como base para a leitura do livro. São conceitos 
muitas vezes desconhecidos ou confundidos, mas que são importantes para uma melhor compreensão do 
mundo Linux.
O aplicativo que será descrito no Capítulo 2 é o Linuxconf, o configurador geral do sistema. Sua 
estrutura e opções serão detalhadas neste capítulo.
O Capítulo 3 explica toda a estrutura de usuários e grupos encontrados em um sistema, suas 
importâncias e de que forma é possível trabalhar com eles. Gerenciar usuários, acrescentá-los ao 
sistema, organizá-los e até fazer a recuperação de antigos usuários do sistema, serão tópicos abordados 
neste capítulo.
No Capítulo 4 serão descritos conceitos fundamentais de arquivos, diretórios e dispositivos. Dono e 
grupo dos arquivos, permissões, métodos de alteração, como proteger o sistema usando estes recursos e 
a automatização de processos executados em sistemas de arquivos serão assuntos estudados neste 
capítulo.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/prefacio.html (1 of 2)28/09/2004 19:52:18
Prefácio
Um conceito importante que um administrador deve conhecer é o conceito de serviço. No Capítulo 5 
pode-se encontrar uma boa definição de serviço, como inicializar e parar serviços e quais são os 
principais serviços existentes em um sistema Linux.
A interação entre o software e o hardware deve ser perfeita para que um sistema funcione. O Capítulo 6 
fornece uma descrição de como os dispositivos são tratados no Linux e como a interação hardware/
software é feita, e o Capítulo 7 mostra com clareza um dos principais problemas enfrentados por 
administradores de sistemas Linux: a configuração de dispositivos.
O Capítulo 8 trata de um dos temas mais importantes de um sistema Linux: o XFree86. Você poderá ter 
uma definição mais exata de qual a sua função e quais suas principais características e opções.
O Linux é um sistema baseado em pacotes. O Capítulo 9 mostra como gerenciar estes pacotes, instalar 
novos, removê-los e fazer pesquisas.
Todo o sistema de inicialização será relatado no Capítulo 10. Arquivos fundamentais para o processo, 
alterações nestes arquivos e como trabalhar com os diferentes níveis de inicialização serão explicados 
neste capítulo. O próximo capítulo (Capítulo 11) trata do processo de recuperação do sistema, mostrando 
como é possível localizar e corrigir possíveis erros do sistema.
O centro de um sistema Linux é o chamado kernel. No Capítulo 12 ele é discutido com detalhes teóricos 
tais como sua atualização, seu módulos, enfim, conceitos importantes para o seu entendimento.
No Capítulo 13 serão mostrados alguns costumes adotados por bons administradores de sistema, ações 
que ajudam a evitar falhas na segurança, perdas de dados ou desorganização das estruturas de arquivos, 
usuários e grupos.
Esperamos que a informação deste guia possa esclarecer muitas de suas dúvidas e também possa ajudá-
lo a participar da revolução que a informática viabiliza no dia-a-dia.
Anterior Principal Próxima
Entendendo o Conectiva Linux Básico
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/prefacio.html (2 of 2)28/09/2004 19:52:18
Básico
Entendendo o Conectiva Linux
Anterior Próxima
Capítulo 1. Básico
Índice
Definindo o Linux
O surgimento do Linux
Distribuições Linux
Visão geral do sistema operacional Linux
Neste capítulo será feito um estudo sobre o Linux e suas principais características.
Definindo o Linux
De maneira simples pode-se dizer que o Linux é um sistema operacional multiusuário, multitarefa e 
multiprocessado, de livre distribuição, baseado no sistema operacional UNIX - o nome Linux vem do 
nome de seu criador, o finlandês Linus Torvalds.
Mas o que tudo isso quer dizer? Ser multiusuário significa que é possível várias pessoas utilizarem o 
mesmo computador ao mesmo tempo, através de conexões remotas ou de terminais. Esse conceito é 
particularmente importante, pois, mesmo que apenas uma pessoa utilize o computador os vários 
processos (programas) que estão rodando nele podem pertencer a usuários diferentes, com permissões 
diferentes.
Multitarefa significa que o Linux é capaz de executar diversos programas ou serviços ao mesmo tempo, 
ou seja, é possível rodar simultaneamente um servidor web, um servidor de e-mail e um banco de dados. 
E tudo isso de maneira eficiente e transparente ao usuário.
Multiprocessado se refere ao fato de que o Linux pode ser instalado em máquinas com mais de um 
processador e é capaz de utilizar de maneira inteligente esses vários processadores, de maneira o obter a 
melhor desempenho possível.
E por fim, livre distribuição significa que o Linux pode ser copiado e distribuído sem que se tenha que 
comprar licenças ou pagar por isso. Além do mais, os códigos-fontes do sistema estão ao alcance de 
quem quiser vê-los e modificá-los.
Além disso, o Linux possui capacidades avançadas de rede. Uma vez que o desenvolvimento do Linux 
se deu através da colaboração pela Internet, o suporte a rede entrou em um estágio bastante cedo do 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/basico.html (1 of 6)28/09/2004 19:52:22
Básico
desenvolvimento do Linux. O Linux tem sido usado por centenas de laboratórios de informática de 
universidades e empresas, além de um grande número de entusiastas que auxiliam a melhorar o sistema. 
Todas essas pessoas procuram um servidor confiável e com bom desempenho de rede nas mais diversas 
situações.
O Linux suporta os mais diversos protocolos utilizados na Internet, como E-mail, News, Gopher, Telnet, 
WWW, FTP, Talk, POP, NTP, IRC, NFS, DNS, NIS, SNMP, Kerberos, WAIS e muitos outros. O Linux 
pode operar como um cliente ou como servidor de qualquer um dos protocolos citados acima.
O Linux pode se integrar facilmente à sua rede local, não importando a combinação de sistemas que já 
estejam sendo utilizados, pois ele é capaz de usar os protocolos de comunicação nativos do Macintosh®, 
DOS®, Windows®, Windows NT®, Novell® e OS/2®, entre outros.
O surgimento do Linux
O Linux foi criado por um jovem estudante de Ciência da Computação da Universidade de Helsinque, 
na Finlândia, chamado Linus Torvalds. O Linux foi inicialmente concebido como uma alternativa aos 
caros sistemas UNIX da época. A primeira versão pública do kernel do Linux (a versão 0.02) foi 
distribuída em 1991 pela Internet, juntamente com o seu código-fonte.
A idéia de lançar o Linux seguindo a licença GPL[1], um tipo de licença que garante que um software 
possa ser distribuído e copiado livremente, juntamente com o seu código-fonte, se mostrou bastante 
acertada, e uma verdadeira legião de programadorescomeçou a contribuir através da Internet para o 
desenvolvimento do sistema.
Linus Torvalds criou apenas o kernel do sistema. Muitos dos aplicativos que acompanham o kernel, 
como compiladores e editores de texto, foram criados pela GNU[2]; por isso, é comum se referir ao 
sistema como GNU/Linux. Embora o mais correto seja utilizar o termo Linux para se referir apenas ao 
kernel, será adotado ao longo desse livro, o termo Linux para identificar o sistema como um todo.
Software Livre, freeware, shareware e software Comercial
Vamos aqui abrir um parênteses para uma pequena explicação do que vem a ser cada um dos termos 
citados.
O termo software livre, algumas vezes também chamado de livre distribuição, é usado para designar o 
software que pode ser livremente copiado e que possui código fonte disponível para quem quiser vê-lo e 
alterá-lo. Existem várias tipos de licença de software livre, sendo a mais comum delas a já citada GPL 
(para saber mais sobre ela consulte o site da GNU ).
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/basico.html (2 of 6)28/09/2004 19:52:22
Básico
Freeware é o software que é gratuito apenas, ou seja, embora não se pague nada para usá-lo, não se tem 
acesso ao código-fonte e não se pode alterá-lo de acordo com as necessidades. Shareware é uma 
modalidade de distribuição e comercialização de software, onde o software pode ser livremente copiado, 
mas ele funciona em um modo "demonstração" por determinado período de tempo. O usuário deve 
então, após esse período de tempo, comprar o software e ao fazer isso adquirir uma chave (normalmente 
um número serial) que desbloqueia as funções não disponíveis no modo demonstração.
O software comercial é aquele produzido e comercializado por uma determinada empresa, pelo qual o 
usuário deve adquirir uma licença de uso, e normalmente tem o seu código-fonte não disponível.
Distribuições Linux
Como será mostrado adiante, o Linux pode ser composto por um grande número de programas; logo, 
surgiu a necessidade de se agrupar esses programas de forma coerente e funcional, e de criar 
mecanismos que permitissem o gerenciamento deles; é aí que entra o conceito de distribuições Linux.
Uma distribuição Linux é o conjunto dos vários programas que compõem o Linux, o kernel e, com 
freqüência, um sistema gerenciador de programas e um instalador. As distribuições Linux podem ser tão 
pequenas a ponto de caber em apenas alguns disquetes ou grandes e completas a ponto de utilizar vários 
CDs. A distribuição Conectiva Linux é a primeira distribuição em português e totalmente voltada para o 
mercado latino-americano, contando também com versões em espanhol e inglês. Além do mais, é função 
de uma distribuição reunir os programas criados por programadores dos mais diversos lugares do 
mundo, compilá-los e testá-los.
Visão geral do sistema operacional Linux
O sistema operacional Linux é composto pelo kernel, aplicações de sistema e aplicações de usuário.
O kernel do Linux
Embora o kernel seja uma parte importante do Linux, ele sozinho não constitui o sistema GNU/Linux. O 
kernel é o "núcleo" do sistema e é responsável pelas funções de mais baixo nível, como o gerenciamento 
de memória, gerenciamento de processos e da CPU. O kernel também é o responsável pelo suporte aos 
sistemas de arquivos, dispositivos e periféricos conectados ao computador, como placas SCSI, placas de 
rede, de som, portas seriais, etc. Chamamos de Linux o conjunto do kernel e demais programas, como 
shells, compiladores, bibliotecas de funções, etc.
Algum cuidado deve ser tomado ao se verificar que versão de Linux está sendo utilizada, porque o 
kernel possui um número de versão e a sua distribuição pode possuir outro. O número que identifica a 
versão da distribuição é decidido pela empresa responsável pela versão, de acordo com padrões próprios. 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/basico.html (3 of 6)28/09/2004 19:52:22
Básico
Já o kernel possui um número de versão composto por 3 partes: um número maior, um número menor e 
um número de release, e este número é dado pelo grupo de programadores que cuidam do 
desenvolvimento do kernel. O número de série de seu kernel pode ser facilmente identificado digitando-
se no prompt o comando uname -r, como no exemplo abaixo:
# uname -r
2.4.21-14cl
No exemplo acima, este kernel possui o número maior 2, o menor 4 também e é a vigésima primeira 
release da série 2.4. Em alguns casos é adicionado também um número que identifica uma compilação 
feita por uma determinada distribuição (14cl no exemplo, ou seja 14ª compilação da distribuição 
Conectiva Linux). O número menor é particularmente importante, pois números pares identificam 
versões de kernel testadas e consideradas estáveis, enquanto que números ímpares identificam versões 
de desenvolvimento, onde novos recursos estão sendo testados.
O kernel do Linux pode ser compilado[3] para se adequar melhor ao tipo de máquina e ao tipo de tarefa 
que essa máquina vai executar. Por exemplo, se o servidor precisa se comunicar com outras máquinas 
usando o protocolo IPX, o administrador poderá compilar o kernel com suporte a esse protocolo, ou, se 
não houver necessidade de usar um determinado tipo de placa de rede, é possível compilar o kernel sem 
suporte a essa placa, resultando assim em um kernel de menor tamanho.
O kernel do Conectiva Linux foi compilado para atender os mais diversos tipos de necessidades e de 
máquinas, além do mais, é possível incluir novos recursos sem a necessidade de compilar novamente o 
kernel, através do uso de módulos (veja mais no Capítulo 12). O processo de compilação de um kernel 
não é muito simples e é recomendado apenas a administradores de sistemas mais experientes. Para saber 
como se compila um kernel consulte o documento Como fazer kernel .
Aplicações do Sistema
O kernel faz muito pouco sozinho, uma vez que ele só provê os recursos que são necessários para que 
outros programas sejam executados. Logo, é necessária a utilização de outros programas para 
implementar os vários serviços necessários ao sistema operacional.
Do "ponto de vista" do kernel, as aplicações do sistema, bem como qualquer outro programa, rodam no 
que é chamado "modo usuário", logo, a diferença entre aplicações de sistema e aplicações do usuário se 
dá pelo propósito de cada aplicação. Aplicações do sistema são necessárias para fazer o sistema 
funcionar, enquanto as aplicações do usuário são todos programas utilizados pelo usuário para realizar 
uma determinada tarefa (como um processador de texto, por exemplo).
Entre as aplicações de sistema podemos citar o init, o getty e o syslog.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/basico.html (4 of 6)28/09/2004 19:52:22
Básico
O init é o primeiro processo lançado após o carregamento do kernel na memória, e é ele o responsável 
por continuar o processo de boot lançando os outros programas. É o init o responsável, também, por 
garantir que o getty esteja sendo executado (para que os usuários possam entrar no sistema) e por adotar 
processos órfãos (processos filhos no qual o pai morreu), pois no Linux todos os processos devem estar 
em uma mesma árvore, e possuírem um pai (excluindo o processo init, que não tem pai).
O getty provê o serviço responsável pelo login dos usuários em terminais textos (virtuais ou não). É ele 
que lê o nome do usuário e a senha e chama o programa login[4] para validá-los; caso estejam corretos é 
lançado um shell, caso contrário o processo todo é reiniciado.
O syslog é responsável por capturar as mensagens de erro geradas pelo kernel ou por outras aplicações 
de sistema, e por mostrá-las posteriormente quando o administrador do sistema solicitá-las.
Aplicações do usuário
As aplicações do usuário são todas aquelas utilizadas pelo usuário para executar uma determinada tarefa. 
Editores de texto, editores de imagens, navegadores eleitores de e-mail se encaixam nessa categoria.
O ambiente gráfico
No Linux a responsabilidade pelo ambiente gráfico não é do kernel e sim de um programa especial, o 
XFree86. No entanto, o XFree86 provê apenas as funções de desenho de elementos gráficos e interação 
com a placa de vídeo. A interação final do usuário com a interface gráfica se dá através de programas 
gerenciadores de janelas, como o KDE, o WindowMaker e o GNOME, e são eles os responsáveis pela 
"aparência" do seu Linux.
A separação do ambiente gráfico do resto do sistema apresenta muitas vantagens. Como o ambiente 
gráfico consome recursos do sistema, é possível desativá-lo, principalmente em servidores, resultando 
assim em um melhor desempenho de outras aplicações, uma vez que o tanto de tempo de CPU que seria 
utilizado para o XFree86 pode ser utilizado para essas aplicações. Além do mais, o desenvolvimento do 
ambiente gráfico pode ocorrer de maneira independente ao do kernel.
O Linux também pode funcionar em modo texto. Nesse caso a interação com o usuário se dá por meio 
de um shell, como o Bash, que é capaz de interpretar e executar comandos digitados pelo usuário.
Notas
[1] General Public License - Licença Pública Geral.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/basico.html (5 of 6)28/09/2004 19:52:22
Básico
[2] GNU é uma sigla recursiva que significa Gnu is Not Unix; é uma organização dedicada à criação 
de software livre.
[3] Compilação é o processo de transformação de um código-fonte em um programa executável.
[4] O kernel não se envolve no processo de login. Tudo é feito por outros programas.
Anterior Principal Próxima
Prefácio Linuxconf
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/basico.html (6 of 6)28/09/2004 19:52:22
Linuxconf
Entendendo o Conectiva Linux
Anterior Próxima
Capítulo 2. Linuxconf
Índice
Interface do Linuxconf
Iniciando o Linuxconf
Ambiente do Linuxconf
Efetivando as Configurações
Ativando ou Desativando Módulos
Permissão e Propriedade de Arquivos
Arquivos de Configuração
Comandos e Programas Residentes
Escrevendo Módulos - Shellmod
O Linuxconf é um aplicativo avançado de administração para um sistema Linux. Ele centraliza tarefas como configuração do sistema e monitoração dos 
serviços existentes na máquina. Na verdade, o Linuxconf é um gerenciador de módulos, cada qual responsável por executar uma tarefa específica.
Tendo em vista a maneira como o Linuxconf foi projetado, para adicionar uma funcionalidade basta que alguém escreva um novo módulo para executar 
a tarefa. Com isto, consegue-se uma ferramenta que pode centralizar a configuração de todo o sistema.
O presente capítulo é destinado a este aplicativo, onde será descrito o seu ambiente, quais as principais configurações que podem ser feitas através dele, e 
como sua interface é organizada.
Interface do Linuxconf
A maioria das interfaces de administração possui uma interface fixa, que não se adapta ao ambiente. Muitas vezes, o administrador pode desejar executar 
o aplicativo de configuração em um modo que não gaste tanta memória, para que esta possa ser utilizada para outras finalidades. O Linuxconf, 
entretanto, possui várias interfaces, dependendo da aplicação e do gosto do administrador:
Interface texto
Interface indispensável, pois pode ser utilizada a qualquer momento, seja via console ou via acesso remoto (telnet ou ssh). Esta interface elimina a 
necessidade de manter instalado um servidor gráfico X apenas para configurar a máquina. Esta interface é acionada ao se digitar linuxconf em um 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (1 of 14)28/09/2004 19:52:26
Linuxconf
terminal, caso esteja em modo gráfico, basta abrir um terminal e digitar linuxconf --text.
Interface web
A possibilidade de configurar uma máquina através de uma interface web é cômoda, pois basta ter acesso a um navegador. Com isto, é possível 
configurar uma máquina através de praticamente qualquer plataforma de hardware e software, bastando utilizar um navegador.
A interface web pode ser acessada através da URL http://sua_maquina:98/, mas para isto você deve primeiramente configurar o Linuxconf para 
que ele aceite conexões via rede.
Interfaces gráficas
Interfaces amigáveis para usuários que preferem configurar o sistema através de uma interface gráfica, tendo à sua disposição janelas, caixas de 
diálogo e botões. Estas interfaces devem ser executadas em um servidor gráfico X, como o XFree86 (servidor gráfico padrão do Linux). 
Geralmente, as interfaces gráficas contidas nas distribuições que suportam o Linuxconf contêm menus de acesso para o aplicativo. Para executar 
esta interface, basta abrir um terminal gráfico e executar o comando linuxconf.
Nota: É necessário ter o pacote gnome-linuxconf instalado para ter acesso às interfaces gráficas; durante o guia, será utilizada a interface 
gráfica de árvore de menus (treemenu), e se você desejar desabilitá-la, vá em Controle -> Gerenciamento do Linuxconf -> Módulos, no 
Linuxconf.
Interface de linha de comando
Alguns módulos do Linuxconf podem ser utilizados via linha de comando, o que, entre outras possibilidades, permite a sua utilização em scripts. 
Se você quiser utilizar essa interface, poderá iniciá-la através de dois comandos básicos: linuxconf --status exibe o relatório do que precisa 
ser feito para sincronizar a configuração do sistema, e o comando linuxconf --update efetua as alterações. Você pode executar o comando 
linuxconf --help para ver mais detalhes.
Você poderá utilizar qualquer uma destas interfaces, dependendo apenas da sua necessidade ou do que há disponível na máquina que está sendo 
administrada.
Iniciando o Linuxconf
Como será utilizada a interface gráfica do Linuxconf para demonstrá-lo, ele pode ser executado a qualquer momento através da linha de comando de um 
terminal (digitando linuxconf na linha de comando) ou pode-se clicar no ícone/menu do ambiente gráfico, sempre como superusuário. No KDE, você 
pode acessá-lo através do menu K, localizado no painel.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (2 of 14)28/09/2004 19:52:26
Linuxconf
A configuração padrão da maioria das distribuições permite que apenas o superusuário acesse o Linuxconf. Esta política foi escolhida por questões de 
segurança. Para que outros usuários possam executá-lo é necessário que o programa tenha o bit suid habilitado. Para isso, execute o seguinte comando 
como superusuário:
# chmod +s /bin/linuxconf
Após ser iniciado, o Linuxconf verifica uma série de configurações, como por exemplo se a variável de ambiente DISPLAY está configurada. Caso todas 
as configurações estejam corretas, ele será iniciado, conforme mostra a Figura 2-1.
 
Figura 2-1. Interface Inicial do Linuxconf
Como pode ser observado, o Linuxconf possui quatro abas: Configuração, Controle, Estado e Tarefas. A primeira trata de configurações relacionadas 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (3 of 14)28/09/2004 19:52:26
Linuxconf
basicamente a uma rede ou servidor. A aba Controle trata basicamente de padrões e do gerenciamento do próprio Linuxconf; a aba Estado permite a 
visualização de logs e informações gerais do sistema e a aba Tarefas possui uma série de diálogos que podem ser úteis em algumas configurações mais 
complexas.
Além destas abas, uma tela de status é mostrada, indicando o comportamento da máquina tanto em relação ao software (por exemplo, arquivos e número 
de usuários) quanto ao hardware (por exemplo, memória e swap utilizados). Se arquivos foram atualizados, surgirá também uma tela na parte inferior do 
Linuxconf, mostrando o horário e os arquivos atualizados, além das ações feitas.
Outra parte importante que deve ser lembrada durante a utilização do Linuxconf é o botão de ajuda. Amaioria das telas contém este botão, que possui 
informações úteis e interessantes para a utilização do Linuxconf e para a configuração do sistema em geral. Porém, como o Linuxconf é um projeto em 
andamento, algumas telas de ajuda ainda não foram traduzidas para a língua portuguesa, e outras não foram nem mesmo escritas. Portanto, pode aparecer 
alguma tela de ajuda em inglês, ou alguma mensagem dizendo que o arquivo de ajuda não existe.
Ambiente do Linuxconf
O Linuxconf oferece o ambiente ideal para a atuação de um administrador.
Na aba Configuração são fornecidas opções para a configuração de uma rede de modo geral. A principal opção nesta seção é a opção Rede. Através 
dela é possível configurar uma máquina na rede, um servidor de rede (para os mais diversos fins), um firewall e pode-se buscar informações sobre a rede 
e também de outras redes. Vejamos com detalhes cada uma das abas:
Tarefas de cliente
Aqui é possível configurar uma máquina cliente que será incluída na rede. Para tanto, deve-se configurar o nome da máquina, seu endereço IP e 
qual o servidor DNS que irá "resolver"[1] sua máquina, que são as configurações básicas. Além disso, são configuradas opções de conexão com a 
Internet (ADSL, modem - protocolo PPP), com outras redes (roteamento com outras redes, protocolo IPX) ou com a rede interna (cliente LDAP, 
serviço NIS[2], servidor de e-mail utilizando o fetchmail).
Tarefas de servidor
São fornecidas opções para a configuração de um servidor, para os mais diversos objetivos. É possível configurar, entre outros serviços:
m Servidor de Arquivos de Rede (NFS);
m Servidor Web (Apache);
m Servidor de nomes de domínio (DNS);
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (4 of 14)28/09/2004 19:52:26
Linuxconf
m Servidor de e-mail (Postfix);
m Servidor SSH (openssh);
m Servidor de Alta Disponibilidade;
m Servidor SAMBA;
m Servidor de Serviços Internet (por exemplo, Telnet e FTP);
m Servidor de Autenticação de usuários (Radius e Portslave);
m Servidor Proxy (Squid);
Esta aba fornece praticamente todas as opções para que se construa qualquer tipo de servidor que se deseje. É possível configurar uma rede TCP/
IP a partir do zero.
Serviços de inicialização
Essas configurações determinam redes com particularidades. Pode ser montada uma rede com boot remoto, onde um servidor com disco rígido 
serve outras máquinas que não possuem tal dispositivo. Através destas opções pode ser também montado um servidor que utiliza o protocolo 
RARP (que determina o endereço IP a partir de um endereço físico da rede) e um servidor DHCP/BOOTP, para a configuração de IPs 
dinamicamente.
Firewall
Opções para a configuração de um firewall, muito importante para a segurança de uma rede.
Diversos
Opção utilizada para configurações adicionais à rede, como um gerador de gráficos para múltiplas rotas (MRTG) e a configuração de acesso ao 
Linuxconf via rede, além da inclusão de informações sobre outras máquinas ou outras redes.
Praticamente uma rede completa pode ser configurada através da opção Rede, incluindo a configuração TCP/IP básica, roteamento, localização do DNS 
e configuração do ambiente do servidor.
A maioria das subseções da aba Configuração são tratadas durante o guia (Usuários, Sistema de Arquivos, Periféricos e Inicialização). Elas tratam de 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (5 of 14)28/09/2004 19:52:26
Linuxconf
configurações de um modo geral, tanto de cliente como servidor, de rede ou apenas de uma máquina.
Além da opção Rede, pode-se utilizar uma espécie de "ajudante" ou wizard, para auxiliar na configuração de uma rede. Esta opção está localizada no 
menu Tarefas -> Ajudantes Amigáveis -> Configuração básica de rede.
A aba Controle define o comportamento do Linuxconf em relação à máquina e em relação a outros aplicativos. Ela também fornece opções de ativação, 
ou seja, controla atividade de serviços e configurações feitos na aba Configuração. Esta opção é subdividida nas seguintes seções:
Painel de Controle
Controla execução de tarefas, como inicialização de serviços, montagem de sistema de arquivos e controle de conexões de serviços. Não permite 
tais configurações, apenas ativa/desativa as mesmas.
Gerenciamento do Linuxconf
Permite o gerenciamento do Linuxconf em relação a propriedades, permissões, arquivos de configuração e módulos. Esta opção personaliza o 
Linuxconf.
Data & Horário
Configura a data e o horário de uma máquina cliente.
Gerenciamento de pacotes RPM
Permite a instalação ou atualização de pacotes RPM individualmente ou por grupo. Pode-se também fazer pesquisas e ver o estado dos pacotes.
A aba Estado permite a visualização do estado do sistema, estado e detalhes sobre o hardware e descrição de registros referentes ao sistema e à 
inicialização de aplicativos.
Por fim, a aba Tarefas fornece assistentes ou wizards, que auxiliam em três tarefas importantes: Configuração básica de rede, Conectando a um PDC 
e Configuração dialin e dialout (modems).
Nota: A barra de menus, na parte superior da janela do Linuxconf, contém itens que podem auxiliar consultas e tarefas. De qualquer 
forma, as ações fornecidas pela barra de menus podem ser feitas em outras partes do Linuxconf.
Efetivando as Configurações
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (6 of 14)28/09/2004 19:52:26
Linuxconf
Uma das primeiras características a se conhecer do Linuxconf é que muitas das configurações realizadas através dele somente terão efeito quando 
explicitamente efetivadas. Existem várias maneiras para efetivar estas mudanças. Uma delas é saindo do Linuxconf. Ao sair do programa, após ter 
efetuado alguma modificação em configurações.
Nota: As telas e os procedimentos descritos neste capítulo são baseados na interface gráfica do Linuxconf. A diferença de operação entre 
uma interface e outra é mínima, portanto você não terá problemas em utilizar quaisquer das outras interfaces, se desejar.
A janela apresenta um relatório do que será executado, no caso de você desejar que as configurações sejam feitas. Se você desistir de sair do programa, 
basta selecionar a opção Volta ao linuxconf, o que fará com que você volte à tela principal do Linuxconf. A opção Não faça nada permite que você saia 
do programa sem efetuar as alterações, ao contrário da opção Faça isso, através da qual você sai do programa efetivando todas as alterações necessárias.
Uma outra maneira de ativar as mudanças na configuração do sistema é através da opçãoControle -> Painel de Controle -> Ativar a configuração.
Ativando ou Desativando Módulos
O Linuxconf é composto por vários módulos, cada um com uma função específica. É possível desativar módulos desnecessários ou ativar os existentes 
para utilização. Acessando o seguinte menu Controle -> Gerenciamento do Linuxconf -> Módulos você terá acesso à lista de módulos (Figura 2-2).
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (7 of 14)28/09/2004 19:52:26
Linuxconf
 
Figura 2-2. Lista de Módulos do Linuxconf
Esta lista mostra os módulos existentes, sua descrição e uma caixa de verificação (checkbox), que informa se o módulo está ativo. Para confirmar 
qualquer alteração nesta tela deve-se clicar no botão Aceitar.
Permissão e Propriedade de Arquivos
O Linuxconf mantém uma base de dados com permissões e propriedades de arquivos e diretórios importantes do sistema. Estas características podem ser 
encontradas no menu Controle-> Gerenciamento do Linuxconf -> Permissões e propriedades.
A primeira tela pede por um prefixo, podendo ser um diretório que contém o arquivo desejado ou o caminho até o arquivo. Após isto, será mostrada uma 
lista contendo os resultados. Basta escolher o arquivo que se deseja modificar, e será mostrada a tela de edição.Você pode modificar as permissões de 
leitura, escrita e execução para o usuário (dono do arquivo), para o grupo ao qual o arquivo pertence, ou as permissões para os outros usuários. Além 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (8 of 14)28/09/2004 19:52:26
Linuxconf
disso, pode também ajustar bits adicionais (Setuid, por exemplo); caso tenha dúvidas sobre estas configurações, verifique o capítulo destinado a arquivos 
e diretórios, que explica melhor o conceito de permissões.
Por exemplo, se você escolher modificar a permissão do arquivo /etc/passwd para 664 (inclui o modo escrita para o grupo), onde 644 é o modo 
padrão, ao ativar as configurações o Linuxconf irá configurá-lo para este modo. Este exemplo está ilustrado na Figura 2-3.
 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (9 of 14)28/09/2004 19:52:26
Linuxconf
Figura 2-3. Modificando Permissões Pelo Linuxconf
Ao finalizar o Linuxconf, será perguntado se esta modificação no modo do arquivo é desejada.
Nota: Estes são arquivos importantes do sistema. Não mexa nestas permissões, a menos que tenha certeza do que esteja fazendo.
Arquivos de Configuração
O Linuxconf gerencia, testa, gera e utiliza vários arquivos de configuração, através da opção Controle -> Gerenciamento do Linuxconf -> Arquivos de 
configuração (Figura 2-4).
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (10 of 14)28/09/2004 19:52:26
Linuxconf
 
Figura 2-4. Lista dos Arquivos de Configuração
Como você pode observar, esta janela contém três colunas: Caminho, Estado e Subsistema. O Caminho define a localização do arquivo gerenciado. Este 
caminho pode ser modificado, mas isto não é recomendado.
A coluna Estado contém alguns identificadores, os quais podem ter os seguintes valores:
(em branco): indica que o arquivo é apenas lido pelo Linuxconf. Isso pode significar duas coisas: ou é um arquivo de referência usado pelo Linuxconf 
ou ele ainda não sabe como gerenciá-lo, mas utiliza seu conteúdo.
E: indica que o arquivo será sempre apagado pelo Linuxconf na inicialização.
G: indica que o arquivo é gerado pelo Linuxconf. Neste caso, o Linuxconf utiliza outros arquivos para guardar a configuração relacionada a este serviço. 
Em geral significa que estes arquivos não devem ser alterados manualmente, pois o Linuxconf sobrescreverá estas alterações. Uma exceção a este caso é 
quando o arquivo também é marcado com M, o que é incomum.
M: indica que o arquivo é completamente gerenciado pelo Linuxconf. Isto significa que o Linuxconf sabe como processá-lo e reescrevê-lo 
apropriadamente. Também significa que você pode editar o arquivo diretamente, sem que o Linuxconf perca a habilidade de gerenciá-lo. O arquivo /
etc/resolv.conf é um exemplo.
O: indica que o arquivo é opcional em um sistema Linux.
P: indica que o Linuxconf sabe muito pouco do arquivo em questão. Ele apenas testa sua existência e sua data de modificação. Baseado nisto, o 
Linuxconf decide se um serviço é necessário ou se um serviço precisa ser reinicializado ou sinalizado.
V: o Linuxconf utiliza arquivos virtuais especiais, os quais geralmente são partes de um arquivo de configuração real.
*: indica que a rota do arquivo de configuração foi alterada, deixando de ter o valor original conhecido pelo Linuxconf.
A coluna Subsistema apenas apresenta uma divisão interna do Linuxconf, que informa a que parte do sistema pertence o arquivo.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (11 of 14)28/09/2004 19:52:26
Linuxconf
A única configuração que pode ser feita nesta janela é a alteração do caminho do arquivo, clicando-se sobre o nome dele; isto não é recomendado, a 
menos que você tenha certeza do que está fazendo.
Comandos e Programas Residentes
O Linuxconf utiliza vários comandos e programas do sistema para realizar diversas tarefas. Saiba quais são eles acessando Controle->Gerenciamento 
do Linuxconf->Comandos e daemons (Figura 2-5). Além de visualizá-los, você pode fazer alterações e até mesmo torná-los inativos, como será 
mostrado a seguir.
 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (12 of 14)28/09/2004 19:52:26
Linuxconf
Figura 2-5. Listagem de Comandos e Programas Residentes
Como você pode observar, a janela ilustrada na Figura 2-5 tem três colunas:
Nome: informa o nome do comando.
Caminho: informa a localização do comando que está sendo utilizado.
Mód.: informa se a configuração original do Linuxconf foi modificada.
Esta característica é bastante útil, pois permite que você personalize algumas funções do Linuxconf de maneira simples. Por exemplo, se você precisa 
adicionar usuários na base de dados do sistema e ainda numa base de dados SQL, basta substituir o comando originalmente utilizado pelo Linuxconf por 
um script ou programa especialmente criado para isto.
Ao selecionar um dos comandos da lista será exibida uma janela que permitirá a você:
l Desabilitar o comando, desmarcando a opção o linuxconf pode operá-lo.
l Modificar o comando que será executado, alterando Caminho do comando.
l Adicionar, remover ou modificar os argumentos utilizados na execução do comando.
Se você desativar um comando, desmarcando a opção o linuxconf pode operá-lo, o Linuxconf estará impedido de efetuar qualquer tarefa que 
dependa deste comando.
Atenção
Estes procedimentos são válidos para quaisquer dos comandos utilizados pelo Linuxconf. Portanto, tome cuidado ao modificá-los.
Escrevendo Módulos - Shellmod
O shellmod é um módulo do Linuxconf que permite escrever com facilidade outros módulos para o Linuxconf e aplicações, utilizando o interpretador de 
comandos sh.
Normalmente, os módulos do Linuxconf são feitos em C++ e podem oferecer mais recursos, porém scripts oferecem um solução boa e eficiente para 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (13 of 14)28/09/2004 19:52:26
Linuxconf
personalizar instalações. Um novo módulo do Linuxconf pode ser desenvolvido com uma aparência amigável para os usuários e clientes, conforme a 
escolha.
Um script pode ser usado isoladamente ou com o Linuxconf. Pode ser usado das duas maneiras. Para executar um script feito no shellmod, digite o 
comando:
# shellmod caminho_do_script [argumentos]
ou coloque na primeira linha no arquivo:
#!/usr/bin/shellmod
Torne o arquivo executável:
# chmod u+x caminho_do_script
e você poderá utilizá-lo como qualquer outro aplicativo.
Para um script ser utilizado como um módulo do Linuxconf, ele deve ser registrado neste. O módulo shellmod registra o seu menu de configuração em 
Controle-> Gerenciamento do Linuxconf -> Gerenciamento dos módulos do shell. Através deste menu você pode criar um módulo, editá-lo e fazer a 
configuração do shellmod. Após estas configurações, o script se tornará visível na próxima vez que você executar o Linuxconf.
Notas
[1] Processo que identifica o endereço IP através do nome da máquina.
[2] Network Information System ou Sistema de Informação de Rede.
Anterior Principal Próxima
Básico Contas e Grupos
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/linuxconf.html (14 of 14)28/09/2004 19:52:26
Contas e Grupos
Entendendo o Conectiva Linux
Anterior Próxima
Capítulo 3. Contas e Grupos
Índice
O Que São Usuários e Grupos
Usuários e Grupos Preexistentes
Criação e Manutenção de Usuários
Criação e Manutenção de Grupos
Os conceitos de conta de usuário e grupo são fundamentais para entender e implementar um servidor. Este capítulo fornecerá uma descrição geral destes 
conceitos e de como eles podem ser tratados no Conectiva Linux.
O Que São Usuários e Grupos
Uma conta de usuário é um conjunto de nome de acesso[1] mais uma senha que possibilitamque o usuário acesse a sua área do sistema. Sendo assim, uma 
mesma pessoa pode possuir várias contas, basta que sejam criadas com nomes de acesso diferentes.
Basicamente, existem dois tipos de contas: a conta do usuário comum, que utiliza o sistema e suas ferramentas, e a conta de superusuário ou conta de root, 
onde é possível realizar as configurações do sistema. A senha de root é muito importante, pois algumas configurações só são possíveis tendo a mesma em 
mãos.
Por não possuir restrições de segurança, a conta de root só deve ser usada para manutenções no sistema e de preferência o menor tempo possível. Para evitar 
permissões desnecessárias no sistema deve-se usar uma conta normal de usuário em operações comuns. Se um arquivo for executado pelo usuário root e este 
contiver comandos ou códigos que causem danos ao sistema, estes danos poderão ser irreparáveis.
Um grupo é basicamente um conjunto de usuários. Geralmente ele é criado quando se deseja que usuários tenham permissão restrita a arquivos em comum. 
Isso é útil para garantir privacidade e segurança dos dados. Mais detalhes sobre grupos serão explicados ao longo do capítulo.
O arquivo /etc/passwd fornece muitas informações. Veja o exemplo abaixo. Cada linha no arquivo irá mostrar um usuário:
Exemplo 3-1. Usuários no Arquivo /etc/passwd
usuario:x:1001:100:Usuario:/home/usuario:/bin/bash
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/grupos.html (1 of 8)28/09/2004 19:52:51
Contas e Grupos
Podemos notar que esta linha está dividida em campos, onde cada um é separado por um : (dois pontos). Cada um deles está explicado a seguir:
usuario: login do usuário, ou seja, o nome de acesso para a conta do usuário no sistema. Note que alguns caracteres não são aceitos, como o * e $, pois são 
caracteres especiais. Observe também que as letras maiúscula e minúscula são tratadas de modo diferente, e portanto usuario é um usuário e Usuario 
será outro.
x: o sinal "x" indica que a senha do usuário está criptografada no arquivo /etc/shadow, se este arquivo estiver ativo. Se estivesse com o sinal de "*", a 
conta estaria desabilitada, e se estivesse sem nada (::), a conta não teria senha.
1001: UID (User Identification), que indica o número de identificação do usuário.
100: GID (Group Identification), que indica o número de identificação do grupo do usuário.
Usuario: comentários do usuário como nome e telefone.
/home/usuario: indica o diretório de trabalho do usuário (ou diretório home).
/bin/bash: shell do usuário, ou seja, o programa que irá interpretar os comandos que o usuário executar.
Usuários e Grupos Preexistentes
Durante a instalação do Conectiva Linux é interessante observar que alguns grupos e usuários são criados como padrão do sistema. Uma das primeiras contas 
existentes no Linux é a conta de superusuário, cujo nome de acesso é root e a senha é digitada durante a instalação. A maioria das distribuições permite 
também que outros usuários comuns sejam criados durante o seu processo de instalação.
O arquivo em que você pode ver todos os usuários é o /etc/passwd. Portanto, todos os usuários que não foram criados por você durante ou depois a 
instalação são aqueles usuários que são criados automaticamente pelo sistema.
Do mesmo modo, os grupos preexistentes estão no arquivo /etc/group. Como você pode notar, a maioria dos grupos que estão presentes neste arquivo 
servem para o controle do sistema, e somente o superusuário pode modificar suas permissões e incluir/retirar usuários destes grupos.
Criação e Manutenção de Usuários
Existem várias formas de criar e manter usuários em um sistema. Primeiramente, será mostrado como tratar de usuários e em seguida como manipular grupos. 
É importante lembrar sempre de que, para executar estas atividades, você deve estar acessando o sistema como superusuário. Será mostrado como executar 
estas atividades através do aplicativo Linuxconf.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/grupos.html (2 of 8)28/09/2004 19:52:51
Contas e Grupos
Para visualizar os usuários do sistema, acesse o menu Configuração -> Usuários -> Normal -> Contas de usuários do Linuxconf. Os detalhes mais gerais 
podem ser vistos nesta primeira tela, e para verificar mais detalhes ou editar uma conta, basta clicar sobre o nome do usuário. Se você deseja adicionar uma 
conta, clique em Adicionar. Em ambos os casos será mostrada uma tela conforme a Figura 3-1.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/grupos.html (3 of 8)28/09/2004 19:52:51
Contas e Grupos
 
Figura 3-1. Editando ou Adicionando Usuários
Esta tela (aba Informações Básicas) é de preenchimento obrigatório, sendo que alguns campos já vem predefinidos; as outras abas são opcionais. Lembre-se 
que para preencher a opção Grupos Suplementares, o grupo já deve estar cadastrado no sistema.
Após isto, clique no botão Aceitar e inclua a senha do usuário na janela que surgir, confirmando-a em seguida. Se desejar mudar a senha de um usuário já 
existente, selecione o usuário e clique no botão Senha.
Dica: Para fazer com que um usuário tenha poderes de superusuário, edite a conta e selecione a aba Privilégios. Pode-se, por exemplo, fazer 
com que o usuário (comum) possa usar o Linuxconf. Portanto, tenha muito cuidado com esta opção. Lembre-se também de que o bit SUID deve 
estar habilitado.
O Linuxconf é interessante porque você pode incluir outras informações sobre os usuários, além de poder criar contas especiais, como por exemplo contas 
POP (e-mail), e alterar padrões definidos para contas de usuários, como por exemplo os shells dos usuários.
Uma forma alternativa de incluir usuários em um sistema é através da linha de comando. Para criar uma nova conta de usuário, o comando é o useradd. 
Portanto, para criar uma conta com o nome de acesso usuario como no exemplo, basta digitar o comando (como superusuário):
# useradd usuario
E para criar uma senha, basta utilizar o comando passwd. A senha pode conter qualquer caractere e é desejável que ela tenha no mínimo 6 caracteres.
# passwd usuario
Changing password for user usuario
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
Com isto, a nova conta estará criada. Uma linha será incluída no arquivo /etc/passwd com os dados do novo usuário, incluindo o seu diretório de trabalho 
(/home/usuario), sendo colocado o /bin/bash como o interpretador de comandos padrão, entre outros dados.
Do mesmo modo, para remover contas de usuários basta digitar o comando:
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/grupos.html (4 of 8)28/09/2004 19:52:51
Contas e Grupos
# userdel -r usuario
Todos os dados do usuário serão apagados do arquivo /etc/passwd, inclusive o diretório de trabalho do usuário.
Criação e Manutenção de Grupos
Do mesmo modo que acontece para usuários, a criação e manutenção de grupos é muito simples de se executar.
Para criar um grupo dirija-se ao menu Configuração -> Usuários -> Normal -> Definições de grupos. Similarmente aos usuários, serão mostrados os grupos 
pertencentes ao sistema. Para criar um grupo clique em Adicionar e para editar um grupo clique sobre ele. Nos dois casos será mostrada uma tela como a 
Figura 3-2.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/grupos.html (5 of 8)28/09/2004 19:52:51
Contas e Grupos
 
Figura 3-2. Editando ou Adicionando Grupos
A opção ID do grupo não precisa ser preenchida, pois o sistema fornece automaticamente este número. Os usuários do grupo devem ser colocados no campo 
Membros alternativos (opc.), separados por um espaço em branco.
As informações sobre os grupos são guardadas no arquivo /etc/group. É importante frisar que durante a criação de um usuário, paralelamente um grupo 
com o mesmo nome do usuário estará sendo criado. Por exemplo, ao criaro usuário usuario, você poderá observar no arquivo /etc/group que uma linha 
foi criada (Exemplo 3-2):
Exemplo 3-2. Trecho do Arquivo /etc/group
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/grupos.html (6 of 8)28/09/2004 19:52:51
Contas e Grupos
...
usuario:x:503:
Os grupos dos usuários comuns (onde o próprio usuário é o dono principal) contém números de identificação acima de 500; isto é um padrão para o Conectiva 
Linux. Os dados escritos neste arquivo são semelhantes aos descritos no Exemplo 3-1, modificando apenas os dados dos usuários para os dados dos grupos.
Deve-se tomar cuidado com as permissões. Ao se criar um grupo, deve-se ter certeza de que todos os arquivos estão com as permissões corretas e todos os 
usuários estão com as permissões corretas de leitura, escrita e execução.
Através do modo texto o comando groupadd cria um novo grupo. Para remover um grupo basta executar o comando groupdel.
Existem dois modos de incluir usuários em um grupo pelo modo texto: através do comando usermod ou diretamente no arquivo /etc/group. Para incluir 
usuários em um grupo editando diretamente o arquivo:
 superteste:x:504:usuario1,usuario2
 
Note, portanto, que os usuários usuario1 e usuario2 foram incluídos no grupo superteste. Para incluir mais usuários basta incluir uma vírgula no fim da linha e 
o nome do usuário a seguir. Agora o mesmo exemplo, utilizando o comando usermod:
# usermod -G superteste usuario1
# usermod -G superteste usuario2
O comando usermod[2] inclui apenas um usuário por comando. É possível colocar vários grupos, mas deve-se tomar cuidado pois isto apaga a configuração 
anterior.
Este tema é muito extenso e possui inúmeros detalhes e configurações. Para mais informações, consulte as páginas de manual [3] dos comandos citados, além 
da página de manual do comando gpasswd.
Notas
[1] Login.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/grupos.html (7 of 8)28/09/2004 19:52:51
Contas e Grupos
[2] User Modification.
[3] man pages.
Anterior Principal Próxima
Linuxconf Arquivos e Diretórios
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/grupos.html (8 of 8)28/09/2004 19:52:51
Arquivos e Diretórios
Entendendo o Conectiva Linux
Anterior Próxima
Capítulo 4. Arquivos e Diretórios
Índice
Sistema de Arquivos
Diretórios e Arquivos Importantes
Permissões de Arquivos
Em um sistema Linux, temos uma estrutura de diretórios diferente de outros sistemas operacionais. Os arquivos ali dispostos, a princípio, parecem 
estar jogados aleatoriamente nos diversos diretórios existentes. Mas, felizmente, há uma certa ordem e uma lógica, fazendo com que cada diretório 
do sistema tenha uma finalidade específica.
O principal objetivo deste capítulo é mostrar que os arquivos e diretórios em um sistema Linux estão organizados de forma que cada um tem uma 
função específica e o conjunto torna o sistema confiável, integrado e seguro.
Sistema de Arquivos
Sistema de arquivos é a forma que o sistema operacional usa para representar determinada informação em um espaço de armazenagem. É o método 
de identificar e indexar as informações que estão armazenadas em qualquer mídia: disquetes, discos rígidos, drives em memória, CDs, etc.
Quando se prepara um disco para o trabalho através do processo de formatação física, criam-se os meios magnéticos necessários para armazenar os 
dados. Este processo faz uma preparação do dispositivo de armazenagem para que ele possa receber um sistema de arquivos e futuramente os dados 
do usuário. Um sistema de arquivos, portanto, é necessário para manter padrões, para controlar o tamanho das partições, permissões de arquivos, 
tamanho dos arquivos e sua organização, entre muitas outras funções.
Será visto primeiramente quais os principais tipos de sistemas de arquivos que existem e que são criados em um processo de formatação:
l ext: sistema de arquivos estendido (extended filesystem). É o sistema de arquivos mais utilizado no Linux. Ele fornece padrões para arquivos 
regulares, diretórios, arquivos de dispositivos e links simbólicos, entre outras características avançadas. Desenvolvedores trabalham para 
ampliar a capacidade deste sistema de arquivos para o suporte a controle de acesso conforme o padrão POSIX e compressão de arquivos on 
the fly (o arquivo é descompactado no momento em que é acessado).
Suas principais ramificações são os sistemas ext2 e ext3.
l vfat: este é o sistema de arquivos (volume FAT) dos sistemas Windows®9x e Windows NT®.
l nfs: sistema de arquivos de rede, utilizado para acessar diretórios de máquinas remotas, que permite o compartilhamento de dados na rede.
l reiserfs: sistema de arquivos com suporte a características mais avançadas, como por exemplo melhor performance para diretórios muito 
grandes e suporte a transações (journalling).
l iso9660: sistema de arquivos do CD-ROM.
l hpfs: sistema de arquivos do OS/2®.
Existem muitos outros tipos de sistemas de arquivos, dependendo da sua aplicação e de que sistema você precisará. Examine as páginas de manual 
do fstab e do mount para mais detalhes sobre os vários tipos de sistema de arquivos.
Juntamente com o conceito de sistema de arquivos existe o conceito de partição. Particionar um dispositivo é dividi-lo de forma que cada uma das 
suas partes, denominadas partições, possam receber um tipo de sistema de arquivo e estejam preparadas para receber as informações.
Sistema de arquivos e partições são normalmente confundidos, quando na verdade são conceitos totalmente diferentes. As partições são áreas de 
armazenamento, criadas durante o processo de particionamento, sendo que cada partição funciona como se fosse um disco rígido (ou dispositivo 
utilizado). Para se utilizar uma partição, entretanto, deve-se criar um sistema de arquivos, ou seja, um sistema que organize e controle os arquivos e 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/arq.dir.html (1 of 12)28/09/2004 19:52:57
Arquivos e Diretórios
diretórios desta partição. Uma partição só pode ter apenas um sistema de arquivo.
Apesar da diferença, muitas vezes os termos são utilizados de modo similar. Não é uma linguagem totalmente errada, pois é muito utilizada 
diariamente, mas deve-se ter em mente a diferença entre os termos.
O sistema de arquivos mais importante em um sistema Linux é o sistema de arquivos raiz. Ele geralmente está montado no diretório "/", também 
chamado de diretório raiz. Um sistema de arquivos raiz deve conter o necessário para suportar um sistema Linux completo, e para tanto deve incluir 
alguns requisitos básicos:
l A estrutura básica do sistema de arquivos, geralmente agrupando os diretórios em árvores e obedecendo a alguns padrões.
l Conjunto mínimo de diretórios: /dev, /proc e /bin, entre outros.
l Conjunto básico de utilitários e comandos: ls, cp, mv.
l Conjunto mínimo de arquivos de configuração: rc, inittab, fstab.
l Arquivos de dispositivo: /dev/hd*, /dev/tty*, /dev/fd0.
l Bibliotecas que disponibilizem as funções básicas necessárias aos utilitários.
A estrutura dos sistemas de arquivos do Linux prevê um agrupamento que permite maior organização de dados, o que aumenta a funcionalidade do 
sistema. Os comandos estão todos em uma determinada área, todos os arquivos de dados em uma outra, documentação em uma terceira, e assim por 
diante. Além disso, o diretório raiz geralmente não contém nenhum arquivo, exceto, em algumas distribuições, pela imagem de inicialização do 
sistema. Todos os outros arquivos estão em subdiretórios do raiz.
Após esta primeira apresentação, passamos agora a mostrar como é formado o diretório raiz de um sistema Linux. Veja a estrutura básica de 
diretórios abaixo:
 /bin
 /dev
 /home
 /proc
 /usr
 /boot
 /etc
 /lib
 /var
 /sbin
l O diretório raiz, representado pela "/", é específico de cada máquina. Podeficar tanto em um disco físico quanto na memória da máquina ou 
em uma unidade de rede. É o diretório principal, que contém todos os arquivos e diretórios do sistema.
l O diretório /bin é o diretório que contém o mínimo necessário para a inicialização do sistema. Serão necessárias ferramentas que se 
encontram em outros diretórios para que a máquina fique operacional. A maioria dos programas possui o seu arquivo executável neste 
diretório.
l /dev é o local onde ficam armazenadas as referências aos dispositivos presentes na máquina, para o controle destes dispositivos. Esse 
diretório contém apontadores para, por exemplo, o drive de disquetes, os discos da máquina, terminais virtuais, portas de acesso seriais e 
paralelas, etc. Os controladores são automaticamente criados durante a instalação do sistema e posteriormente podem ser criados através do 
comando MAKEDEV.
l O diretório /home contém os diretórios pessoais dos usuários e suas configurações.
l O diretório /proc fornece informações sobre o kernel e sobre os processos que estão rodando no momento, além de informações sobre a 
utilização de alguns dispositivos. Alguns parâmetros do kernel podem ser alterados diretamente nesses arquivos, fazendo com que as 
modificações passem a valer imediatamente. Esse diretório não ocupa espaço nenhum em disco e as informações ali presentes são geradas 
apenas quando solicitadas.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/arq.dir.html (2 of 12)28/09/2004 19:52:57
Arquivos e Diretórios
l O diretório /usr contém comandos, bibliotecas, programas, páginas de manual e outros arquivos que não mudam mas que se fazem 
necessários para a operação normal do sistema. Como são estáticos, é interessante compartilhar esses arquivos pela rede, o que resulta numa 
grande economia de espaço em disco utilizado.
l O diretório /boot contém informações para o gerenciador de inicialização do sistema. É aqui que normalmente ficam as informações para o 
carregador do sistema operacional e também a imagem para a pré-carga do sistema (initrd).
l /etc é um dos mais importantes diretórios da máquina. Nele ficam a maioria dos arquivos de configuração e manipulação dos serviços 
essenciais ao sistema, a maioria dos arquivos de configuração de acesso a rede e de comunicação, arquivos de configuração do Sistema de 
Janelas X[1], arquivos de configuração do idioma do sistema, de atualizações, enfim, de muitas funcionalidades da máquina.
l /lib é o diretório onde ficam as bibliotecas básicas do sistema. Elas são compartilhadas por diversos programas, principalmente os que se 
encontram no diretório raiz.
l O diretório /var contém arquivos que possuem dados variáveis. Neste diretório estão arquivos e diretórios de spool, arquivos de log, 
arquivos de configuração de correio eletrônico e de news, entre outros. O diretório /var também guarda arquivos que precisam de uma 
freqüente atualização, como os arquivos de conteúdo do servidor Apache ou do servidor de FTP.
l /sbin contém ferramentas de uso do superusuário e que geralmente são usadas por serviços básicos da máquina. Ficam nesse diretório 
programas como os responsáveis pela carga de módulos do kernel, ativação e interrupção das interfaces de rede, manutenção dos sistemas de 
arquivos e de outras atividades.
Existem, além destes, alguns diretórios que também são importantes para a complementação da funcionalidade do sistema, e estão presentes em 
praticamente todos os sistemas Linux, apesar de não serem estritamente obrigatórios. São eles:
l O diretório /mnt é o diretório utilizado para o acesso a dispositivos de mídia, como disquetes e CD-ROM. Ele é utilizado como ponto de 
montagem para a maioria destes dispositivos.
l O diretório /tmp serve como repositório para arquivos temporários, sendo utilizado para programas que são executados após a ativação do 
sistema, ou seja, este diretório serve como espaço extra para vários programas e aplicações.
l Alguns programas são projetados para serem instalados sob o diretório /opt. Ele pode ser útil por questões de espaço.
Apesar das diferentes partes acima serem chamadas de diretórios, não há obrigatoriedade que elas estejam separadas. Elas podem estar facilmente 
no mesmo sistema de arquivos em uma pequena máquina utilizada por um único usuário que deseje mantê-las de uma forma mais simplificada.
Alguns destes diretórios podem ser montados em suas próprias partições. Suponha que, por questões de espaço ou segurança, é desejável que o 
diretório dos usuários esteja em uma outra partição. Então, é criada uma outra partição que será montada no diretório /home e que terá, por 
exemplo, o mesmo sistema de arquivos utilizado pelo sistema de arquivos raiz. Essa separação em um sistema de arquivos à parte é interessante pois 
facilita determinadas tarefas administrativas, como gerenciamento da quantidade de espaço que cada usuário pode utilizar e a manutenção de cópias 
de segurança[2].
Portanto, a árvore de diretórios pode estar dividida ainda em diferentes sistemas de arquivos, dependendo do tamanho de cada disco e de quanto 
espaço será alocado para cada finalidade.
Sistema de Arquivos ext3
O Conectiva Linux pode ser instalado sobre um sistema de arquivos ext3. Esse sistema é semelhante ao ext2, porém utiliza o sistema de journalling 
de dados. O journalling divide a fase de escrita dos dados em duas partes: Agendamento e Escrita. Essa estrutura permite que, em caso de 
desligamento acidental do sistema, não seja necessário executar um fsck no disco (o que pode demorar muito tempo dependendo do tamanho do seu 
sistema de arquivos).
Caso ocorra uma interrupção inesperada do sistema, como por exemplo uma queda de luz durante a fase de "agendamento", o arquivo não é 
atualizado, continuando intacto. Caso esse problema ocorra durante a fase de escrita, o sistema possui a agenda (journal) na qual estão os dados 
necessários para fazer as alterações no arquivo.
O fato do sistema escrever várias vezes a mesma alteração em arquivos, não torna a operação lenta, pois ele também otimiza o movimento das 
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/arq.dir.html (3 of 12)28/09/2004 19:52:57
Arquivos e Diretórios
cabeças do disco rígido.
O usuário que já possui o Conectiva Linux e o sistema de arquivos ext2 instalado pode facilmente convertê-lo para o ext3. Para fazê-lo, proceda da 
seguinte maneira:
Converta o sistema de arquivos de ext2 para ext3 utilizando o comando tune2fs:
# tune2fs -j /dev/hdxx
Deve-se também alterar o sistema de arquivos no arquivo /etc/fstab. Para isso, altere a linha:
/dev/hdxx / ext2 defaults 0 0
para
/dev/hdxx / ext3 defaults 1 1
Depois de ter alterado o arquivo /etc/fstab, execute o comando mkinitrd como mostrado abaixo:
# mkinitrd /boot/initrd-versao_do_kernel.img versao_do_kernel
O arquivo de configuração do gerenciador de inicialização deve ser alterado para que utilize o initrd criado. No caso do grub, o arquivo de 
configuração fica em /boot/grub/menu.lst. Abaixo da linha que indica o kernel a ser utilizado durante a inicialização, acrescente a seguinte 
linha:
initrd = (hdx,x)/boot/initrd-versao_do_kernel.img
Deixe, por enquanto, a entrada com o sistema ext2 intacta, para que no caso de ocorrer algum problema, você poderá retornar e fazer os reparos 
necessários.
Depois de ter realizado todos os passos descritos acima, reinicie a máquina para que o sistema reconheça o ext3.
Trabalhando com Sistema de Arquivos
Durante o processo de instalação de um sistema Linux um sistema de arquivos é escolhido para cada partição especificada. Se for necessária alguma 
mudança ou atualização, será possível executá-la pelo menu Configuração -> Sistema de arquivos -> Acessar dispositivos locais do Linuxconf. 
Veja a Figura 4-1, que mostra como configurar um sistema de arquivos para partições locais, ou seja, da máquina.Clicando sobre os pontos de montagem é possível editá-los. Você pode observar onde a partição está localizada, qual seu tipo e o seu ponto de 
montagem na aba Base. Deve-se tomar muito cuidado ao fazer modificações, pois elas poderão modificar totalmente o sistema. A aba Opções 
também traz informações importantes como, por exemplo, se a partição pode ser montável por usuários, se possui suporte a dispositivos especiais e 
se o dono do dispositivo pode montá-la.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/arq.dir.html (4 of 12)28/09/2004 19:52:57
Arquivos e Diretórios
 
Figura 4-1. Configurando Sistemas de Arquivos Locais
Para configurar sistemas de arquivos de rede, como por exemplo nfs, dirija-se ao menu Configuração->Sistema de arquivos->Acessar volumes 
NFS; o procedimento a ser seguido é o mesmo utilizado para dispositivos locais, bastando ter as informações sobre a rede e os pontos de montagem.
Sistema de Quotas
Um sistema de arquivos também pode trabalhar com quotas. Um sistema de quotas define limites de uso do disco para usuários e seus programas. 
Os usuários são forçados a permanecer sob seu limite de consumo de disco, tirando deles a habilidade de consumir de forma ilimitada o espaço em 
disco do sistema. A quota é gerenciada seguindo uma base por usuário e por sistema de arquivo. Se existe mais de um sistema de arquivo onde um 
usuário pode criar arquivo, então a quota tem de ser estabelecida para cada sistema de arquivo separadamente.
É possível configurar o sistema de quotas através do Linuxconf pelo menu Configuração ->Sistema de arquivos->Acessar dispositivos locais. 
Selecione o dispositivo no qual se deseja aplicar o sistema de quotas (por exemplo, o dispositivo do disco rígido ou /dev/hda*) e na tela de 
edição habilite a opção Opções->Ativar quota por usuário. Ativado o sistema de quota, basta apenas configurá-lo em Configuração->Sistema de 
arquivos->Define quota padrão. Observe a Figura 4-2 que exibe esta tela.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/arq.dir.html (5 of 12)28/09/2004 19:52:57
Arquivos e Diretórios
 
Figura 4-2. Configurando o Sistema de Quotas
Os limites de espaço para software, hardware e para arquivos devem ser preenchidos em bytes. Após a finalização da configuração, o Linuxconf 
pede algumas confirmações durante a sua finalização. Basta confirmar e finalizar o Linuxconf. A configuração de quotas para grupos está na mesma 
tela (aba Grupo Padrão) e segue o mesmo padrão.
Nota: As opções do tipo Período Extra na configuração da quota são interessantes, pois permitem a configuração de um período para 
que o usuário possa fazer modificações (remover arquivos, por exemplo), antes que sua área fique inacessível.
Diretórios e Arquivos Importantes
Cada diretório apresenta uma estrutura particular e alguns arquivos-chave para a configuração do sistema. Devemos lembrar aqui que um dispositivo 
físico é tratado no Linux como um arquivo e se encontra no diretório /dev. No início de cada arquivo, geralmente encontra-se um comentário, 
explicando a que se destina o arquivo e quais dados devem ser incluídos para configurá-lo.
Muitos arquivos, porém, apenas apontam para outros arquivos, e estão ligados através dos chamados links. Existem dois tipos de links: o hard link é 
exatamente o nome de um arquivo (sendo que um mesmo arquivo pode ter vários nomes); ele só será removido do disco rígido quando o último 
nome for removido. Já o soft link (ou link simbólico) é um pequeno arquivo especial, que contém um apontador para onde o arquivo real está 
localizado, ou seja, o link aponta para um outro arquivo, que pode ser inclusive de um outro tipo de sistema de arquivo. Para criar um link simbólico 
basta digitar, como superusuário:
# ln -s [arquivo_original] [link_para_arquivo]
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/arq.dir.html (6 of 12)28/09/2004 19:52:57
Arquivos e Diretórios
Para criar um link direto, basta retirar o parâmetro -s da linha anterior.
Após a descrição destes conceitos importantes, segue primeiramente uma lista com alguns diretórios importantes, e logo após alguns arquivos destes 
diretórios. Estes diretórios podem mudar de uma distribuição Linux para outra, mas basicamente seguem a estrutura abaixo.
l Diretório /etc
m init.d: diretório que contém scripts para a inicialização de serviços da máquina, que na verdade é um link simbólico para o 
diretório /etc/rc.d/init.d.
m exports: arquivo que serve para controlar o acesso a sistema de arquivos que estão sendo exportados para clientes NFS.
m X11: configurações relacionadas ao sistema de janelas X, como por exemplo configuração do teclado e comportamento de alguns 
programas no ambiente gráfico.
m crontab: arquivo de configuração do cron, que é o servidor utilizado para executar serviços agendados.
m passwd: contém informações sobre os usuários da máquina. Nesse arquivo ficam armazenados o nome do usuário, seu nome real, 
diretório pessoal, interpretador de comandos a ser usado e outras informações específicas do usuário.
m group: parecido com o arquivo passwd, porém, trabalha com grupos de usuários ao invés de usuários individuais.
m fstab: contém uma lista com os sistemas de arquivos e opções padrão para a montagem de sistema de arquivos.
m mtab: contém a relação dos sistemas de arquivos atualmente montados, juntamente com opções de montagem e o estado em que se 
encontram.
m inittab: arquivo de configuração dos níveis de execução (runlevel) do sistema.
m printcap: contém as configuração para as impressoras ligadas ao sistema ou à rede. Nesses arquivos são configurados filtros e 
alguns outros recursos administrativos relativos a impressoras.
m securetty: contém a relação de terminais considerados seguros. O superusuário só poderá acessar a máquina a partir desses 
terminais. Geralmente são listados apenas terminais acessíveis localmente.
m modules.conf: arquivo de configuração dos módulos do kernel, composto por várias diretivas que adicionam, direcionam e 
carregam os módulos.
m rc.local: este arquivo é um link simbólico para /etc/rc.d/rc.local. Ele é um script, tendo como principal função 
atualizar arquivos de mensagens de inicialização do sistema e do idioma, entre outros arquivos (verifica arquivos como o /etc/
issue e o /etc/motd). Ele será executado depois de todos os scripts de inicialização.
m rc.sysinit: executado no momento da inicialização do sistema, ele configura todas as informações necessárias para a utilização 
do sistema, como: detalhes de rede, parâmetros do kernel e mapa de teclado, entre outras.
m shells: lista dos interpretadores de comando válidos. Alguns servidores e comandos restringem o acesso do usuário aos 
interpretadores de comando relacionados nesse arquivo.
l Diretório /usr
m X11R6: é um diretório contendo arquivos do sistema de janelas X. Esse diretório contém diversos outros arquivos pelos quais se 
espalham os arquivos do X.
m bin: contém praticamente todos os comandos de usuários. Alguns outros podem ficar no diretório /bin ou, com menos freqüência, 
no diretório /usr/local/bin.
m sbin: possui os comandos de administração do sistema que não necessitam estar no diretório raiz e que são exclusivos do 
superusuário.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/arq.dir.html (7 of 12)28/09/2004 19:52:57
Arquivos e Diretórios
m local: é usado para armazenar os programas instalados localmente e que não se encontravam empacotados com o RPM.
m share/doc: neste diretório se encontra a maioria da documentação disponível da distribuição, como páginas de manual 
(manpages) e arquivos Como Fazer (HOWTOs), entre outros.
l Diretório /var
m lock: contém arquivos de bloqueio. Muitos programas seguem uma convenção criando arquivos de bloqueionesse diretório para 
sinalizar que estão usando um dispositivo específico (como o modem, por exemplo) ou um arquivo especial. Quando outros 
programas detectam a presença desse bloqueio, eles não usam o mesmo dispositivo ou arquivo.
m log: possui os arquivos de registro e/ou históricos de programas. Os arquivos desse diretório tendem a crescer indefinidamente; isso 
faz com que se torne necessária uma limpeza periódica nesse diretório. No Conectiva Linux o aplicativo logrotate faz esse serviço 
automaticamente de acordo com configurações preestabelecidas ou configurações definidas pelo administrador.
m spool: armazena as diversas filas de tarefas como e-mail, notícias, impressão, etc. Cada fila fica armazenada em seu próprio 
diretório.
l Diretório /proc
m cpuinfo: apresenta informações sobre o(s) processador(es), tais como fabricante, modelo e registradores, entre outras.
m devices: mostra uma relação dos dispositivos atualmente configurados no kernel do sistema operacional.
m interrupts: relaciona as interrupções em uso e outras informações a respeito dessas como, por exemplo, a quantidade de vezes 
que foram acessadas.
m meminfo: arquivo com informações sobre compartilhamento e o uso de memória.
Permissões de Arquivos
Permissão é um conceito importantíssimo, principalmente para garantir a segurança do sistema contra acessos indevidos a arquivos importantes. 
Será mostrado nesta seção como são definidas as permissões em um sistema Linux.
Todo arquivo do sistema pertence a um dono e a um grupo, podendo pertencer somente a um usuário ou fazer parte de um grupo de vários usuários. 
Estes dois parâmetros (dono do arquivo e grupo ao qual o arquivo pertence) é que determinam as permissões do arquivo, por quem o arquivo foi 
criado, que permissões foram dadas pelo dono, quem poderá acessá-lo e a forma de acesso de que irão dispor todos aqueles que fizerem operações 
com o arquivo, entre outros. Vamos descrever brevemente como interpretar estas informações.
No Linux a implementação de permissões é feita para três grupos de usuários. São esses grupos: o dono do arquivo[3], o grupo de trabalho ao qual o 
arquivo pertence e, finalmente, os demais usuários que não se encaixam nos dois grupos anteriores. Esses dados podem ser visualizados através do 
comando ls -l e modificado através dos comandos chown, que muda o dono do arquivo e também o seu grupo; o comando chgrp é usado para 
mudar apenas o grupo do arquivo[4].
Como os dados são tratados como arquivos, mesmo que sejam apenas indicadores para dispositivos (por exemplo, /dev/mouse), as permissões 
fazem com que se possa proibir determinado usuário ou grupo de usuários de acessar algum recurso específico da máquina, como por exemplo 
recursos de áudio ou o acesso a um drive de disquetes. No entanto, o superusuário pode acessar qualquer arquivo ou dispositivo, independente de 
suas permissões.
Quando um arquivo é criado, ele recebe certos valores de propriedade, como o UID do dono (normalmente o criador do arquivo), o valor de 
propriedade do grupo GID (geralmente o grupo a que o dono pertence quando o arquivo é criado) e outros valores de permissão de acesso, derivados 
dos valores associados ao valor umask do dono, no momento da criação. Estes valores umask são definidos geralmente no arquivo /etc/
profile com os seguintes valores:
l Para o superusuário:
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/arq.dir.html (8 of 12)28/09/2004 19:52:57
Arquivos e Diretórios
# umask 022
l Para os demais usuários do sistema:
# umask 002
A umask funciona retirando permissões, ou seja, a permissão padrão do sistema seria 666, mas com um valor de 022, no caso do superusuário, 
teríamos 644 (666-022=644), o que significa que quando um arquivo for criado pelo superusuário ele vai ter suas permissões inicias em -rw-r-r--, 
permitindo escrita e leitura para o dono do arquivo e somente leitura ao grupo ao qual ele pertence e para os demais usuários do sistema. Já no caso 
dos usuários comuns do sistema, todo arquivo iniciará sua vida com permissões 664 (666-002=664), o que significa leitura e escrita para o dono e 
para o grupo (no formato absoluto será -rw-rw-r--) e aos outros usuários do sistema permite apenas leitura.
Pode-se verificar, através do exemplo abaixo, que existem vários dados importantes utilizados para identificar as características de um arquivo. Veja 
o Exemplo 4-1:
Exemplo 4-1. Informações Sobre um Arquivo
$ ls -l teste
-rw-rw-r-- 1 aluno projeto 71815 Mar 7 15:52 teste
O primeiro bit do campo -rw-rw-r-- determina o seu tipo, pois tudo em um sistema Linux é tratado como se fosse arquivo, incluindo os 
diretórios, links e dispositivos do sistema. Os principais tipos e seus significados são:
-: atributo de arquivo.
d: quando se trata de um diretório.
l: o arquivo é um link simbólico.
b: dispositivos de bloco.
c: dispositivos de caractere.
s: trata-se de um socket, atribuído para arquivos de comunicação e memória.
t: sticky bit.
Sticky bit é um bit utilizado tanto para arquivos como para diretórios no Linux. Se for habilitado para um arquivo executável, enviará uma 
mensagem para que o kernel mantenha o código carregado em uma área de troca[5], mesmo depois de terminada a execução do arquivo. Isto causa 
uma melhora de desempenho, pois caso o arquivo venha ser executado novamente, ele já estará na área de troca.
Se o sticky bit for habilitado em um diretório, um usuário não terá privilégios para renomear ou apagar arquivos de outros usuários neste diretório, 
somente terá acesso aos seus próprios documentos. Porém, se as permissões forem modificadas, o usuário poderá ter acesso aos documentos de 
outros usuários também.
O restante do campo indica as permissões para cada grupo. Os tipos de permissões para arquivos são:
r: leitura (copiar, imprimir, visualizar).
w: escrita (mover, apagar, modificar).
x: execução (programas, scripts, diretórios).
-: sem permissão.
file:///C|/cursos_e_livros_cd/informática/sistemas%20operacionais/linux/conectiva/entendendo/arq.dir.html (9 of 12)28/09/2004 19:52:57
Arquivos e Diretórios
E para os diretórios:
r: permite que você liste o conteúdo do diretório.
w: permite que você crie, altere a apague arquivos no diretório.
x: permite que você efetue buscas no diretório.
-: sem permissões para o diretório.
Estas permissões podem ser aplicadas para:
u: o dono do arquivo (user).
g: um grupo de usuários ao qual o arquivo pertence (group).
o: todos os usuários que não estão incluídos em nenhuma das duas categorias anteriores (others ou outros).
a: todas as permissões ao mesmo tempo (u+g+o).
O campo com o número 1 pode ter dois significados. Se for um arquivo, este número indica quantos hard links estão sendo apontados para ele, e 
neste caso, existe apenas um só: o arquivo apontando para ele mesmo. Se for um diretório, indica quantos subdiretórios existem (incluindo o . e o ..). 
A seguir, os campos aluno e projeto mostram o nome do usuário e do grupo no qual o arquivo se encontra. Caso o usuário dono do arquivo ou o seu 
grupo não estejam adicionados ao sistema, serão visualizados os números de UID (User Identification) e GID (Group Identification) do arquivo.
Os últimos campos indicam o tamanho do arquivo, a data e o horário em que ele foi pela última vez modificado e, por fim, o nome do arquivo.
O dono do arquivo tem total controle sobre todos os seus parâmetros a qualquer hora; se um usuário não for o dono do arquivo mas pertencer ao 
grupo, poderá acessá-lo, mas não poderá restringir ou permitir acessos ao arquivo.
Se o usuário tem permissões de escrita no diretório e tentar apagar um arquivo que não tenha permissão de escrita, o sistema perguntará se ele 
confirma a exclusão do arquivo apesar do modo leitura. Caso tenha permissões de escrita no arquivo, o arquivo será apagado por padrão sem 
mostrar nenhuma mensagem de erro. Por outro lado, mesmo que se tenha permissões de escrita em um

Outros materiais