Resumo
Se este é seu primeiro encontro com um sistema Linux, você provavelmente quer aprender algo sobre os conceitos básicos do Linux antes de iniciar. As interfaces gráficas do Linux, Mac OS* e Windows* exibem componentes da área de trabalho similares, o que facilita a mudança de um ambiente gráfico para outro. No entanto, se você olhar para o sistema por baixo, você irá notar algumas diferenças.
As seguintes seções pretendem guiá-lo pelos primeiros passos com o seu sistema Linux e ajudar os “novatos” em Linux a se familiarizarem no seu novo sistema operacional. Você aprenderá sobre os conceitos de usuário do Linux, a estrutura do sistema de arquivos Linux (onde encontrar o que na árvore de diretórios) e como lidar com as permissões de acesso de arquivos e diretórios, que são um recurso essencial no Linux.
Os usuários que já trabalharam com o Mac OS irão, provavelmente, reconhecer que os conceitos explicados nas seguintes seções são similares aos que eles já conhecem do Mac OS. Os usuários do Windows podem perceber algumas diferenças cruciais das quais vale a pena tomar nota.
Desde o começo, o Linux foi projetado como um sistema multiusuário: qualquer número de usuários pode trabalhar simultaneamente em uma máquina. Esses usuários podem se conectar ao sistema através de diferentes terminais ou conexões de rede. Geralmente, os usuários se precisam logar antes de iniciar uma sessão. Informações pessoais e configurações individuais da área de trabalho são armazenadas separadamente para cada usuário.
Entre os usuários trabalhando em uma máquina, o Linux distingue entre diferentes tipos de funções de usuários: você pode iniciar a sessão em uma máquina Linux como um usuário “normal” ou como superusuário (administrador), tradicionalmente chamado de root no Linux. O superusuário tem privilégios que o autorizam a acessar todas as partes do sistema e executar tarefas administrativas: Ele ou ela tem a capacidade, sem restrições, de fazer alterações no sistema e tem acesso ilimitado a todos os arquivos. Se você iniciou a sessão como um usuário normal, você não tem esses privilégios. O usuário e o root podem, é claro, ser a mesma pessoa física atuando em diferentes funções.
A conta de usuário root é sempre criada no seu sistema Linux por padrão — durante a instalação é requisitado a você especificar uma senha para o root. Quais outros usuários podem logar no seu sistema depende do método de autenticação que você escolheu durante a instalação (veja Seção 1.11, “Criar Novo Usuário”).
Para o seu trabalho diário, você geralmente inicia a sessão no seu sistema como um usuário normal. Executar algumas tarefas administrativas ou executar certos programas como o YaST requerem permissões de root. Você pode facilmente alterar de sua conta normal para a de root e voltar para a sua conta normal após efetuar as tarefas administrativas. Como fazê-lo num shell está descrito em Seção 7.4, “Tornando-se root”. Se você está trabalhando na interface gráfica, geralmente será solicitado a digitar a senha de root quando necessário. Fechar o aplicativo que requer permissões de root resulta na retirada dos privilégios de root: você automaticamente retorna para sua conta de usuário normal.
Enquanto este conceito pode não parecer atraente a princípio, ele adiciona segurança. Um usuário sem os privilégios de root não pode danificar o sistema completamente. Qualquer dano causado é estritamente limitado à conta e aos dados do próprio usuário. Qualquer operação executada com os privilégios de root pode potencialmente danificar um sistema completamente. Qualquer um que tentar danificar um sistema Linux em execução deve obter privilégios de root primeiro. É por isto que é muito mais difícil criar vírus para sistemas Linux. Eles devem superar a barreira do root primeiro.
Qualquer usuário num sistema Linux pertence a pelo menos um grupo. Um grupo, neste caso, pode ser definido como um conjunto de usuários conectados a certos privilégios coletivos. Os grupos são geralmente definidos de acordo com as funções ou dados e recursos que os membros do grupo precisam acessar. Quando um novo usuário é criado no sistema, o usuário é geralmente atribuído a um grupo primário e padrão. O administrador do sistema pode alterar este grupo primário ou atribuir o usuário a um grupo adicional, se necessário.
Todos os usuários, incluindo o superusuário, possuem seus próprios diretórios pessoais (home), onde todos os dados privados, como documentos, favoritos ou e-mails, são armazenados. Os diretórios do sistema que armazenam arquivos de configuração centrais ou arquivos executáveis podem ser modificados somente pelo superusuário. Leia mais sobre permissões de acesso e como modificá-las de acordo com suas necessidades em Seção 7.5, “Modificando Permissões de Arquivo”.
No Linux, você pode escolher se deseja gerenciar arquivos e diretórios com um gerenciador de arquivos ou com a linha de comandos, que é o modo tradicional. O último método é geralmente mais rápido, mas requer um conhecimento mais profundo de vários comandos para listar, criar, remover ou editar arquivos e suas propriedades. Para mais informações sobre comandos para manipular arquivos, consulte Seção 7.3, “Trabalhando com Arquivos e Diretórios”. Um gerenciador de arquivos fornece um modo gráfico e mais intuitivo de executar essas tarefas. Aprenda mais sobre os gerenciadores de arquivo do GNOME e do KDE em Seção “Gerenciando pastas e arquivos com o nautilus” (Capítulo 2, Trabalhando com sua área de trabalho, ↑Guia do Usuário GNOME) e Seção “Using Dolphin File Manager” (Capítulo 2, Working with Your Desktop, ↑Guia do Usuário KDE). As seguintes seções fornecem a você um conhecimento básico do sistema de arquivos e uma visão geral da estrutura de diretórios padrão no Linux.
No Linux, todos os arquivos e diretórios estão localizados numa estrutura em forma de árvore. O diretório mais acima é conhecido como a raiz do sistema de arquivos ou apenas / (não confundir com o usuário root). O equivalente de / num sistema Windows provavelmente seria C:\. Todos os outros diretórios no Linux podem ser acessados a partir do diretório raiz e estão dispostos numa estrutura hierárquica.
Encontre os recursos chave do sistema de arquivos Linux na seguinte lista, que também destaca algumas das maiores diferenças entre os sistemas de arquivos Linux e Windows/DOS:
Ao contrário do Windows, o Linux não usa barra invertida para separar os componentes do nome do caminho, mas uma barra normal. Por exemplo, os dados privados dos usuários podem ser armazenados em C:\Meus Documentos\Cartas, mas no Linux eles seriam armazenados em /home/. nome_de_usuário/Cartas
O Linux não usa letras de unidades como o Windows faz. Apenas pela aparência do nome do caminho no Linux você não pode afirmar se você está acessando uma partição, uma unidade/dispositivo, um dispositivo de rede ou um diretório “normal”.
Outra diferença crucial entre o Windows/DOS e o Linux é o conceito de montagem e desmontagem de partições, unidades e diretórios. O Windows detecta partições e unidades durante o processo de inicialização e atribui uma letra de unidade para elas. No Linux, no entanto, normalmente as partições ou dispositivos não são visíveis na árvore de diretórios, a menos que eles sejam montados, o que significa serem integrados ao sistema de arquivos numa localização específica na área de diretórios. Como um usuário normal você não pode acessar dados em uma partição ou dispositivo a menos que ele esteja montado. Mas não se preocupe — na maioria das vezes você não precisa montar as partições ou dispositivos manualmente. Durante a instalação do seu sistema, você pode definir partições a serem montadas automaticamente quando o sistema for iniciado. Geralmente, dispositivos removíveis são detectados e montados automaticamente pelo seu sistema —as áreas de trabalho como o KDE ou o GNOME irão informá-lo sobre a detecção de um novo dispositivo.
Apesar deste conceito de montagem e desmontagem parecer complicado ou incômodo à primeira vista, ele também fornece uma grande flexibilidade: por exemplo, você pode facilmente montar um diretório de outra máquina através da rede e atuar neste diretório como se ele estivesse localizado em sua máquina.
O Linux distingue letras maiúsculas de minúsculas no sistema de arquivos. Por exemplo, os arquivos teste.txt, TeSTe.txt ou Teste.txt são diferentes no Linux. Isto também é válido para diretórios: Você não pode acessar um diretório chamado Cartas pelo nome cartas.
Ao contrário do Windows, os arquivos no Linux podem ter uma extensão de arquivo, como .txt, mas não precisam ter uma. Quando você começa a trabalhar com o shell, isso, às vezes, torna difícil para iniciantes diferenciar arquivos e diretórios, dependendo do comando que você usar para listar os conteúdos de um diretório. Aprenda mais sobre os comandos básicos do shell em Capítulo 7, Básico do Shell. Se você usa os gerenciadores de arquivos gráficos no GNOME ou KDE (veja Seção “Gerenciando pastas e arquivos com o nautilus” (Capítulo 2, Trabalhando com sua área de trabalho, ↑Guia do Usuário GNOME) e Seção “Using Dolphin File Manager” (Capítulo 2, Working with Your Desktop, ↑Guia do Usuário KDE)), os arquivos e diretórios são simbolizados por vários ícones diferentes, dependendo da visão que você escolher.
Similar ao Windows, o Linux também distingue entre arquivos “normais” e arquivos ocultos, que normalmente são arquivos de configuração, os quais você geralmente não quer acessar ou ver como um usuário normal. No Linux, os arquivos ocultos são indicados por um ponto na frente (por exemplo, .arquivo_oculto). Para acessar os arquivos ocultos, você pode alternar a visão nos gerenciadores de arquivo, como descrito em Seção “Using Dolphin File Manager” (Capítulo 2, Working with Your Desktop, ↑Guia do Usuário KDE), ou usar um dado comando no shell, como descrito em Seção 7.2.2, “Usando Comandos com Opções”.
Como o Linux é um sistema multiusuário, cada arquivo no sistema de arquivos do Linux pertence a um usuário e a um grupo. Somente o dono do arquivo ou diretório (ou, é claro, o root) pode conceder a outros usuários permissões de acesso a ele. O Linux basicamente distingue entre três diferentes tipos de permissões de acesso: permissão de escrita, permissão de leitura e permissão de de execução. Você só pode acessar um arquivo ou diretório se tiver, pelo menos, a permissão de leitura para ele. Existem várias formas de alterar as permissões de acesso de arquivos e diretórios: ou pela forma tradicional via shell ou com a ajuda do gerenciador de arquivos de sua área de trabalho. Se você possui privilégios de root você também pode alterar o dono e o grupo de um arquivo ou diretório. Aprenda como fazer isto num shell em Seção 7.5, “Modificando Permissões de Arquivo”.
Para mais informações detalhadas sobre as permissões do sistema de arquivos, consulte Seção 6.3, “Permissões de Acesso a Arquivos”. Além do conceito tradicional de permissões para os objetos do sistema de arquivos, também existem extensões disponíveis que podem lidar com as permissões de forma mais flexível. Leia mais em Capítulo Access Control Lists in Linux (↑Guia de Segurança).
A seguinte tabela fornece uma breve visão geral dos diretórios mais importantes de alto nível que você encontra em um sistema Linux. Encontre informações mais detalhadas sobre os diretórios e subdiretórios importantes na seguinte lista.
Tabela 6.1. Visão geral de uma árvore de diretórios padrão
|
Diretório |
Conteúdo |
|---|---|
|
Diretório raiz—o ponto de início da árvore de diretórios. | |
|
Arquivos executáveis essenciais, como comandos que são necessários tanto para o administrador do sistema como para usuários normais. Geralmente também contém os shells, como o Bash. | |
|
Arquivos estáticos do carregador de inicialização. | |
|
Arquivos necessários para acessar dispositivos específicos da máquina. | |
|
Arquivos de configuração do sistema específicos da máquina. | |
|
Contém os diretórios pessoais (home) de todos os usuários que têm contas no sistema. No entanto, o diretório pessoal do | |
|
Bibliotecas compartilhadas essenciais e módulos do kernel. | |
|
Pontos de montagem para mídias removíveis. | |
|
Ponto de montagem para montagem temporária de um sistema de arquivos. | |
|
Pacotes de softwares de aplicativos complementares. | |
|
Diretório pessoal para o superusuário | |
|
Executáveis essenciais do sistema. | |
|
Dados para serviços fornecidos pelo sistema. | |
|
Arquivos temporários. | |
|
Hierarquia secundária com dados somente leitura. | |
|
Dados variáveis como arquivos de log. | |
|
Somente disponível se você tem ambos, Microsoft Windows* e Linux, instalados no seu sistema. Contém os dados do Windows. |
A lista a seguir fornece informação mais detalhada e fornece alguns exemplos de quais arquivos e subdiretórios podem ser encontrados nos diretórios:
/bin
Contém os comandos básicos do shell que podem ser usados por ambos, o root e outros usuários. Estes comandos incluem o ls, mkdir, cp, mv, rm e rmdir. O diretório /bin também contém o Bash, o shell padrão no openSUSE.
/boot
Contém os dados necessários para a inicialização, como o carregador de inicialização, o kernel e outros dados que são usados antes que o kernel comece a executar os programas no modo usuário.
/dev
Contém os arquivos de dispositivo que representam os componentes de hardware.
/etc
Contém arquivos de configuração local que controlam a operação de programas como o sistema X Window. O subdiretório /etc/init.d contém scripts que são executados durante o processo de inicialização.
/home/nome_de_usuário
Contém os dados privados de cada usuário que tem uma conta no sistema. Os arquivos localizados aqui podem ser modificados somente pelos seus donos ou pelo administrador do sistema. Por padrão, seu diretório de e-mails e configurações pessoais da área de trabalho estão localizados aqui na forma de arquivos e diretórios ocultos. Os usuários do KDE encontram os dados de configuração pessoais para sua área de trabalho em .kde4. Os usuários do GNOME os encontram em .gconf. Para informações sobre arquivos ocultos, consulte Seção 6.2.1, “Recursos Chave”.
![]() | Diretório pessoal em um ambiente de rede |
|---|---|
Se você estiver trabalhando em um ambiente de rede, seu diretório pessoal pode ser mapeado para um diretório no sistema de arquivos diferente de | |
/lib
Contém as bibliotecas compartilhadas essenciais necessárias para inicializar o sistema e executar comandos no sistema de arquivos raiz. O equivalente no Windows para as bibliotecas compartilhadas são os arquivos DLL.
/media
Contém pontos de montagem para mídias removíveis como CD-ROMs, pendrives USB e câmeras digitais (se elas forem USB). /media geralmente contém qualquer tipo de unidade, exceto a unidade de disco de seu sistema. Tão logo sua mídia removível seja inserida ou conectada no sistema e montada, você pode acessá-la daqui.
/mnt
Este diretório fornece um ponto de montagem para um sistema de arquivos montado temporariamente. O root pode montar sistemas de arquivos aqui.
/opt
Reservado para a instalação de software de terceiros. Softwares opcionais e pacotes de programas complementares podem ser encontrados aqui.
/root
Diretório pessoal para o usuário root. Os dados pessoais do root estão localizados aqui.
/sbin
Como o s indica, este diretório contém os utilitários para o superusuário. O /sbin contém os executáveis essenciais para a inicialização, restauração e recuperação do sistema em adição aos executáveis do diretório /bin.
/srv
Contém dados para serviços fornecidos pelo sistema, como FTP e HTTP.
/tmp
Este diretório é usado por programas que necessitam de armazenamento temporário de arquivos.
![]() | Limpando o /tmp na inicialização |
|---|---|
Os dados armazenados em | |
/usr
/usr não tem nada a ver com usuários, mas é o acrônimo para UNIX system resources (recursos do sistema UNIX). Os dados em /usr são estáticos e permitem somente leitura, podendo ser compartilhados entre várias máquinas compatíveis com o FHS (Filesystem Hierarchy Standard - Padrão de Hierarquia de Sistema de Arquivos). Este diretório contém todos os programas aplicativos e estabelece uma segunda hierarquia no sistema de arquivos. O KDE4 e o GNOME também estão localizados aqui. O diretório /usr contém vários subdiretórios, como /usr/bin, /usr/sbin, /usr/local e /usr/share/doc.
/usr/bin
Contém programas geralmente acessíveis.
/usr/sbin
Contém daemons do sistema e programas reservados para o administrador do sistema que não são essenciais para a inicialização do sistema.
/usr/local
Neste diretório, o administrador do sistema pode instalar extensões locais, independentes da distribuição.
/usr/share/doc
Contém vários arquivos de documentação e as notas de lançamento para o seu sistema. No subdiretório manual encontre uma versão online deste manual. Se mais de um idioma estiver instalado, o diretório pode conter versões deste manual para diferentes idiomas.
Em packages encontre a documentação incluída nos pacotes de software instalados no seu sistema. Para cada pacote, um subdiretório /usr/share/doc/packages/ é criado, e, frequentemente, contém arquivos README para o pacote e, às vezes, exemplos, arquivos de configuração ou scripts adicionais. nomedopacote
Se HOWTOs estiverem instalados no seu sistema, o /usr/share/doc também conterá o subdiretório howto, no qual você irá encontrar documentação adicional para várias tarefas relacionadas à configuração e operação do software Linux.
/var
Enquanto /usr contém dados estáticos, apenas com permissão de leitura, o diretório /var é para dados que são escritos durante a operação do sistema, e, portanto, são dados variáveis, como arquivos de log ou dados de filas (spooling). Para um resumo dos arquivos de logs mais importantes que você pode encontrar em /var/log/, consulte Tabela 9.1, “Arquivos de log”.
/windows
Disponível somente se você tiver ambos, Microsoft Windows e Linux, instalados no seu sistema. Contém os dados do Windows disponíveis na partição Windows do seu sistema. A possibilidade de edição dos dados neste diretório depende do sistema de arquivos que sua partição Windows usa. Se ele for FAT32, você pode abrir e editar arquivos neste diretório. Para NTFS, o openSUSE também inclui suporte de permissão de escrita. No entanto, o driver para o sistema de arquivos NTFS-3g tem funcionalidade limitada;. Aprenda mais em Seção “Accessing Files on Different OS on the Same Computer” (Capítulo 34, Copying and Sharing Files, ↑Guia de Referência).
No Linux, objetos como arquivos, pastas ou processos, geralmente pertencem ao usuário que os criou ou os inicializou. Há algumas exceções a essa regra. Para mais informações sobre as exceções, consulte Capítulo Access Control Lists in Linux (↑Guia de Segurança). O grupo associado ao arquivo ou pasta depende do grupo primário ao qual o usuário que criou o objeto pertence.
Quando você cria um novo arquivo ou diretório, a permissão de acesso inicial para esse objeto é definido de acordo com o esquema predefinido. Como o dono do arquivo ou diretório, você pode trocar a permissão de acesso desse objeto. Por exemplo, você pode proteger arquivos que contêm dados sensíveis contra leitura por usuários e você pode autorizar os membros do seu grupo ou outros usuários a escrever, ler ou executar alguns de seus arquivos, onde for apropriado. Como root, você também pode trocar o dono de arquivos ou pastas.
Três conjuntos de permissões são definidas para cada arquivo no sistema Linux. Esses conjuntos incluem permissões de leitura, escrita e execução para cada um dos três tipos de usuários — o dono, o grupo e outros usuários. Você pode ver e trocar as permissões de acesso de um arquivo ou pasta nos gerenciadores de arquivos de sua área de trabalho ou no shell (veja Seção 7.5, “Modificando Permissões de Arquivo”).
Os exemplos a seguir mostram a saída de um comando ls -l no terminal. Esse comando lista o conteúdo de um diretório e mostra os detalhes de cada arquivo ou pasta no diretório.
Exemplo 6.1. Permissões de Acesso para Arquivos e Pastas¶
-rw-r----- 1 tux users 0 2006-06-23 16:08 checklist.txt -rw-r--r-- 1 tux users 53279 2006-06-21 13:16 gnome_quick.xml -rw-rw---- 1 tux users 0 2006-06-23 16:08 index.htm -rw-r--r-- 1 tux users 70733 2006-06-21 09:35 kde-start.xml -rw-r--r-- 1 tux users 47896 2006-06-21 09:46 kde_quick.xml drwxr-xr-x 2 tux users 48 2006-06-23 16:09 local -r-xr-xr-x 1 tux users 624398 2006-06-23 15:43 tux.jpg
Como mostrado na terceira coluna, todos objetos pertencem ao usuário tux. Eles são atribuídos ao grupo users, que é o grupo primário ao qual o usuário tux pertence. Para recuperar as permissões de acesso, a primeira coluna da lista precisa ser examinada mais detalhadamente. Vamos olhar o arquivo kde-start.xml:
|
Tipo |
Permissões do usuário |
Permissões do grupo |
Permissões para outros |
|
|
|
|
|
A primeira coluna da lista consiste em um caractere inicial seguido por nove caracteres agrupados em três blocos. O caractere inicial indica o tipo de arquivo do objeto: neste caso, o hífen (–) mostra que o kde-start.xml é um arquivo. Se você encontrar o o caractere d, significa que o objeto é um diretório, como local em Exemplo 6.1, “Permissões de Acesso para Arquivos e Pastas”.
Os próximos três blocos mostram as permissões de acesso para o dono, o grupo e outros usuários (da esquerda para direita). Cada bloco segue o mesmo padrão: a primeira posição mostra a permissão de leitura (r), a posição seguinte mostra a permissão de escrita (w), a último mostra a permissão de execução (x). A falta de qualquer permissão é indicada pelo -. Em nosso exemplo, o dono do kde-start.xml tem acesso para leitura e escrita no arquivo, mas não pode executá-lo. O grupo users pode ler o arquivo, mas não pode escrevê-lo ou executá-lo. O mesmo se mantém para outros usuário que são mostrados no terceiro bloco de caracteres.
As permissões de acesso têm um impacto ligeiramente diferente dependendo do tipo de objeto ao qual elas são aplicadas: arquivos ou diretórios. A seguinte tabela mostra os detalhes:
Tabela 6.2. Permissões de Acesso para Arquivos e Diretórios¶
|
Permissão de acesso |
Arquivo |
Pasta |
|---|---|---|
|
Leitura (r) |
Usuários podem abrir e ler o arquivo. |
OS usuários podem ver o conteúdo do diretório. Sem essa permissão, os usuários não podem listar o conteúdo desse diretório com o comando ls |
|
Escrever (w) |
Os usuários podem alterar o arquivo: eles podem adicionar ou retirar dados e sempre podem remover o conteúdo do arquivo. No entanto, isso não inclui a permissão para remover completamente o arquivo do diretório se eles não tiverem permissão de escrita para o diretório onde o arquivo está localizado. |
Os usuários podem criar, renomear ou remover os arquivos no diretório. |
|
Executar (x) |
Os usuários podem executar o arquivo. Essa permissão é a única relevante para arquivos como programas ou shell scripts, mas não para arquivos de texto. Se o sistema operacional puder executar o arquivo diretamente, os usuários não precisam de permissão de leitura para executar o arquivo. No entanto, se o arquivo precisar ser interpretado como um shell script ou programa em perl, a permissão de leitura é necessária. |
Os usuários podem acessar o diretório e executar arquivos de lá. Se eles não possuírem acesso para leitura no diretório, eles não podem listar os arquivos, mas podem executá-los se souberem de sua existência. |
Note que o acesso para um certo arquivo sempre depende da combinação das permissões de acesso para ele e para o diretório no qual ele se localiza.