Perfil de Usuários no Linux (profile) [Guia Básico]

Ajustando o Ambiente de Trabalho dos Usuários no Linux

Durante o processo de logon de um usuário, quando o shell bash inicia, ele executa o script /etc/profile. Este script pode ser customizado e diferente em cada distribuição Linux. Sua função é configurar algumas variáveis de ambiente e fazer a sintonia do sistema para os usuários.

Para ajustar o Perfil de Usuários no Linux, o bash lê a configuração de diversos arquivos. O conteúdo destes arquivos pode variar em cada distribuição, e nem sempre uma distribuição usa todos eles, mas a ideia geral permanece.

O Bash também procura pelo arquivo /etc/bash.bashrc que também tem uma função parecida com o profile, mas o bashrc é executado todas as vezes que o bash é executado.

Cada usuário também pode criar seus scripts de inicialização para serem executados durante o logon. Estes arquivos precisam estar localizados no diretório home dos usuários com os nomes:

  • .profile
  • .bash_profile
  • .bash_login
  • .bashrc
  • .bash_logout

O ponto “.” antes do nome do arquivo confere a ele o atributo de escondido, somente sendo listado com o comando “ls –lga”.

Arquivos de Perfil do Bash

O bash possibilita que as funções, variáveis e apelidos possam ser gravados em alguns arquivos para que possam ser carregados novamente quando o sistema for iniciado novamente, ou uma nova execução do bash for feita.

Os arquivos lidos pelo bash são:

/etc/profile

Arquivo global de configuração de Perfil de todos os usuários. Define variáveis globais e é executado durante o processo de autenticação do usuário. Este script também costuma carregar com o comando source os arquivos contidos no diretório /etc/profile.d.

/etc/profile.d

Este diretório contém um ou mais scripts que são carregados pelo /etc/profile.

$ ls -l /etc/profile.d
-rw-r--r-- 1 root root 1606 jul 31  2018 colorls.sh
-rw-r--r-- 1 root root 2703 ago  2  2018 lang.sh
-rw-r--r-- 1 root root  121 jul 31  2018 less.sh
-rw-r--r-- 1 root root  248 jul 17 14:46 vim.sh

/etc/bashrc ou /etc/bash.bashrc

Arquivo global de configuração de Perfil, que define variáveis importantes e é executado toda vez que o Bash é carregado. Em algumas distribuições aparece com o nome /etc/bashrc e em outras como /etc/bash.bashrc.

~/.bash_profile

Arquivo de Perfil individual de cada usuário que é executado logo imediatamente ao /etc/profile. Seu conteúdo é lido a cada execução do Bash e cada usuário tem o seu no diretório HOME.

~/.bash_login

Se o arquivo ~/.bash_profile não existir, ele é executado logo após o processo de logon. Cada usuário tem o seu;

~/.profile

Se os arquivos .bash_profile e .bash_login não existirem, ele é executado logo após o logon. Cada usuário tem o seu;

~/.bashrc

É executado automaticamente quando o processo Bash é iniciado. Cada usuário tem o seu;

~/.bash_logout

É executado durante o processo de logout;

Relembrando que o  “~/” indica o diretório HOME do usuário logado. 

Convém você olhar estes arquivos e analisar o seu conteúdo. Cada distribuição pode; variar o conteúdo destes scripts. Você pode até notar que um script chama o outro.

É muito importante saber a função e quando cada arquivo é executado. De maneira geral, guarde que:

  • Os arquivos que ficam no diretório /etc são globais, e valem para todos os usuários;
  • Os arquivos quem ficam no diretório HOME, são individuais para cada usuário;
  • Os arquivos que tem profile no nome, são carregados no processo de login, uma única vez;
  • Os arquivos que tem bash no nome são carregados toda vez que o Bash é executado.

 Outro detalhe importante é que estes arquivos são lidos e executados na ordem descrita acima: primeiro os Profiles, depois os Bash. Nem todas as distribuições fazem uso de todos esses arquivos.

A figura abaixo ilustra a ordem do processo de carga destes scripts:

login_pt Perfil de Usuários no Linux (profile) [Guia Básico]Ordem de leitura dos Scripts de Login

Observe que os nós em amarelo são scripts globais, que valem para todos os usuários. O scripts ~/.bashrc é carregado toda vez que o Bash é executado. E o script ~/.bash_logout toda vez que o Bash termina.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe