Tarefas básicas para novos usuários do Linux

Socorro! Instalei o Linux. E agora?

Se você for um usuário do Windows, pode achar que seu sistema Linux é um pouco diferente do que está acostumado. Uma de suas primeiras tarefas será provavelmente a instalação de softwares adicionais, incluindo alguns dos vários softwares da IBM para Linux. Em muitos casos, para instalar softwares em um sistema Linux é preciso fazer login, tornar-se super usuário (ou usuário raiz) para algumas tarefas, abrir uma janela de terminal ou de shell e montar uma unidade de CD-ROM, DVD ou USB. Este artigo ensina essas tarefas básicas para usuários iniciantes, e mais.

Ian Shields, Senior Programmer, IBM

author photo - Ian ShieldsIan Shields trabalha em muitos projetos Linux para a zona Linus do developerWorks Linux. Ele é um Programador Sênior na IBM em Research Triangle Park, NC. Ele se uniu à IBM em Canberra, Austrália, com Engenheiro de Sistemas em 1973, e desde então trabalhou em sistemas de comunicação e computação disseminada em Montreal, Canadá e em RTP, NC. Ele possui diversas patentes e publicou diversos papers. Sua licenciatura universitária foi em matemática pura e filosofia pela Australian National University. Ele é um M.S. e Ph.D. em ciência da computação pela North Carolina State University. Você pode entrar em contato com Ian através do endereço ishields@us.ibm.com.



19/Mai/2011

Introdução

Se você é um usuário do Windows que deseja experimentar o Linux e é iniciante no Linux, este tutorial é para você. Falaremos sobre algumas tarefas básicas que podem ser diferente do que você está acostumado. Abordaremos estas tarefas:

Login
Fazendo login e entendendo o desktop do Linux
Navegação e configurações
Ajustando configurações para se adequar a suas necessidades pessoais
Acesso à linha de comando
Quando você realmente precisar trabalhar na linha de comando
Tornando-se super usuário (ou usuário raiz)
Quando a autoridade de usuário comum não é o bastante
Usando um aplicativo GUI como outro usuário
Acostumando-se aos recursos de um sistema multiusuário
Dispositivos removíveis
Usando mídia removível, e como não perder os dados ao desacoplar dispositivos removíveis
Logout
Quando você tiver encerrado ou precisar de um ícone de painel para logout ou outros aplicativos
Incluindo usuários e grupos
Incluindo mais usuários ou grupos de usuários ao sistema

Estas instruções e exemplos focam em três distribuições populares e em seus desktops gráficos padrão:

  • Fedora 14 usando um desktop GNOME
  • OpenSUSE 11.3 usando um desktop KDE 4
  • Ubuntu 10.10 usando um desktop GNOME

Outras distribuições, desktops e gerenciadores de janelas também estão disponíveis, e incentivamos você a explorar por conta própria. Mesmo que as informações aqui sejam específicas para uma determinada distribuição ou mesmo uma determinada versão de uma distribuição, o que você aprenderá aqui deve ajudar a navegar por distribuições desconhecidas. Como este tutorial pretende ser apenas uma introdução, você não encontrará informações sobre tarefas mais avançadas como recompilação de kernel ou instalação de software. Recomendamos nossos guias para autoestudo para certificação Linux (LPI) gratuito para mais informações.

No momento em que escrevo, o GNOME 3 deve estar disponível em breve. Espere mudanças na interface com o usuário em relação ao que é descrito aqui.

Antes de usar estas instruções, instale um sistema Linux e crie ao menos um usuário não raiz como parte do processo de instalação.


Login

Após instalar a distribuição Linux e fazer boot do sistema, será feito seu login automático, ou você verá uma tela de login. A próxima seção mostra como alternar entre esses dois métodos de inicialização e discute as implicações do login automático para a segurança. Para esta seção, iremos considerar que você está fazendo login. Os três sistemas que consideramos neste tutorial implementam login de forma um pouco diferente um do outro, mas todos irão solicitar o nome de um ou mais usuários. Após selecionar um usuário, é preciso inserir uma senha.

A tela de login

A aparência da tela varia de acordo com sua distribuição Linux, e não é de surpreender que seja possível customizar ainda mais, - mas não iremos cobrir isso neste breve tutorial. A Figura 1 mostra uma tela de login típica para um sistema Ubuntu 10.10, e a Figura 2 mostra uma típica para o Fedora 14. Ambas ilustram o desktop GNOME padrão usado nesses sistemas.

Figura 1. Tela de login do Ubuntu 10.10
Tela de login do Ubuntu 10.10
Figura 2. Tela de login do Fedora 14
Tela de login do Fedora 14

A Figura 3 mostra uma tela de login típica do sistema OpenSUSE 11.3 com o desktop KDE 4 padrão ou

Figura 3. Tela de login do OpenSUSE Linux 11.3
Tela de login do OpenSUSE Linux 11.3

Quando você inserir ou selecionar um ID e pressionar Enter, o sistema solicitará sua senha. Se um campo de senha for mostrado na tela de login, como neste exemplo do OpenSUSE, é possível tabular para esse campo e inserir a senha. Se não houver um campo de entrada para ID e for preciso inserir um ID que não esteja na lista de IDs disponíveis, geralmente haverá uma entrada como "other..." como mostra a Figura 2. Selecione essa entrada e você deverá ver um campo de entrada para o ID. Falaremos mais sobre isso na seção Tornando-se super usuário (ou usuário raiz).

As telas de login podem conter outros itens, como um relógio, talvez o nome do sistema e ícones ou menus com nomes que permitem encerrar ou reiniciar o sistema.

Acessibilidade

Nos desktops GNOME, há um pequeno ícone que parece a figura de uma pessoa dentro de um círculo. Clique nele e você verá um diálogo para opções de acessibilidade, como teclado na tela e fonte maior. A Figura 4 mostra um exemplo do nosso sistema Fedora. Usamos a opção para tornar o texto maior e mais fácil de ler na tela de login na Figura 2.

Figura 4. Opções de acessibilidade de login do Fedora
Opções de acessibilidade de login do Fedora

A tela do desktop

Após inserir a senha e pressionar Enter novamente, você estará conectado e verá seu desktop. Figura 5 mostra o que você veria como o usuário ian em um sistema Ubuntu 10.10 com um painel ao longo da parte superior e outro na parte inferior. Para explorar o desktop, passe o mouse por cima dos ícones ou clique neles.

Observação: As próximas três imagens devem dar uma impressão da aparência do desktop. Não se preocupe se não conseguir ler as letras pequenas.

Figura 5. Janela inicial de amostra para Ubuntu 10 e desktop GNOME
Janela inicial de amostra para Ubuntu 10 e desktop GNOME

Fedora 14 também usa o desktop GNOME. Na Figura 6, clicamos no ícone System na parte direita do painel superior e selecionamos Preferences. Ao passar o mouse por cima da opção Desktop Effects no menu subsidiário, a ajuda mostra Select desktop effects. É aqui que são escolhidos os efeitos de desktop, como fazer com que as janelas balancem quando são movidas. Observe que isso requer recursos gráficos de 3D e, possivelmente, um driver de gráficos que não é software livre.

Figura 6. Janela inicial de amostra para Fedora 14 e desktop GNOME
Janela inicial de amostra para Fedora 14 e desktop GNOME

Figura 7 mostra o que se veria com OpenSUSE e um desktop KDE 4.

Figura 7. Janela inicial de amostra para SUSE Linux e desktop KDE
Janela inicial de amostra para SUSE Linux e desktop KDE

O relativamente recente desktop KDE 4 usa uma metáfora de navegação diferente, que discutiremos melhor na seção Navegação e configurações. Observe que o menu da janela Desktop Folder desliza para a esquerda ou direita da janela, em vez de ficar fixo na parte superior.


Navegação e configurações

Vamos explorar os painéis do Linux no desktop, e examinar a navegação e um exemplo de como customizar o desktop alterando para uso do mouse com a mão esquerda.

Painéis do desktop

Painéis proporcionam um ponto de início para interagir com o desktop e fornecem informações sobre o sistema. Geralmente há um ou dois painéis no desktop. Normalmente eles estão na extremidade inferior, na extremidade superior ou em ambas as extremidades da janela. Eles podem ser movidos para as extremidades esquerda ou direita, geralmente clicando com o botão direito e alterando as propriedades.

Distribuições e desktops diferentes apresentam diferenças quanto ao layout de painéis, portanto espere diferenças aqui. A Figura 8 mostra nossos painéis GNOME do Ubuntu. Mostramos as extremidades dos painéis para maior clareza.

Figura 8. Reursos de painel do GNOME no Ubuntu
Reursos de painel do GNOME no Ubuntu
  • A parte esquerda do painel superior é um lugar para acessar programas, pastas (diretórios) ou configurações e informações do sistema.
  • A parte direita do painel superior fornece informações como hora e data e vários botões de acesso rápido para funções como controle de volume, acesso a janelas de bate-papo e logout.
  • A parte esquerda do painel inferior contém um botão para ocultar todas as janelas e mostrar o desktop, e botões para janelas ativas.
  • A parte direita do painel inferior contém uma lixeira e quatro retângulos que permitem navegar entre os desktops virtuais. A maioria dos sistemas Linux estabelece diversos desktops distintos, de modo que o usuário possa, por exemplo, manter e-mail e navegação na Web em um desktop enquanto faz desenvolvimento de programas em outro e testes em um terceiro. Para alternar entre eles, o usuário clica no quadrado apropriado ou usa uma combinação de teclas. No GNOME, Ctrl-Alt-seta para a esquerda ou Ctrl-Alt-seta para a direita geralmente circula pelos desktops na mesma maneira que Alt-tab circula pelas janelas de aplicativos em um dado desktop. No OpenSUSE, ctrl-F1 a ctrl-F4 irá selecionar diretamente os desktops 1 a 4. Ao explorar, faça login como usuário não raiz para evitar acidentes; esses erros podem ser mais graves se você tiver autoridade ilimitada.

A Figura 9 mostra os painéis de nosso sistema Fedora. O item System no canto superior esquerdo está selecionado, pois usamos a imagem da Figura 6 para criar esta imagem. Observe que não temos acesso rápido à função de logout no canto superior direito, à função de ocultar todas as janelas no canto inferior esquerdo ou ao ícone de lixeira que vimos no canto inferior direito dos painéis do Ubuntu. Fora isso, o layout o painel é razoavelmente similar.

Figura 9. Recursos de painel do GNOME no Fedora
Recursos de painel do GNOME no Fedora

O sistema OpenSUSE possui um painel apenas na parte inferior, como mostra a Figura 10. O aceso a programas, a pastas e a funções do sistema tem início no grande botão na extremidade esquerda, que iremos chamar de botão Start. Também no lado direito há botões de acesso rápido para um navegador da Web e o navegador do desktop, seguidos de botões para cada um dos cinco desktops virtuais. Na extremidade direita do painel, há um relógio e vários botões de conveniência semelhantes àqueles no lado direito do painel superior do Ubuntu.

Figura 10. Recursos de painel do KDE 4 no OpenSUSE
Recursos de painel do KDE 4 no OpenSUSE

Navegando

O desktop GNOME 2.3x usa os menus em cascata que já se tornaram familiares. Figura 11 mostra como acessar as configurações de mouse no ícone System do Fedora. Distribuições diferentes podem organizar esses menus de outra forma. Por exemplo, as configurações de mouse do Ubuntu estão no mesmo lugar, mas as preferências de Desktop Effects, que estão em System->Preferences->Desktop Effects em nosso sistema Fedora, estão na guia Visual Effects em System->Preferences->Appearance. Explorar aplicativos gráficos é, com frequência, semelhante a virar diferentes pedras para ver o que há embaixo delas.

Figura 11. Acessando configurações de mouse no Fedora
Acessando configurações de mouse no Fedora

Por sua vez, o desktop KDE 4 usa uma metáfora diferente para o menu Start. Os painéis de menu se substituem e a navegação e feita clicando em itens no menu ou passando o mouse sobre os ícones na parte inferior do menu. Figura 12 mostra os menus Favorites e Aplicativos.

Figura 12. Passando o mouse por cima de ícones para alterar menus no KDE 4
Passando o mouse por cima de ícones para alterar menus no KDE 4

Quando submenus são selecionados, como Start->Applications->Utilities, um botão de retorno surge à esquerda do menu, para que o usuário possa retornar ao nível de menu anterior. Figura 12 mostra isso.

Figura 13. Botão de retorno de menu do KDE 4
Botão de retorno de menu do KDE 4

Alguns itens do menu Start no OpenSUSE abrem uma caixa de diálogo, que pode conter mais seleções. Um exemplo é o menu Start->Applications->Configure Desktop, que abre uma janela como a da Figura 14, na qual mostramos a ajuda instantânea para o item de menu de configuração Keyboard & Mouse.

Figura 14. Menu Configure Desktop do KDE 4
Menu Configure Desktop do KDE 4

Alternando para uso do mouse com a mão esquerda

Geralmente considera-se que o usuário seja destro, mas é possível alterar a configuração do mouse para uso com a mão esquerda, assim como várias outras configurações de desktop. Consulte a Figura 11 ou a Figura 14 para navegar para o diálogo de configurações do mouse.

Em um sistema Ubuntu, deve haver uma janela semelhante à da Figura 15 a qual seja possível alterar as configurações do mouse. Além de uso com a mão direita ou esquerda, há várias outras configurações que podem ser alteradas e uma guia de configurações de acessibilidade adicionais. As configurações têm efeito imediato, portanto, ao clicar na opção de uso com a mão esquerda, o mouse é configurado para uso com a mão esquerda e será preciso usar o botão direito do mouse como botão 1 para fechar o diálogo. O diálogo em um sistema Fedora é semelhante.

Figura 15. Diálogo do GNOME para alterar as configurações do mouse
Diálogo do GNOME para alterar as configurações do mouse

Em um sistema OpenSUSE com KDE, deve haver uma janela semelhante à da Figura 16 na qual seja possível alterar as configurações do mouse. Observe a imagem do mouse no diálogo. Se você alterar para uso com a mão esquerda, o botão direito na ilustração do mouse será realçado para indicar que esse é o botão de seleção primário. Alterne novamente para uso com a mão direita e o botão esquerdo será realçado. Assim como no diálogo do Ubuntu, há várias outras opções que podem ser configuradas. Ao contrário do diálogo do Ubuntu, as alterações apenas têm efeito quando o usuário clicar no botão Aplicar.

Figura 16. Diálogo do KDE para alterar as configurações do mouse
Diálogo do KDE para alterar as configurações do mouse

Acesso à linha de comando

Às vezes, em um sistema Linux, é preciso inserir comandos do Linux em vez de usar uma GUI. Uma janela de Terminal do Linux é semelhante a um prompt de comandos do DOS no Windows. Em nosso desktop KDE, é possível obter uma lista de programas de terminal disponíveis usando Start->Applications->System->Terminal como mostra a Figura 17.

Figura 17. Abrindo um terminal no OpenSUSE com KDE 4
Abrindo um terminal no OpenSUSE com KDE 4

No sistema Ubuntu, é possível encontrar uma janela de terminal em Applications->Accessories->Terminal como mostra a Figura 18 ou em Applications->System->Terminal. Em sistemas Fedora, procure em Applications->System Tools->Terminal.

Observação: Se você clicar com o botão direito (ou usar o botão apropriado, se tiver reconfigurado o mouse) na opção do menu do terminal, geralmente verá uma opção para incluir este ícone no painel ou desktop. Se você adicioná-lo ao painel, terá acesso rápido a um terminal sem precisar acessar os menus.

Figura 18. Ícone do shell do KDE
Ícone do shell do KDE

No sistema OpenSUSE, selecione a opção de Terminal (konsole) e será exibira uma janela de terminal semelhante à da Figura 19. Na Figura 19 e na Figura 20, incluímos alguns comandos e suas saídas, que discutiremos abaixo.

Figura 19. Ícone do shell do KDE
Ícone do shell do KDE

A janela de terminal do Ubuntu será semelhante à da Figura 20.

Figura 20. Ícone do shell do KDE
Ícone do shell do KDE

A aparência padrão da janela de shell depende da distribuição e do desktop escolhido. Para redimensioná-la, use o botão esquerdo do mouse para arrastar os cantos ou lados da janela. Para rolar pelo histórico mais recente, use a barra de rolagem. O prompt de comandos geralmente termina com um caractere $ para usuários que não são raiz. Normalmente o prompt de comandos termina com o caractere # para indicar que o usuário do shell é o usuário raiz ou tem autoridade de raiz. Use a seta para cima para recuperar comandos anteriores e modificá-los, se necessário. Geralmente há um menu Settings ou Terminal no qual é possível alterar coisas como a cor e fonte da janela.

Figura 19 e Figura 20 mostram alguns comandos e suas saídas:

whoami
Mostra quem está usando esta janela de terminal, ian neste caso.
pwd
Mostra o nome completo do diretório de trabalho atual, que é /home/ian neste caso. Observe que o til (~) antes de $ no prompt de comandos mostra que o usuário está atualmente em seu diretório inicial.
cd
Altera o diretório de trabalho atual. Nós demonstramos a alteração para o diretório / (ou raiz) e depois para o diretório /tmp, que geralmente é usado para armazenar arquivos temporários. Observe que / é a raiz de todo o sistema de arquivos, e /root é o diretório inicial do usuário raiz. O uso de cd sem qualquer diretório retorna o usuário ao diretório inicial, e o uso de cd  - retorna ao último diretório em que o usuário esteve anteriormente antes do atual. Usuários que não são raiz normalmente terão seu diretório inicial em /home. Por exemplo, /home/ian é meu diretório inicial em um sistema no qual meu ID seja ian. Lembre-se que o til (~) representa o diretório inicial do usuário atual. Inclua o nome de um usuário específico para indicar o diretório inicial desse usuário. Por exemplo, o diretório inicial do usuário ian também pode ser representado como ~ian.
uname
Sem parâmetros, mostra o nome do sistema operacional: Linux. Com o parâmetro -a, exibe informações adicionais sobre o sistema.
which
Varre os diretórios na variável de ambiente PATH e mostra o caminho completo de um programa executável que seria executado se o usuário digitasse o comando na linha de comando do shell. Neste caso, vemos que o programa xclock seria executado a partir de /usr/bin/xclock. Observação: este aplicativo nem sempre está instalado em uma instalação Linux padrão. É geralmente parte de um pacote com um nome como xorg-x11-apps, então talvez seja necessário localizar e instalar o pacote apropriado para usá-lo.
xclock
Inicia uma nova janela no desktop com um relógio. Observe o & ao final do comando, que indica que o processador de comando deve retornar o controle à janela de terminal em vez de esperar que o comando conclua. Observe também que esse é o primeiro processo criado nesta janela de terminal, e que seu ID do processo (PID) é 1774.
ps
Com a opção -T, exibe todos os processos iniciados por deste terminal. Em alguns sistemas, a exibição padrão do comando ps inclui o status do processo. Consulte as man pages para obter detalhes sobre todas as opções e colunas da saída possíveis. Se o status fosse exibido neste exemplo, você veria o programa de shell bash esperando entrada (status S de "sleeping", ou seja, em espera) assim como o processo xclock. O comando ps está executando e teria status R de "runnable", ou seja, executável.

A saída desses dois comandos é mostrada nas duas janelas de terminal acima. Um texto do sistema Ubuntu é mostrado na Lista 1.

Lista 1. Saída de alguns comandos básicos do Ubuntu
ian@pinguino:~$ whoami
ian
ian@pinguino:~$ pwd
/home/ian
ian@pinguino:~$ cd /
ian@pinguino:/$ cd /tmp
ian@pinguino:/tmp$ uname
Linux
ian@pinguino:/tmp$ uname -a
Linux pinguino 2.6.35-27-generic #48-Ubuntu SMP Tue Feb 22 20:25:29 UTC 2011 
i686 GNU/Linux
ian@pinguino:/tmp$ which xclock
/usr/bin/xclock
ian@pinguino:/tmp$ xclock&
[1] 2072
ian@pinguino:/tmp$ ps -T
  PID  SPID TTY          TIME CMD
 2049  2049 pts/1    00:00:00 bash
 2072  2072 pts/1    00:00:00 xclock
 2073  2073 pts/1    00:00:00 ps
ian@pinguino:/tmp$

Alguns outros comandos que podem ser úteis são:

infocmd_name
Exibe informações sobre o comando chamado cmd_name. Experimente o info info para descobrir mais sobre o sistema de documentação info.
mancmd_name
É uma interface para as páginas manuais (man) on-line sobre o comando chamado cmd_name. Algumas informações estão disponíveis no formato info, enquanto outras estão disponíveis apenas no formato man page. Experimente o man man para descobrir mais sobre páginas manuais.

Tornando-se super usuário (ou usuário raiz)

Para muitas tarefas no Linux, é necessária autoridade de usuário raiz ou super usuário. O usuário raiz, também chamado de super usuário, é o usuário que é normalmente usado para tarefas administrativas, como configurar o sistema ou instalar software. Use raiz apenas quando for necessário fazer tarefas administrativas; evite usar raiz para o trabalho normal. O usuário raiz pode fazer qualquer coisa, incluindo destruir acidentalmente o sistema, o que geralmente não é algo bom. Usuários normais possuem menos privilégios e o sistema é muito mais protegido contra danos acidentais causados por usuários normais.

A maioria dos aplicativos administrativos que possuem uma interface gráfica agora pede senha de usuário raiz antes de permitir que usuários não raiz acessem a função. Quando é preciso executar comandos em uma janela de terminal como usuário raiz, isso não ajuda nada.

Sua primeira ideia pode ser alternar para outro ID de usuário, fazendo logout do ID atual e fazendo login em um novo ID. Mas e se você precisar executar alguns rápidos comandos como outro usuário? O Linux tem uma solução para você: os comandos su (substitute user) e sudo permitem executar temporariamente um ou mais comandos como outro usuário. Isso é geralmente usado para tarefas que exigem acesso do root. De fato, se o usuário conectar remotamente a um sistema usando um programa de terminal como ssh (ou o muito inseguro telnet), muitas distribuições do Linux impedirão que esse usuário conecte-se como raiz. Essa é uma boa prática de segurança, e nós incentivamos os usuários a não tentar ignorá-la. Em vez disso, deve-se conectar como usuário não privilegiado e em seguida usar o comando su ou sudo para fazer o trabalho necessário com a autoridade de usuário raiz.

Para resumir, há duas maneiras principais de executar um comando arbitrário com autoridade de usuário raiz.

  1. Use o comando su, geralmente com a opção - para se tornar usuário raiz.
  2. Use o comando sudo para executar um único comando com autoridade de usuário raiz.

Em sistemas como Fedora ou OpenSUSE, ambos os métodos estão disponíveis, mas usar su talvez seja mais comum. Em sistemas baseados em Debian, como Ubuntu, o modelo de segurança não permite login do usuário raiz, portanto não é possível fazer login como raiz ou usar su para se tornar usuário raiz, por isso é preciso usar sudo.

Usando su

Imagine que você esteja conectado e olhando para uma janela de terminal e que você não é o usuário raiz, mas precisa executar um comando, como fdisk, que exige autoridade de usuário raiz. Você alterna para raiz usando o comando su sozinho, ou, o que é mais comum, inclui a opção -.

O comando su sem a opção - apenas faz com que o usuário se torne raiz, mas não altera as variáveis de ambiente, incluindo o caminho. A opção -, que pode também ser digitada como -l ou -login se você gostar de digitar letras extras, permite que os arquivos de inicialização de login do usuário substituto sejam lidos, assim definindo coisas como o caminho, ambiente e prompt para aqueles do usuário de destino. Lista 2 mostra exemplos dessas duas formas em nosso sistema Fedora. Usamos o comando pwd (print working directory) para mostrar o diretório de trabalho atual em cada caso. Observe como o prompt muda. Se você quiser entender melhor como customizar seus prompts ou por que os prompts aparecem dessa forma, confira a dica "Mágica do Prompt" no developerWorks.

Lista 2. Alternando para o usuário raiz
[ian@echidna ~]$ su
Password:
[root@echidna ian]# pwd
/home/ian
[root@echidna ian]# su -
[root@echidna ~]# pwd
/root

Você perceberá, sem surpresa, que foi preciso fornecer uma senha para alternar para o usuário raiz. Quando tiver autoridade de raiz, é possível usar su ou su - para alternar para outro usuário ou para alternar para raiz com a opção de login. Para alternar para um usuário não raiz, basta incluir o ID. Como antes, a opção - pode ser usada ou não, de acordo com as necessidades. Por exemplo:

su - db2inst1

Para retornar ao ID anterior, pressione Ctrl-d ou digite exit e pressione Enter se estiver usando a bash shell, que é o padrão na maioria dos sistemas Linux.

Agora que aprendemos a usar suvamos colocá-lo em prática com o comando fdisk.

Lista 3. Executando o comando fdisk com su
[ian@echidna ~]$ fdisk /dev/sda

Unable to open /dev/sda
[ian@echidna ~]$ su -
Password: 
[root@echidna ~]# fdisk /dev/sda

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): q

[root@echidna ~]# exit
logout
[ian@echidna ~]$

Usando sudo

Como o comando su, o comando sudo permite executar comandos com a autoridade de outro usuário. Os comandos que um usuário ou classe de usuário específicos podem executar são listados no arquivo /etc/sudoers. Ao contrário do comando su, não é preciso saber a senha do raiz, ou de outro usuário, embora seja preciso fornecer a senha do usuário que está executando o comando. O arquivo /etc/sudoers é mantido pelo usuário raiz e pode ser editado com o comando visudo.

Geralmente, para executar vários comandos sudo em sucessão rápida, não é preciso inserir novamente a senha para cada um. Uma alternativa é executar sudo com a opção -s, que executa um shell para o usuário a partir a qual é possível executar vários comandos como o usuário de destino antes de fechar o shell. Lista 4 demonstra ambos os métodos.

Lista 4. Usando o comando sudo no Ubuntu
ian@pinguino:~$ fdisk /dev/sda

Unable to open /dev/sda
ian@pinguino:~$ sudo fdisk /dev/sda
[sudo] password for ian:

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x54085408

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2611    20972826    7  HPFS/NTFS
/dev/sda2            2612        2624      104422+  83  Linux
/dev/sda3            2625       14593    96140962    5  Extended
/dev/sda5            2625        2689      522081   82  Linux swap / Solaris
/dev/sda6            2690        5180    20008926   83  Linux
/dev/sda7            5181        9341    33423201   83  Linux
/dev/sda8            9342       14593    42186658+  83  Linux

Command (m for help): q

ian@pinguino:~$ sudo -s
root@pinguino:~# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): q

root@pinguino:~# exit
ian@pinguino:~$

Se o usuário não estiver autorizado no arquivo sudoers, ele receberá uma mensagem de erro semelhante à da Lista 5.

Lista 5. Tentando usar sudo sem autoridade
[ian@echidna ~]$ sudo fdisk /dev/sda
[sudo] password for ian:
ian is not in the sudoers file.  This incident will be reported.

Usando um aplicativo GUI como outro usuário

Você pode ter notado, na discussão sobre o comando su na seção anterior, que excutamos apenas comandos que mostravam saída na janela de terminal. Geralmente é possível também executar comandos GUI. Por exemplo, alguns programas de instalação exigem autoridade de raiz para instalar um programa e ter um instalador GUI. Se você não conseguir iniciar aplicativos GUI como outro usuário, continue lendo, pois mais etapas podem ser necessárias em algumas distribuições para executar aplicativos GUI como outro usuário.

Observação: Distribuições recentes geralmente permitem vários desktops abertos ao mesmo tempo, usando sequências de teclas como Ctrl-Alt-F7 ou Ctrl-Alt-F8 para alternar entre eles. Dependendo do que seja preciso fazer, essa pode ser outra alternativa. Consulte a seção sobre Logout para detalhes dessa opção de menu.

Aplicativos GUI no Linux usam o X Window System, um sistema cliente/servidor criado para permitir que diversos usuários acessem um computador em rede usando aplicativos com janela. Um monitor X é conhecido por um nome na forma hostname:displaynumber.screennumber. Para Linux em execução em uma estação de trabalho, como um PC, geralmente só há um monitor com uma única tela. Nesse caso, o displayname pode ser, e geralmente é, omitido, de modo que o monitor é chamado de :0.0, ou às vezes apenas :0.

O servidor X Window System precisa saber qual monitor usar e também se o usuário está autorizado a conectar ao servidor. A autorização é geralmente feita com MIT-MAGIC-COOKIE-1, uma longa cadeia de caracteres aleatória que é gerada sempre que o servidor é reiniciado. Para que os aplicativos possam passar essas informações para o servidor X, haverá variáveis DISPLAY e XAUTHORITY no ambiente do usuário. A variável XAUTHORITY aponta para um arquivo que só pode ser lido ou gravado pelo usuário proprietário, como medida de segurança. Consideramos que você está usando um login gráfico se esta lendo este artigo, portanto sua inicialização já deve ter configurado isso para você. O exemplo na Lista 6 é de nosso sistema Ubuntu e mostra os valores das variáveis DISPLAY e XAUTHORITY e a propriedade do arquivo para o qual a variável XAUTHORITY aponta.

Lista 6. DISPLAY e XAUTHORITY
ian@pinguino:~$ echo $DISPLAY
:0.0
ian@pinguino:~$ echo $XAUTHORITY
/var/run/gdm/auth-for-ian-WoeKHn/database
ian@pinguino:~$ ls -l $XAUTHORITY
-rw------- 1 ian ian 53 2011-04-01 16:24 /var/run/gdm/auth-for-ian-WoeKHn/database

Agora tentamos usar sudo para executar o comando xclock como o usuário editor, novamente em nosso sistema Ubuntu. Como a Lista 7 mostra, os valores das variáveis DISPLAY e XAUTHORITY são os mesmos para o usuário ian, mas o comando xclock resulta em falha.

Lista 7. DISPLAY e XAUTHORITY com sudo
ian@pinguino:~$ sudo -u editor echo $DISPLAY
[sudo] password for ian:
:0.0
ian@pinguino:~$ sudo -u editor echo $XAUTHORITY
/var/run/gdm/auth-for-ian-WoeKHn/database
ian@pinguino:~$ sudo -u editor xclock
No protocol specified
Error: Can't open display: :0.0

Neste caso, a variável XAUTHORITY do usuário editor está definida para /var/run/gdm/auth-for-ian-WoeKHn/database, mas nós já vimos que as permissões desse arquivo permitem apenas ao usuário ian ler ou gravá-lo. Não faz diferença se a variável está definida, já que o usuário editor não pode ler o arquivo para o qual ela aponta. Antes de vermos como resolver esse problema, vamos ver o que acontece se retirarmos a definição das variáveis DISPLAY ou XAUTHORITY para o usuário ian.. Para isso, iremos executar o comando xclock com uma variável de ambiente modificada usando a opção -u do comando env para retirar a definição de uma variável de ambiente antes de executar xclock. Nossos resultados estão na Lista 8.

Lista 8. Removendo a definição de DISPLAY e XAUTHORITY
ian@pinguino:~$ env -u DISPLAY xclock
Error: Can't open display:
ian@pinguino:~$ env -u XAUTHORITY xclock

Você talvez fique surpreso em ver que o comando xclock executa, embora tenhamos removido a definição da variável de ambiente XAUTHORITY.

Até agora, falamos do método de segurança MIT-MAGIC-COOKIE-1. Se o token não for fornecido, o servidor X também verifica uma lista de hosts autorizados. Use o comando xhost para exibir ou atualizar a lista. Use a opção + para incluir entradas e a opção - para remover entradas. Use a entrada especial de famílialocal: (observe o ":") para permitir que o monitor seja acessado por qualquer usuário local no sistema. Como se trata de um sistema com um único usuário, é possível usar su para alternar para um usuário não raiz qualquer e iniciar xclock ou outros aplicativos X. Demonstramos o uso do comando xhost na Lista 9.

Lista 9. Usando xhost
ian@pinguino:~$ xhost
access control enabled, only authorized clients can connect
SI:localuser:ian
ian@pinguino:~$ xhost +local:
non-network local connections being added to access control list
ian@pinguino:~$ xhost
access control enabled, only authorized clients can connect
LOCAL:
SI:localuser:ian
ian@pinguino:~$ sudo -u editor xclock
ian@pinguino:~$ # Close the xclock window to return here
ian@pinguino:~$ xhost -local:
non-network local connections being removed from access control list
ian@pinguino:~$ xhost
access control enabled, only authorized clients can connect
SI:localuser:ian

Em um sistema com um único usuário, ativar o uso do monitor para todos os usuários locais é geralmente uma solução razoável e simples. Se for preciso restringir mais, use xauth para extrair o cookie do arquivo XAUTHORITY e dá-lo ao usuário que precisa de acesso ao monitor. Na Lista 10 realizamos as seguintes tarefas:

  1. Usar xauth como o usuário ian para exibir o cookie em um formato que possa ser enviado por e-mail ou de outra forma para o usuário.
  2. Usar sudo -s e alternar para o usuário editor para executar diversos comandos.
  3. Usar xauth para criar um novo arquivo de autorização. Observe que usamos echo para canalizar os dados para stdin, e usamos uma barra invertida (\) ao final para dividir o comando em várias linhas de código.
  4. Exportamos um novo valor para a variável XAUTHORITY de modo que ela agora aponte para nosso arquivo de autorização recém-criado.
  5. Por fim, executamos o comando xclock usando o símbolo & ao final para executá-lo em segundo plano e manter o controle de nossa janela de terminal.
Lista 10. Usando xauth
ian@pinguino:~$ xauth -f $XAUTHORITY nextract - :0
0100 0008 70696e6775696e6f 0001 30 0012 4d49542d4d414749432d434f4f4b49452d31 0010 3c4bc87
c2ce4ce5e97f8199c213b4ec9
ian@pinguino:~$ sudo -s -u editor
editor@pinguino:~$ echo "0100 0008 70696e6775696e6f 0001 30 0012"\
> " 4d49542d4d414749432d434f4f4b49452d31"\
> " 0010 3c4bc87c2ce4ce5e97f8199c213b4ec9" |
> xauth -f ~editor/temp-xauth nmerge -
xauth:  creating new authority file /home/editor/temp-xauth
editor@pinguino:~$ export XAUTHORITY=~editor/temp-xauth
editor@pinguino:~$ xclock&
[1] 4827

Essa breve introdução provavelmente ajudará você a começar a executar aplicativos X como outro usuário. Embora tenhamos usado o Ubuntu como exemplo, os princípios básicos demonstrados aqui são válidos para todas as distribuições. Para mais detalhes sobre os comandos xauth e xhost, use qualquer um destes comandos, conforme apropriado, para visualizar as páginas manuais on-line:

  • info xauth
  • man xauth
  • info xhost
  • man xhost

Dispositivos removíveis

Em sistemas Linux e UNIX®, todos os arquivos são acessados como parte de uma única grande árvore cuja raiz é /. Para acessar os arquivos em um CD-ROM, é preciso montar o dispositivo de CD-ROM em algum ponto de montagem na árvore de arquivos. Em distribuições atuais, isso é geralmente automatizado; basta inserir o disco e ele será reconhecido e montado. Depois de montado, é importante desmontar o dispositivo corretamente para evitar perda de dados.

Montando dispositivos removíveis

Ao inserir um CD ou DVD em um sistema SUSE 11.3 ou acoplar uma unidade USB, é exibida uma janela pop-up semelhante à da Figura 21. Se você perder o pop-up antes e ele fechar, você pode usar o ícone de painel que mostramos no canto superior esquerdo da figura para abrir novamente. Ao passar o mouse por cima do ícone, uma dica de ferramenta é exibida indicando que o dispositivo ainda não está montado.

Figura 21. Pop-up de CD ou DVD carregado em sistema SUSE
Pop-up de CD ou DVD carregado em sistema SUSE

Ao passar o mouse por cima do ícone de plugue no lado direito da imagem, uma dica de ferramenta aparece dizendo "Click to access this device from other applications". Clique no texto "4 actions for this device" e a imagem será expandida, semelhante à da Figura 22. As ações disponíveis podem ser diferentes em outros sistemas, dependendo dos pacotes de software instalados.

Figura 22. Ações disponíveis para CD ou DVD
Ações disponíveis para CD ou DVD

Ao clicar na opção "Open with File Manager", você verá uma janela como a da Figura 23. Nessa janela é possível navegar pelo DVD, abrir arquivos ou executar aplicativos. Passe o mouse por cima de um item para ver uma descrição na parte direita da janela.

Figura 23. Gerenciador de Arquivos do SUSE
Gerenciador de Arquivos do SUSE

Em sistemas Ubuntu e Fedora, a ação padrão ao inserir um disco é um pouco diferente. Geralmente, um ícone semelhante ao exibido na Figura 24 aparece no desktop. O gerenciador de arquivos (Nautilus) pode também abrir automaticamente. Caso contrário, clique duas vezes no ícone para abrir o gerenciador de arquivos. Dependendo do sistema, talvez você seja questionado se o arquivo de execução automática na raiz do disco deve ou não ser executado.

Figura 24. CD inserido no Ubuntu
CD inserido no Ubuntu

Se você clicou para acessar o dispositivo em outros aplicativos (OpenSUSE), ou abriu com o Gerenciador de Arquivos ou outro aplicativo em qualquer distribuição, o dispositivo foi montado. Ele geralmente é montado no diretório /media e provavelmente usa o rótulo disc como ponto de montagem. Para verificar, abra uma janela de terminal e execute o comando mount, como mostra, para o sistema OpenSUSE, a Lista 11. Outros sistemas são muito semelhantes, embora as opções de montagem possam ser um pouco diferentes.

Lista 11. Usando o comando mount
ian@lyrebird:~> mount
/dev/sdb12 on / type ext4 (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
...
/dev/sr0 on /media/openSUSE-DVD-x86_64.0702..001 type iso9660 (ro,nosuid,nodev,uid=1000,
utf8)

Neste caso, nosso disco foi montado em /media/openSUSE-DVD-x86_64.0702..001, e é possível explorá-lo ou alternar para um diretório no disco na janela do terminal. Observe que o dispositivo de CD/DVD é /dev/sr0. Dispositivos em um sistema Linux também aparecem em uma árvore do sistema de arquivos. Para colocar de outra forma, o sistema de arquivos que está na mídia no dispositivo /dev/sr0 pode ser acessado por aplicativos no ponto de montagem /media/openSUSE-DVD-x86_64.0702..001. Se quiser saber mais sobre como os dispositivos são montados, veja nosso artigo Aprenda Linux, 101: Controle de montagem e desmontagem de sistemas de arquivos.

Removendo dispositivos com segurança

Após um DVD ou CD ser montado, é possível usar os arquivos no disco, pois agora eles são parte do sistema de arquivos. Enquanto um CD-ROM estiver montado, o Linux bloqueia o CD de modo que ele não possa ser retirado com o botão Eject. Obviamente, isso não impede o usuário de desconectar uma unidade externa de CD ou USB, puxar um stick USB do soquete ou retirar um disquete. Para evitar perda de dados, é preciso sempre desmontar o dispositivo para removê-lo com segurança.

É possível desmontar dispositivos no desktop gráfico ou na linha de comando. O comando umount (observe que é umount sem um "n") desmonta um dispositivo, e o comando eject primeiro desmonta um dispositivo e depois tenta ejetá-lo, por exemplo, abrindo a bandeja de CD. Antigamente, montar e desmontar dispositivos exigia autoridade de usuário raiz. Hoje em dia, é comum permitir montagem pelo usuário, de modo que um usuário não raiz possa montar e desmontar dispositivos. Você talvez tenha notado na Lista 11 a opção uid=1000. O uid 1000 corresponde ao usuário ian neste sistema, como mostra a Lista 12.

Lista 12. Usando o comando id para o usuário atual
iian@lyrebird:~> id
uid=1000(ian) gid=100(users) groups=33(video),100(users)

Ao usar as ferramentas do desktop gráfico para desmontar um dispositivo, é preciso se preocupar com IDs apenas ao fazer logout e depois login como outro usuário. Vamos examinar primeiro as ferramentas gráficas e depois as da linha de comando.

Em Ubuntu ou Fedora, ao clicar com o botão direito no ícone de mídia removível, você verá um menu de contexto semelhante ao da Figura 25. Haverá a opção de desmontar ou ejetar o dispositivo. Selecione a opção ejetar para um CD ou DVD e o dispositivo será desmontado, o ícone desaparecerá do desktop e a bandeja será aberta. Para uma unidade USB, a opção pode ser para desmontar em vez de ejetar, e nesse caso é possível desconectar o dispositivo com segurança após ele ser desmontado. Caso você use uma unidade de disco rígido externa com diversas partições, é preciso desmontar todas as partições antes de remover ou desligar a unidade.

Figura 25. Gerenciador de Arquivos do SUSE
Gerenciador de Arquivos do SUSE

Na Figura 26 mostramos nosso sistema OpenSUSE com uma unidade USB conectada e o DVD que usamos anteriormente. O DVD e uma única partição da unidade de disco rígido estão montados. Para diferenciar entre montados e desmontados, o OpenSUSE altera o ícone de plugue (quando um dispositivo está montado) para um ícone de botão de ejetar (quando está montado). Também se pode notar que o pequeno quadrado no canto inferior esquerdo do ícone de dispositivo também muda, de uma linha diagonal para um asterisco. Observe que, para mídia gravável, como nossa unidade de disco rígido, o espaço disponível também é exibido.

Figura 26. Gerenciador de Arquivos do OpenSUSE
Gerenciador de Arquivos do OpenSUSE

Para desmontar ou ejetar uma unidade montada, basta clicar no botão ejetar (mostrado cima para a partição 2006R1). Ao ejetar um dispositivo como um CD ou DVD, nos quais a bandeja é aberta, ou qualquer outra forma de desconexão física acontece, o dispositivo será removido da lista de dispositivos conectados.

Remoção com segurança pela linha de comando

Mencionamos anteriormente os comandos umount e eject. Agora vamos ver como usar ambos e lsof, sobre o qual também é interessante saber. Você verá algumas diferenças entre os sistemas nesta área, portanto fique preparado caso as coisas não sejam exatamente como mostramos aqui.

Para começar, veremos como usar o comando unmount para desmontar o CD em nosso sistema Ubuntu, como mostra a Lista 13. Primeiro usamos grep para filtrar as entradas da saída de mount para mostrar apenas as que contêm "media", o ponto de montagem comum para mídia removível. Em seguida, usamos umount para desmontar o dispositivo usando seu ponto de montagem (/media/Ubuntu 10.10 i386). Por fim, repetimos mount + filtro grep para confirmar que o dispositivo não está mais montado. Observe que é possível usar o ponto de montagem ou o nome do dispositivo (neste caso, /dev/sr0) como argumento para umount.

Lista 13. Desmontando um CD no Ubuntu pela linha de comando
ian@pinguino:~$ mount | grep media
/dev/sr0 on /media/Ubuntu 10.10 i386 type iso9660 (ro,nosuid,nodev,uhelper=udisks,
uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500)
ian@pinguino:~$ umount /media/Ubuntu\ 10.10\ i386
ian@pinguino:~$ mount | grep media

Como se pode ver, Ubuntu permite usar a linha de comando para desmontar uma unidade que foi montada automaticamente. Se o cenário acima fosse repetido no OpenSUSE 11.3, o resultado seria provavelmente algo como a Lista 14.

Lista 14. Desmontando um CD no OpenSUSE pela linha de comando (1)
ian@lyrebird:~> mount | grep media
/dev/sr0 on /media/openSUSE-DVD-x86_64.0702..001 type iso9660 (ro,nosuid,nodev,uid=1000,
utf8)
/dev/sdc6 on /media/2006R1 type ext3 (rw,nosuid,nodev)
ian@lyrebird:~> umount /media/openSUSE-DVD-x86_64.0702..001/
umount: /media/openSUSE-DVD-x86_64.0702..001 is not in the fstab (and you are not root)
ian@lyrebird:~> umount /dev/sr0
umount: /dev/sr0 is not in the fstab (and you are not root)

Às vezes há diferenças entre o que se pode fazer em modo gráfico e o que se esperaria ver em uma linha de comando. À medida que o Linux amadurece, essas diferenças se tornam menos frequente, mas você irá encontrá-las algumas vezes, como vimos aqui. A solução óbvia, diante do que já vimos neste tutorial, é usar su ou sudo para executar o comando exibido com privilégios de usuário raiz. Então vamos tentar usar su como mostra a Lista 15.

Lista 15. Desmontando um CD no OpenSUSE pela linha de comando (2)
ian@lyrebird:~> su -
Password:
lyrebird:~ # mount | grep media
/dev/sr0 on /media/openSUSE-DVD-x86_64.0702..001 type iso9660 (ro,nosuid,nodev,uid=1000,
utf8)
/dev/sdc6 on /media/2006R1 type ext3 (rw,nosuid,nodev)
lyrebird:~ # umount /dev/sdc6
lyrebird:~ # umount /media/openSUSE-DVD-x86_64.0702..001/
umount: /media/openSUSE-DVD-x86_64.0702..001: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

Conseguimos desmontar /dev/sdc6, mas não conseguimos desmontar /media/openSUSE-DVD-x86_64.0702..001 porque o Linux disse que o dispositivo estava ocupado. Receberíamos um erro similar se tentássemos usar o comando eject. Lembre-se que dissemos que o Linux bloqueia um CD ou DVD enquanto estiver em uso. De forma mais geral, não é possível desmontar um sistema de arquivos se ele estiver sendo usado por outro usuário. Como sugere a mensagem de erro acima, os comandos lsof ou fuser podem ser usados para descobrir qual usuário está causando o problema de desmontagem. O uso típico é mostrado na Lista 16.

Lista 16. Usando lsof e fuser (como usuário raiz)
lyrebird:~ # lsof /media/openSUSE-DVD-x86_64.0702..001/
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    3824  ian  cwd    DIR   11,0     2048 2048 /media/openSUSE-DVD-x86_64.0702..001/
boot
lyrebird:~ # fuser -um /media/openSUSE-DVD-x86_64.0702..001/
/media/openSUSE-DVD-x86_64.0702..001:  3824c(ian)

O comando lsof mostra o arquivo ou diretório real (/media/openSUSE-DVD-x86_64.0702..001/boot neste caso) que está aberto, bem como o ID de processo (3824) e o ID do usuário (ian) que está usando o arquivo ou diretório. O comando fuser mostra o usuário e ID de processo que está usando o sistema de arquivos /media/openSUSE-DVD-x86_64.0702..001, mas não o arquivo ou diretório aberto.

Normalmente essas informações podem ser usadas para fechar ou o processo ou janela abertos que estão usando o sistema de arquivos. Em alguns sistemas Linux, há também uma opção -L para umount que permite uma desmontagem preguiçosa, na qual o sistema de arquivo é desconectado da hierarquia do sistema de arquivos imediatamente, e todas as referências ao sistema são limpas quando ele não estiver mais em uso. No OpenSUSE 11.3 essa opção não está disponível, portanto é preciso, antes de desmontar, limpar as referências ao sistema de arquivos, seja encerrando os processos que estão causando o problema ou assegurando que eles não estejam mais usando os recursos afetados.

Dissemos na Lista 14 que o sistema OpenSUSE não suporta uso de umount na linha de comando para um dispositivo que foi montado pelo desktop, por isso resolvemos o problema usando autoridade de usuário raiz. Há outra abordagem, usando o comando halmount para desmontar o dispositivo. HAL é uma Hardware Abstraction Layer, que oferece aos aplicativos uma interface consistente para os vários dispositivos de hardware. Se usarmos halmount, ainda será possível desmontar um dispositivo ocupado. Lista 17 mostra como usar halmount e alternar para raiz para forçar o encerramento do processo que está mantendo o disco ocupado. Observe que o encerramento do processo dessa forma pode resultar em perda de dados, portanto não recomendamos isso a menos que você tenha certeza de que não perderá dados. Em seguida, alternamos de volta para o modo de usuário normal e usamos halmount para desmontar o sistema de arquivos que não está mais ocupado. Por fim, usamos eject para abrir a bandeja e ejetar o DVD.

Lista 17. Usando halmount, kill e eject
ian@lyrebird:~> halmount -u /dev/sr0
/dev/sr0: org.freedesktop.Hal.Device.Volume.Busy: umount: /media/openSUSE-DVD-x86_64.0702
..001: device is busy.
ian@lyrebird:~> lsof /dev/sr0
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    3824  ian  cwd    DIR   11,0     2048 2048 /media/openSUSE-DVD-x86_64.0702..001/
boot
ian@lyrebird:~> su -
Password:
lyrebird:~ # kill -9 3824
lyrebird:~ # ps -ef | grep 3824
root      5542  5507  0 22:47 pts/2    00:00:00 grep 3824
lyrebird:~ # logout
ian@lyrebird:~> halmount -u /dev/sr0
ian@lyrebird:~> eject /dev/sr0

Esperamos que esta breve introdução a mídias removíveis no Linux ajude você a usar seus arquivos de mídia removível e evitar perda de dados.


Logout

As tarefas de fazer logout, bloquear a tela, encerrar e reiniciar o sistema são geralmente relacionadas, no sentido de que são acessadas no mesmo menu ou em menus similares. Com frequência, distribuições incluem um botão de início rápido para acessar essas tarefas. Caso contrário, você pode adicionar um você mesmo.

Logout do OpenSUSE

Para fazer logout, clique em Start e em Leave. Você verá um menu como o da Figura 27 com opções para fazer logout, bloquear a tela e encerrar ou reiniciar o sistema. Clique na opção apropriada.

Figura 27. Incluindo um botão de logout com Red Hat enterprise Linux 3
Incluindo um botão de logout com Red Hat enterprise Linux 3

Também há ícones para sair e bloquear no canto inferior direito do painel do OpenSUSE. Clique no ícone Leave à direita e você verá uma caixa de diálogo como a da Figura 28. Novamente, faça a seleção.

Figura 28. Usando o ícone de logout do painel do OpenSUSE
Usando o ícone de logout do painel do OpenSUSE

Ubuntu

As funções de logout e reinício do Ubuntu são acessadas em um ícone de painel na parte direita do painel do Ubuntu. Esse ícone é semelhante ao Leave do OpenSUSE. Clique nele para exibir um diálogo semelhante ao da Figura 29 no qual você pode fazer a escolha.

Figura 29. Usando o ícone de logout do painel do Ubuntu
Usando o ícone de logout do painel do Ubuntu

Logout do Fedora

As funções de logout e reinício do Fedora são acessadas no menu System no painel superior, como mostra aFigura 30. As escolhas são semelhantes às do OpenSUSE e Ubuntu que vimos acima.

Figura 30. Fazendo logout do desktop GNOME do Fedore
Fazendo logout do desktop GNOME do Fedore

Incluindo um botão de logout no painel

Fedora não instala um ícone de painel para logout ou bloqueio da tela, como os do OpenSUSE e Ubuntu. No entanto, é possível incluir seu próprio facilmente.

Comece clicando com o botão direito em uma parte vazia do painel. No menu de contexto, selecione Add  to  Panel..., e será exibida uma lista de itens que podem ser incluídos. Role para baixo até a opção Log Out e clique nela para adicioná-la ao painel. O ícone Lock Screen pode ser incluído na mesma maneira.

Figura 31. Incluindo um botão de logout ao desktop GNOME do Fedora
Incluindo um botão de logout ao desktop GNOME do Fedora

Um ícone de logout será incluído no painel.

Se um aplicativo não estiver na lista, ele pode ser iniciado no menu Applications, ou também é possível abrir o menu até o ponto no qual deseja iniciar o aplicativo e clicar com o botão direito para abrir um menu de contexto que inclui escolhas para incluir uma barra de ativação ao painel ou ao desktop.


Incluindo usuários e grupos

Às vezes é preciso definir novos usuários para o sistema e novos grupos para esses usuários. Por exemplo, pode ser necessário definir um usuário chamado mqm e um grupo também chamado mqm (bem como outro grupo chamado mqbrkrs ao instalar o componente integrado de sistema de mensagens do WebSphere Application Server), ou pode ser preciso criar usuário para administrar bancos de dados.

Se um número de usuário não for especificado, ferramentas gráficas geralmente atribuem o próximo número disponível. Em sistemas Fedora e Red Hat, os números de usuário começam em 500, então o usuário criado durante a instalação do sistema é provavelmente o usuário 500. No OpenSUSE e Ubuntu, os números começam em 1000. Usuários que usam o mesmo ID em vários sistemas, como eu, provavelmente acharão conveniente usar os mesmos números de ID ou de grupo em cada sistema também.

Para os objetivos desta seção, incluiremos um usuário chamado testuser com ID 2000 e grupo 2000. Geralmente define-se o grupo primeiro e depois se definem os usuários que usarão o grupo, e isso é o que faremos aqui. É possível usar as ferramentas gráficas para administração de usuário, ou inserir comandos em uma janela de terminal. Daremos uma visão geral do processo gráfico aqui usando as ferramentas de administração do sistema do OpenSUSE. E diremos como encontrar as ferramentas correspondentes em um sistema Fedora ou Ubuntu. Por fim, daremos os comandos para caso você queira mesmo fazer pela linha de comando.

Incluindo usuários e grupos em um sistema OpenSUSE

Em um sistema OpenSUSE com KDE, para acessar o centro de controle YaST (Yet Another System Tool), use Start->Applications e selecione System e role para baixo até Administrator Settings como mostra a Figura 32.

Figura 32. Centro de Controle YaST2
Centro de Controle YaST2

Abra esse aplicativo e clique em Security and users no painel à esquerda para visualizar as tarefas mostradas no painel principal da Figura 33.

Figura 33. Centro de Controle YaST2
Centro de Controle YaST2

Selecione User and Group Management. Se você não recebeu autoridade de usuário raiz recentemente, o sistema pedirá a senha de raiz. Na próxima tela, você verá os usuários existentes. Selecione a guia Groups e você verá algo como a Figura 34.

Figura 34. Lista de grupos no Centro de Controle YaST2
Lista de grupos no Centro de Controle YaST2

Clique no botão Add para incluir um novo grupo. Você verá algo como a Figura 35. Observe que há alguns grupos que foram criados quando o sistema foi instalado. Insira "testuser" em Group Name e "2000" em Group ID. Clique em OK para retornar à exibição da lista de grupos e ver o novo grupo listado. Nesse momento o grupo ainda não foi salvo no sistema, por isso ele será perdido se você cancelar.

Figura 35. Incluindo um grupo no Centro de Controle do YaST2
Incluindo um grupo no Centro de Controle do YaST2

Clique na guia Users para retornar à exibição de usuário e clique em Add para incluir um novo usuário. Insira "Test User" em User's Full Name, "testuser" no User Name e digite e digite novamente a senha inicial do usuário. Consulte a Figura 36.

Figura 36. Incluindo um usuário no Centro de Controle do YaST2
Incluindo um usuário no Centro de Controle do YaST2

Clique na guia Details e insira "2000" em User ID (uid), e selecione "testuser" no menu suspenso Padrão Group. Nesse painel é possível alterar o diretório inicial padrão e a shell de login padrão, entre outras coisas. Também é possível selecionar grupos adicionais para esse usuário. Ao concluir, clique em OK para retornar à lista de usuários, na qual você verá o novo usuário. Clique em OK e o YaST irá processar todas as mudanças e salvá-las no sistema.

Figura 37. Detalhes de usuário no Centro de Controle do YaST2
Detalhes de usuário no Centro de Controle do YaST2

Incluindo usuários e grupos no sistema Fedora ou Ubuntu

Em sistemas GNOME, como nossos sistemas Fedora e Ubuntu, o gerenciamento de usuários começa no menu System->Administration->Users and Groups, como mostra a Figura 38.

Figura 38. Iniciando gerenciamento de usuários e grupos no GNOME
Iniciando gerenciamento de usuários e grupos no GNOME

No entanto, Fedora e Ubuntu apresentam diálogos diferentes após o usuário abrir o gerenciamento de usuários e grupos. O Fedora inicia o aplicativo system-config-users, e o Ubuntu inicia o aplicativo users-admin. Iremos demonstrar o uso do Fedora aqui, e em seguira resumiremos as diferenças do Ubuntu.

Você não estiver conectado como usuário raiz, nem foi autenticado como raiz recentemente, será preciso fornecer a senha quando solicitado. Você não verá a tela User Manager, aberta na guia Users como na Figura 39. Por padrão, apenas usuários e grupos normais são mostrados. Para visualizar usuários e grupos de sistema, desmarque a caixa de seleção Hide system users and groups em Edit->Preferences.

Figura 39. Gerenciamento de Usuário do Fedora
Gerenciamento de Usuário do Fedora

Poderíamos fazer como fizemos acima para o OpenSUSE e definir nossos grupos primeiro. No entanto, o Gerenciador de Usuário do Red Hat tem um recurso conveniente que permite criar um grupo privado para um usuário, com o nome do grupo sendo igual ao nome de usuário. Então clique no botão Add User e preencha os detalhes do usuário testuser como foi feito para OpenSUSE acima. No entanto, dessa vez marque as caixas de seleção Specify user ID manually e Specify group ID manually e coloque 2000 em cada um desses valores. Nossa tela agora está como a da Figura 40.

Figura 40. Incluindo um usuário no Fedora
Incluindo um usuário no Fedora

Após clicar em OK, você retornará ao User Manager. O novo usuário já está incluído no sistema, ao contrário do OpenSUSE. CLique em Add Group para incluir grupos adicionais se necessário. Para tornar os usuários membros de grupos adicionais, selecione um grupo e use suas propriedades para incluir os usuários, ou selecione um usuário e use as propriedades para incluir grupos. Ao concluir com as propriedades, clique em OK para retornar ao User Manager e em File->Quit para fechar o User Manager.

Gerenciador de usuários do Ubuntu

Agora que você está familiarizado com a adição de usuários no OpenSUSE e no Fedora, poderá gerenciar o processo do Ubuntu. No geral, o Ubuntu irá guiar o usuário pelo processo de incluir um usuário e configurá-lo com ID e grupo padrão. Após incluir testuser dessa forma, você deve ver uma tela como a da Figura 41.

Figura 41. Gerenciamento de usuários no Ubuntu
Gerenciamento de usuários no Ubuntu

Nesse momento, é preciso usar o botão Manage Groups para incluir o novo grupo (ou também é possível incluí-lo antes de incluir o usuário). Após incluir o grupo testuser, será necessário retornar à tela da Figura 41, selecionar o ID de testuser e clicar no botão Advanced para alterar o número de ID e grupo primário do usuário.

Incluindo usuários e grupos usando a linha de comando

É possível incluir ou alterar usuários e grupos na linha de comando. Essas tarefas exigem autoridade de usuário raiz.

Informações sobre grupos são armazenadas como um arquivo simples em /etc/group. O comando groupadd pode ser usado para incluir um novo grupo. Isso é bem simples. Incluir um novo usuário é um pouco mais complicado, pois há mais parâmetros e será necessário o número numérico do grupo do usuário. Vamos usar o comando groupadd para incluir nosso grupo testuser, com ID de grupo 2000, e usar o comando grep para pesquisar /etc/group e verificar as configurações. Observação: Se um ID de grupo não for fornecido, o sistema irá atribuir o próximo número que for maior que qualquer ID de grupo existente.

root@pinguino:~# groupadd -g 2000 testuser
root@pinguino:~# grep testuser /etc/group
testuser:x:2000:

Como se pode ver, o grupo testuser é 2000. Agora vamos usar o comando useradd para incluir o usuário testuser. A opção -c permite especificar um comentário, que geralmente é o nome deal do usuário. A opção -u permite especificar o ID numérico (2000) do usuário. A opção -d permite especificar o diretório inicial do usuário. A opção -g especifica o grupo primário do usuário. Aqui nós usamos 2000, que é o grupo testuser recém-criado. A última opção que usamos é -G para especificar grupos adicionais para este usuário. Aqui podemos usar o nome do grupo. Neste caso, incluiremos testuser ao grupo ian.

Após incluir o usuário, é possível usar o comando grep novamente, e você verá que o usuário testuser foi incluído nos grupos testuser e ian. Nesse momento, você criou um novo usuário, mas o usuário não tem uma senha e não pode fazer login no sistema. Alguns usuários não precisam fazer login, então isso não seria problema para eles. O usuário raiz possui autoridade para definir (ou redefinir) senhas para outros usuários. Para isso, use o comando passwd e dê o nome de usuário como um parâmetro. Será solicitada uma nova senha, e em seguida será solicitado que você a redigite para verificação.

root@pinguino:~# useradd -c"Test User" -u 2000 -d/home/testuser -g 2000 -G ian \
> testuser
root@pinguino:~# grep testuser /etc/group                         
ian:x:1000:testuser
testuser:x:2000:
root@pinguino:~# passwd testuser
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Por fim, pode ser necessário incluir usuários em um grupo existente. O comando usermod pode ser usado para isso, mas é preciso ter a lista de grupos existentes do usuário, pois a lista de grupos adicionais será substituída. Geralmente é mais fácil editar /etc/group diretamente. Faça uma cópia de backup antes, para o caso de você cometer algum erro. Para incluir o usuário editor aos grupos ian e testuser, edite /etc/group e atualize as linhas de ian e testuser de modo que fiquem assim:

ian:x:1000:testuser,editor
testuser:x:2000:editor

Você descobrirá que muitas das informações de usuário são armazenadas em /etc/passwd, mas você não editar esse arquivo por conta própria. Em vez disso, use os comandos useradd, usermod e userdel. Se você não for um administrador de sistema em tempo integral, provavelmente achará mais fácil fazer manipulações ocasionais em usuários e grupos pelas interfaces gráficas.

Recursos

Aprender

Obter produtos e tecnologias

  • Avalie produtos IBM da maneira que for melhor para você: faça o download da avaliação de um produto, experimente um produto on-line, use um produto em um ambiente de nuvem ou passe algumas horas no SOA Sandbox aprendendo como implementar Arquitetura Orientada a Serviços de forma eficiente.

Discutir

  • Participe da comunidade do My developerWorks. Conecte-se a outros usuários do developerWorks, ao mesmo tempo que explora os blogs, fóruns, grupos e wikis direcionados a desenvolvedores.

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Linux
ArticleID=658932
ArticleTitle=Tarefas básicas para novos usuários do Linux
publish-date=05192011