Continuando o post que tratava da criação e administração das contas dos usuários, este post descreve como manipular o ambiente para o trabalho do usuário. Ele vai tratar das variáveis globais e locais, aliases, arquivos de configuração do amiente, layout de teclado e mouse.
Variáveis
Em um shell, a manipulação de variáveis é muito simples. Para definir uma variável, basta atribuir um valor à mesma e pronto. Por exemplo, para definir a variável TESTE, basta dar o seguinte comando
# TESTE=10
ou
# TESTE=”palavra”
No primeiro caso, a variável tem um valor numérico atribuído a ela. No segundo caso, o conteúdo da variável TESTE é “palavra” (sem as aspas duplas)
Para verificar se a variável existe e qual é o seu conteúdo, basta executar o comando
# echo$TESTE
As variáveis podem ser locais ou globais. As variáveis locais existem somente enquanto o usuário estiver conectado à máquina. Assim que ele sair, a variável deixa de existir. Já as variáveis globais existem enquanto a máquina estiver ligada.
Para ver quais são as variáveis globais definidas, basta executar o comando
# env
Para ver as variáveis locais, execute o comando
# set
Este comando mostra as variáveis locais e globais.
Para tornar uma variável Global, basta colocar o comando export antes da definiçção da variável, como a seguir
# export TESTE=10
ou
# export TESTE=”palavra”
Esta definição de variáveis é muito útil para ajudar a configurar o ambiente do usuário
Alias
Um alias nada mais é do que uma definição de comandos, agrupados em uma variável, que quando executada, atua como o comando lá configurado. Por exemplo, imagine que voce usa um comando semelhante a este
# tail -20 /var/log/auth.log
O resultado deste comando, em meu sistema, foi
Sep 8 09:22:31 linux sshd[32198]: Illegal user user from 88.14.88.231
Sep 8 09:22:39 linux sshd[32202]: Illegal user admin from 88.14.88.231
Sep 8 09:22:47 linux sshd[32204]: Illegal user test from 88.14.88.231
Sep 8 09:23:07 linux sshd[32214]: Illegal user danny from 88.14.88.231
Sep 8 09:23:11 linux sshd[32216]: Illegal user sharon from 88.14.88.231
Sep 8 09:33:12 linux sshd[32218]: fatal: Timeout before authentication for 88.14.88.231
Sep 8 10:17:01 linux CRON[32219]: (pam_unix) session opened for user root by (uid=0)
Sep 8 10:17:01 linux CRON[32219]: (pam_unix) session closed for user root
Sep 8 11:17:01 linux CRON[32221]: (pam_unix) session opened for user root by (uid=0)
Sep 8 11:17:01 linux CRON[32221]: (pam_unix) session closed for user root
Sep 8 12:17:01 linux CRON[32223]: (pam_unix) session opened for user root by (uid=0)
Sep 8 12:17:01 linux CRON[32223]: (pam_unix) session closed for user root
Sep 8 13:17:01 linux CRON[32225]: (pam_unix) session opened for user root by (uid=0)
Sep 8 13:17:01 linux CRON[32225]: (pam_unix) session closed for user root
Sep 8 14:17:01 linux CRON[32227]: (pam_unix) session opened for user root by (uid=0)
Sep 8 14:17:01 linux CRON[32227]: (pam_unix) session closed for user root
Sep 8 14:53:14 linux sshd[32229]: Accepted keyboard-interactive/pam for usuario from xxx.xxx.xxx.xxx port 58001 ssh2
Sep 8 14:53:14 linux sshd[32233]: (pam_unix) session opened for user usuario by (uid=0)
Sep 8 14:53:20 linux su[32239]: + pts/0 usuario:root
Sep 8 14:53:20 linux su[32239]: (pam_unix) session opened for user root by usuario(uid=1000)
Mas para poluir menos a saída, eu incrementei um pouco
# tail -20 /var/log/auth.log | grep Illegal | cut -d” ” -f 1,2,3,6-11
A saida foi
Sep 8 sshd[32198]: Illegal user user from 88.14.88.231
Sep 8 sshd[32202]: Illegal user admin from 88.14.88.231
Sep 8 sshd[32204]: Illegal user test from 88.14.88.231
Sep 8 sshd[32214]: Illegal user danny from 88.14.88.231
Sep 8 sshd[32216]: Illegal user sharon from 88.14.88.231
Ao invés de digitar tudo isto, voce pode criar um “comando” que execute esta instrução para voce. Para fazer isto, basta executar o comando
# alias tentativa=’cat auth.log | grep Illegal | cut -d” ” -f 1,2,3,6-11 | more’
e entao chamar pelo novo comando que acabou de ser definido
# tentativa
O resultado será o mesmo que foi apresentado pelo comando anterior
Para desfazer esta configuração, execute o comando
# unalias tentativa
Arquivos de login
Logo após o login de um usuário no sistema, seja ele root ou não, alguns arquivos são lidos para estabelecer algumas configurações padrão para os ambientes e usuários no sistema. Estes arquios são: /etc/profile; ~/.bash_profile; ~/.bash_login; ~/.bash_profile; ~/.profile ou ainda o ~/.bashrc
Nestes arquivos é que são colocadas as diversas configurações para o ambiente do usuário, como a definição da variável PATH e o umask. Caso voce faça algugma alteração no arquivo /etc/profile, voce pode testar as alterações com o comando
# source (ex. # source /etc/profile)
E no caso de um logout, se existir o arquivo ~/.bash_logout, o mesmo será executado.
Teclado e mouse
As configurações de teclado e mouse raramente são refeitas, uma vez que após a instalação, nunca mais o teclado e o mouse serão trocados. Mas caso isso aconteça, os comandos abaixo podem lhe salvar, sem precisar ficar adivinhando onde estã o pipe (|) ou mesmo o /.
# loadkeys -d us
ou
# loadkeys -d br-abnt2
Para verificar onde o seu mouse está conectado e se ele está funcionando, execute um destes comandos e movimente seu mouse
# cat /dev/psaux
# cat /dev/usb/mouse
# cat /dev/ttyS0
Dois outros arquivos bastante interessante és são o /etc/issue e o /etc/motd. Eles mostram mensagens antes e depois do login do usuário. Muito útil para dar algumas instruções importantes e que sempre devem ser lembradas. Aliás, existem alguns aplicativos que vivem trocando as mensagens do dia. Procure por fortunes linux no Google, e veja o que voce consegue.