O uso de UNIX se baseia na noção de sessão de trabalho. Cada usuário é designado por um nome de login, ou simplesmente login, com uma senha secreta associada. Uma sessão de trabalho típica consiste das seguintes etapas:
O UNIX pode gerenciar diversas sessões simultâneas de usuários distintos na mesma máquina. Cada um terá uma visão independente e transparente dos recursos disponíveis, sem conflitos ou interferências.
No UNIX a interface gráfica é completamente separada do núcleo do sistema operacional. Isso permite uma grande versatilidade em relação aos ambientes gráficos disponíveis. A interface gráfica é construída em dois níveis:
Algumas características importantes diferenciam a arquitetura gráfica do UNIX daquela implantada em outros sistemas:
Os ambientes gráficos usados em nosso curso são o KDE e o Gnome, que executam sobre um processo servidor X-Window padrão (X.Org).
O sistema UNIX implementa um sistema de documentação on-line simples, mas bastante útil e eficiente, chamado páginas de manual (man pages). As páginas de manual estão estruturadas em sessões:
O acesso às páginas de manual é normalmente efetuado através do comando man. Assim, man ls apresenta a página de manual do comando ls, enquanto man man apresenta a página de manual do próprio comando man.
Os ambientes gráficos oferecem ferramentas gráficas para a consulta às páginas de manual, geralmente acessíveis através de um ícone na barra de ferramentas.
A noção de usuário está muito presente em UNIX:
id
user permite visualizar as informações de usuários e grupos.finger
user oferece informações adicionais sobre um usuário.A informação de usuário e grupo é usada pelo sistema para gerenciar o acesso aos recursos (arquivos e diretórios) e para a gerência dos processos de usuários distintos.
O usuário com UID = 0 é chamado “root” e possui poderes especiais no sistema:
Assim, torna-se óbvio que a senha de root é de grande importância para a segurança do sistema.
Além do root, outros usuários são definidos para a implantação de serviços específicos. Esse é o caso dos usuários “bin”, “daemon”,“lp”, “mail”, “news”, “ftp” e “nobody”, que não correspondem a seres humanos. Normalmente esses usuários não são acessíveis via login, existindo apenas internamente no sistema.
O shell é um programa que permite o uso do sistema através de uma interface em linha de comandos. Existem diversos estilos de shell, sendo os mais comuns o Bourne Shell (sh) e o C-Shell (csh). Neste curso usaremos o BASH (Bourne Again SHell), escolhido por ser o shell padrão na maior parte dos sistemas UNIX.
Apesar da interface em linha de comandos ser um conceito considerado antiquado, o shell oferece mecanismos para tornar a vida do usuário mais simples e produtiva. Além disso, é uma ferramenta de valor inestimável para operações em máquinas remotas.
O sistema de arquivos do UNIX possui as seguintes características fundamentais:
Os diretórios de um sistema de arquivos UNIX têm uma estrutura pré-definida, com poucas variações. A seguir ilustramos os principais:
/home
: raiz dos diretórios home dos usuários./boot
: arquivos de boot (núcleo do sistema, etc)/var
: arquivos variáveis, áreas de spool (impressão, e-mail, news), arquivos de log/etc
: arquivos de configuração dos serviços/usr
: aplicações voltadas aos usuários/tmp
: arquivos temporários/mnt
: montagem de diretórios compartilhados temporários/bin
: aplicações de base para o sistema/dev
: arquivos de acesso aos dispositivos físicos e conexões de rede/lib
: bibliotecas básicas do sistemaCada usuário possui um diretório especial, chamado “diretório home” (casa), onde são armazenados:
O diretório home do usuário é o seu local de início de sessão de trabalho (via shell ou gráfica). O usuário possui plenos poderes de acesso ao seu diretório home (e seus sub-diretórios), e normalmente não pode criar arquivos fora dele. O diretório home de cada usuário é normalmente inacessível aos outros usuários, mas isso pode ser controlado pelo administrador do sistema (root).