Dicas

23 de maio de 2016

Consoles Virtuais

Mais artigos de »
Escrito por: Leonardo Souza
Tags:

Introdução

O conceito de Consoles Virtuais é fundamental para quem deseja aprender sobre sistemas Unix. Por padrão o FreeBSD não possui ambiente gráfico, como explicado no artigo instalação do FreeBSD. Sendo assim, a não ser que seja realizada uma instalação de um dos ambientes gráficos posteriormente, como o GNOME, por exemplo, o ambiente padrão do sistema será em modo texto. Isso significa que a administração do sistema se dará por meio do console de texto.

Porém mesmo em ambiente gráfico, ainda será possível utilizar o FreeBSD por meio do modo texto, o que muitos chamam de terminais ou consoles. Mas o que são terminais ou consoles?




Consoles Virtuais

Como explicado anteriormente, se nenhum ambiente gráfico for configurado, no momento do boot, o sistema apresentará uma tela de login em modo texto. Esta tela é semelhante a tela seguinte:,

inicio-login

Esta é a tela de login do FreeBSD. É possível que a tela seja um pouco diferente, dependendo da versão do sistema, porém será muito semelhante.

O que nos interessa nesta tela é a penúltima linha “FreeBSD/amd64 (server) (ttyv0)”. Esta linha nos apresenta algumas informações do sistema instalado. Segundo ela estamos executando um sistema FreeBSD, que está “rodando” sobre uma arquitetura de processador “amd x64” ou compatível. Não significa isso que estamos utilizando este processador, apenas é uma informação sobre a arquitetura do processador. O nome deste computador é “server” e o console que estamos executando é “ttyv0”.

Embora as informações apresentadas sejam relevantes, não é nelas que vamos nos focar neste artigo. O que nos interessa realmente é a expressão “ttyv0”. Ela nos apresenta qual o console que estamos executando neste momento e este é o o foco deste artigo.

Múltiplos Consoles

Como já explicado no artigo introdutório ao FreeBSD, ele é um sistema multiusuário e de multiprocessamento. Sendo assim, ele pode ser usado por mais de um usuário ao mesmo tempo e executar vários processos e programas ao mesmo tempo, mesmo que pela mesma pessoa.

Como o FreeBSD pode executar vários programas de uma vez, utilizar apenas um console para executá-los seria no mínimo uma limitação desnecessária. Por este motivo existem no sistema os chamados “consoles virtuais” e estes são, sem dúvidas, muito úteis nesta tarefa. Sendo assim, o FreeBSD pode ser configurado para permitir o uso de vários consoles virtuais diferentes, que podem ser alternados entre eles simplesmente utilizando teclas de atalho.

Estes consoles possuem cada um deles, seu próprio canal de saída, e o sistema trata individualmente cada um deles, redirecionando as entradas e saídas de cada console virtual e monitor, tudo isso feito de acordo com o console que está ativo no momento da execução. Como explicamos no artigo sobre o comando CAT, os sistemas baseados no Unix, inclusive o FreeBSD, permitem o redirecionamento de saídas dos comandos do terminal, seja na tela do  monitor (saída padrão) um arquivo ou mesmo um outro console virtual.

Como explicado estes consoles podem ser ativados e alternados utilizando teclas de atalho e são numerados de 0 (ttyv0) até o 8 (ttyv8). Dessa forma o console padrão, como já visto anteriormente é o ttyv0 e para alternar entre eles usados as combinações Alt+F2 para usar o console 1 (ttyv1), Alt+F3 para o console 2 (ttyv2) e assim sucessivamente. As possibilidades completas são:

Alt+F1 > ttyv0

Alt+F2 > ttyv1

Alt+F3 > ttyv2

Alt+F4 > ttyv3

Alt+F5 > ttyv4

Alt+F6 > ttyv5

Alt+F7 > ttyv6

Alt+F8 > ttyv7

Enquanto alternamos entre os consoles virtuais o FreeBSD cria uma “ilusão” de múltiplas telas e teclados “virtuais” disponibilizados pelo sistema e onde podemos digitar diversos comandos. Isso é possível porque o sistema se encarrega de salvar e restaurar o conteúdo de cada tela. Assim cada vez que alternarmos para um console que está em “espera” seu conteúdo é totalmente restaurado porque o sistema armazena seu conteúdo enquanto executa seus processos.

Para administrar todo este processo o sistema utiliza o arquivo /etc/ttys.

O arquivo /etc/ttys

Este arquivo é o responsável pelas configurações referentes a existência e administração dos consoles virtuais. Isso significa que o que for alterado neste arquivo terá total influencia sobre os consoles virtuais. Em outras palavras o número de consoles virtuais e as definições para seu uso estão neste arquivo.

Por padrão o FreeBSD iniciará 8 (oito) consoles virtuais, porém é possível alterar esta configuração no arquivo /etc/ttys. Cada linha deste arquivo de texto contém ajustes para um terminal específico, se estiver sem comentários claro. Sua versão padrão oferece nove consoles virtuais, sendo oito deles habilitados.

Ao abrirmos o arquivo com o editor de textos ee, veremos algo semelhante a  imagem abaixo:

Consoles Virtuais

Como pode ser visto as linhas iniciadas em “tty…” referenciam os consoles virtuais. Caso queira desabilitar algum dos consoles virtuais basta comentar a linha correspondente. Em outras palavras podemos dizer que se a linha correspondente a um console for comentado, ele deixará de funcionar, ou seja, será desabilitado.

Para isso basta inserir o caractere “#” (conhecido como jogo da velha) antes da linha. Dessa forma o console será desativado.

Criando Consoles Virtuais

Outra opção possível é criar um console virtual. Como visto até agora, o padrão do sistema é a existência de oito consoles, ou seja, o último console é o  “ttyv7” acionado através da combinação Alt+F8. Vamos criar o console ttyv9 que será acionado através da combinação de teclas Alt+F10.

Para isso abra o arquivo /etc/ttys:

# ee /etc/ttys

Agora insira a linha que está marcada na imagem.

criando-tty9

Dessa forma criamos o console ttyv9, basta realizar um reboot do sistema e quando o sistema reiniciar poderemos utilizar este novo recurso.

Para testar a configuração use as teclas de atalho Alt+F10 e logo veremos o console criado.

ttyv9

Pronto, o console já pode ser utilizado.

O arquivo /etc/ttys possui uma importância fundamental, também, para configurações relacionadas ao modo mono-usuário.

Modo Monousuário

Modo monousuário é uma opção de uso do sistema onde apenas um usuário poderá utilizá-lo. Isso significa que apenas um console está disponível para uso no modo monousuário, em outras palavras não existem consoles virtuais disponíveis, apenas o console padrão.

Por padrão, se este modo estiver ativado, o sistema iniciará sem solicitar login/senha, pois está iniciando em modo mono-usuário.

Este modo pode ser ativado ao iniciar o sistema e pressionar a tecla “S“, como pode ser visto na imagem abaixo. Por padrão ao pressionar ENTER o sistema inicia em modo multi-usuário, porém ao pressionar a tecla “S” iniciará o modo single, ou seja, mono-usuário.

1

Quando o sistema inicia em modo mono-usuário a senha não é solicitada, dessa forma o acesso é permitido, porém sem solicitar a senha do usuário root.

sem-senha

Podemos ver nesta imagem que é solicitada um parâmetro,logo após o boot, sem que seja solicitada qualquer senha. Por questões de segurança devemos configurar o sistema para que solicite esta senha (de root).

Para configurar esta opção devemos alterar a entrada “secure” para “insecure” no arquivo /etc/ttyv.

insecury

Diante desta configuração, basta reiniciar o sistema em modo mono-usuário e verificar que o sistema vai solicitar a senha do usuário root.

root

Dessa forma tornamos o sistema mais seguro, pois o sistema não permitirá acesso sem que a senha seja informada.

Conclusão

Conhecer e utilizar consoles virtuais é tarefa corriqueira de um administrador de sistemas. Isso ocorre porque inevitavelmente será necessário executar mais de uma tarefa ao mesmo tempo no sistema e sendo assim se faz fundamental seu uso. Em outros momentos pode ser preciso habilitar ou desabilitá-los no sistema. Enfim, seu uso trás possibilidades que aumentam, e muito, a produtividade.

Espero que o conteúdo tenha sido útil.






Sobre o Autor

Foto de perfil de Leonardo Souza
Leonardo Souza
Bacharel em Informática, pós graduado em Segurança de Redes de Computadores e analista de Segurança da Informação. Entusiasta de Segurança da Informação e usuário FreeBSD, porém sem xiismo.




0 Comments


Seja o Primeiro a Comentar!


You must be logged in to post a comment.