terça-feira, 9 de julho de 2024

Problemas com o Nome de Usuário? Aprenda a Renomeá-lo no Linux

top-image

Pode ser que já te cansaste com o nome que aparece associado ao teu directório home e ao teu terminal Linux, ou colocaste ali o nome no momento da instalação do sistema e queres agora altera-lo para outro que no momento achas serve melhor para ti.

Recomendação:

O processo funciona, foi testado com sucesso em Fedora Linux Workstation 39, mas um backup é sempre bom.

Antes de iniciar as operações de alteração convém fazer um backup do diretório home do usuário, caso algo dê errado durante o processo de mudança.

As etapas

Vamos considerar que temos dois usuários no sistema: um usuário com o nome de "administrador" e outro com o nome de "desenvolvedor-2" o qual queremos mudar para "desenvolvedor".

Para que possamos fazer esta operação vamos entrar no sistema como administrador root usando uma conta já existente, aqui vou usar a conta de nome administrador, mas caso não houver outra conta poderá usar uma Live USB com Linux. Em seguida levamos a cabo os seguintes passos:

  1. Mudamos o nome do utilizador
  2. Mudamos o nome do directório home
  3. Criamos um grupo com o novo nome de utilizador para que possamos remover o grupo primário do utilizador

Mudar o nome de utilizador

O comando logo a seguir nos informa quantos usuários temos no sistema. Vamos atuar no usuário desenvolvedor-2

[root@fedora ~]# ls -l /home/
total 0
drwx------. 1 administrador   administrador   394 jul 17 20:15 administrador
drwx------. 1 desenvolvedor-2   desenvolvedor-2 344 jul 17 20:34 desenvolvedor-2

Alterando o nome de usuário desenvolvedor-2 para desenvolvedor:

# usermod --login desenvolvedor desenvolvedor-2

Esse comando quer dizer o seguinte:
  • usermod:   O comando principal para modificar informações de usuários.
  • --login:   Indica que desejamos alterar o nome de login do usuário para um novo nome que neste caso é "desenvolvedor".
  • desenvolvedor:    Este será o novo nome de usuário
  • desenvolvedor-2:   O nome de login atual do usuário que desejamos alterar.

Como vemos logo abaixo, o nome de login do usuário foi alterado de desenvolvedor-2 para desenvolvedor.

[root@fedora ~]# ls -l /home/
total 0
drwx------. 1 administrador   administrador   394 jul 17 20:15 administrador
drwx------. 1 desenvolvedor   desenvolvedor-2 344 jul 17 20:34 desenvolvedor-2

Agora vamos ao passo seguinte que é alterar o nome do directório home do usuário desenvolvedor.

Alterar o directório home do utilizador:

Vamos verificar o nome do directório home atual:

[root@fedora ~]# ls -l /home/
total 0
drwx------. 1 administrador   administrador   394 jul 17 20:15 administrador
drwx------. 1 desenvolvedor   desenvolvedor-2 344 jul 17 20:53 desenvolvedor-2

Como vemos pelo output acima, o nome do directório home é "desenvolvedor-2".

Para mudarmos o nome do directório home do utilizador usamos o seguinte comando:

# usermod --move-home --home /home/desenvolvedor desenvolvedor

Esse comando quer dizer o seguinte:
  • usermod:   O comando principal para modificar informações de usuários.
  • --move-home:   Move o conteúdo do atual directório home para a nova localização "desenvolvedor".
  • --home:   Novo directório home para a conta do usuário.
  • --home /home/desenvolvedor:   Esta opção especifica o novo local para o diretório home do usuário. Neste caso, estamos definindo o novo diretório como home/desenvolvedor.
  • desenvolvedor:    É o nome do usuário

Vamos verificar que a alteração foi efetuada usando o seguinte comando:

[root@fedora ~]# ls -l /home/
total 0
drwx------. 1 administrador   administrador   394 jul 17 20:15 administrador
drwx------. 1 desenvolvedor   desenvolvedor-2 344 jul 17 20:53 desenvolvedor

Como vemos pelo output acima, o nome do directório home já foi alterado para "desenvolvedor".

Listando o conteúdo do home:

[root@fedora ~]# ls -l /home/desenvolvedor/
total 4
drwxr-xr-x. 1 desenvolvedor desenvolvedor-2    0 jun 24 14:11 'Área de Trabalho'
drwxr-xr-x. 1 desenvolvedor desenvolvedor-2   66 jul 17 20:36  Documentos
drwxr-xr-x. 1 desenvolvedor desenvolvedor-2    0 jun 24 14:11  Imagens
drwxr-xr-x. 1 desenvolvedor desenvolvedor-2    0 jun 24 14:11  Modelos
drwxr-xr-x. 1 desenvolvedor desenvolvedor-2    0 jun 24 14:11  Música
drwxr-xr-x. 1 desenvolvedor desenvolvedor-2    0 jun 24 14:11  Público
drwxr-xr-x. 1 desenvolvedor desenvolvedor-2    0 jun 24 14:11  Transferências
drwxr-xr-x. 1 desenvolvedor desenvolvedor-2    0 jun 24 14:11  Vídeos

Como vemos, ainda temos o directório home/desenvolvedor associado ao grupo do anterior home/desenvolvedor-2.

Alterar o nome do grupo primário

Vamos alterar o nome do grupo primário de desenvolvedor-2 para desenvolvedor.

Com este comando criamos um novo grupo de nome desenvolvedor:

[root@fedora ~]# groupadd desenvolvedor

Alteramos o grupo primário que é desenvolvedor-2 para o novo grupo criado: desenvolvedor.

[root@fedora ~]# usermod -g desenvolvedor desenvolvedor

Verificando:

Pode-se verificar que o grupo primário foi alterado através do seguinte comando:

[root@fedora ~]# groups desenvolvedor

Output:

desenvolvedor : desenvolvedor wheel

Pelo output vemos que o usuário desenvolvedor tem como grupo primário o grupo "desenvolvedor" e também pertence ao grupo "wheel".

A verificação também pode ser feita pelo seguinte comando:

[root@fedora ~]# ls -l /home/

total 0
drwx------. 1 administrador   administrador   394 jul 17 20:15 administrador
drwx------. 1 desenvolvedor   desenvolvedor 344 jul 17 20:34 desenvolvedor
[root@fedora ~]# exit

As alterações já foram feitas, agora vamos logar no sistema como usuário desenvolvedor:

[administrador@fedora ~]$ su - desenvolvedor
Palavra-passe:

Já logado como usuário "desenvolvedor" listamos o conteúdo do directório /home para certificarmos das alterações efetuadas.

[desenvolvedor@fedora ~]$ ls -l /home/desenvolvedor/

Pelo output vemos que todas as alterações foram efetuadas.

drwxr-xr-x. 1 desenvolvedor desenvolvedor    0 jun 24 14:11 'Área de Trabalho'
drwxr-xr-x. 1 desenvolvedor desenvolvedor   66 jul 17 20:36  Documentos
drwxr-xr-x. 1 desenvolvedor desenvolvedor    0 jun 24 14:11  Imagens
drwxr-xr-x. 1 desenvolvedor desenvolvedor    0 jun 24 14:11  Modelos
drwxr-xr-x. 1 desenvolvedor desenvolvedor    0 jun 24 14:11  Música
drwxr-xr-x. 1 desenvolvedor desenvolvedor    0 jun 24 14:11  Público
drwxr-xr-x. 1 desenvolvedor desenvolvedor    0 jun 24 14:11  Transferências
drwxr-xr-x. 1 desenvolvedor desenvolvedor    0 jun 24 14:11  Vídeos
[desenvolvedor@fedora ~]$ 

Com isto concluimos a alteração do nome de login do usuário, bem como a alteração do nome do directório home e do grupo primário do mesmo para que possa condizer com o nome de login.

Conteúdo:

  1. Mudamos o nome do utilizador
  2. Mudamos o nome do directório home
  3. Criamos um grupo com o novo nome de utilizador para que possamos remover o grupo primário do utilizador

sábado, 11 de maio de 2024

Aliases no Linux: Domine a Linha de Comando com Praticidade e Eficiência

No mundo Linux, aliases são como atalhos mágicos que transformam sua experiência na linha de comando.

São como apelidos personalizados que você cria para comandos complexos ou frequentemente utilizados, permitindo que você os execute com apenas algumas teclas. Imagine a praticidade de digitar "ll" em vez de "ls -l" para listar seus arquivos de forma detalhada, ou simplesmente digitar "atualizar" em vez de "sudo dnf update" ou "sudo apt update && sudo apt upgrade" para atualizar seu sistema!

O que são Aliases

Em essência, aliases são sinônimos que nós criamos para comandos existentes. Você os define utilizando o comando alias, associando um nome curto e fácil de lembrar ao comando completo que deseja executar. Essa troca torna a digitação mais rápida e evita erros de digitação, otimizando seu tempo e produtividade.

Exemplo:

$ alias im="cd ~/Imagens"

Com o alias criado acima não precisamos de digitar "cd ~/Imagens" todas as vezes que queremos entrar no directório Imagens. Basta digitar "im" e pronto.

Para que servem

Os aliases servem para diversos propósitos, mas se destacam em três cenários principais:

  • Simplificar comandos complexos: Transforme sequências longas de comandos em atalhos fáceis de lembrar, como "limpar" para apagar a tela ou "bkp" para criar um backup rápido.
  • Automatizar tarefas repetitivas: Crie aliases para executar scripts, mover arquivos ou realizar ações frequentes com apenas um comando, economizando tempo e esforço.
  • Personalizar a experiência do shell: Adapte o ambiente da linha de comando à sua maneira, criando aliases que reflitam seu fluxo de trabalho e preferências.

Como criar Aliases

Existem duas maneiras principais de criar aliases no Linux:

  1. Criação temporária:
    • Utilize o comando alias seguido do nome do alias, igualdade e o comando completo.

      Exemplo:

      $ alias ll="ls -l"
    • Esses aliases são válidos apenas na sessão atual do shell e serão perdidos ao fechar a janela.
  2. Criação permanente:
    • Edite o arquivo de configuração do seu shell (~/.bashrc para Bash). Abra o arquivo num editor da sua preferência, pode ser no editor vim ou Vi.

      Esse ficheiro faz parte de ficheiros escondidos no espaço /home/usuario e podem ser vistos com o seguinte comando:

      $ ls -la ~

      Para abrir o ficheiro no editor Vi ou Vim:

      $ vi ~/.bashrc
    • Adicione as definições de alias no final do arquivo, seguindo a mesma sintaxe do método temporário.
    • Em caso de execução de mais de um comando num alias, separam-se os comandos com um ";".
       17 # User specific aliases and functions
       18 if [ -d ~/.bashrc.d ]; then
       19     for rc in ~/.bashrc.d/*; do
       20         if [ -f "$rc" ]; then
       21             . "$rc"
       22         fi
       23     done
       24 fi
       25 unset rc
       26 
       27 # Personal aliases
       28 alias ll="ls -l"
       29 alias atual="sudo dnf update"
       30 alias img="cd ~/Pictures; ls -l"
      
    • Salve o arquivo e recarregue a configuração do shell usando o comando:

      $ source ~/.bashrc.

Processo alternativo

Podemos criar um ficheiro especificamente para nossos aliases pessoais.

Este procedimento tem como vantagens o seguinte:
  • Não abarrotamento do ficheiro ~/.bashrc com muitas linhas de aliases pessoais.
  • Caso tenha muitos aliases, mantê-los num único ficheiro torna-se mais prático tanto no sentido de manutenção como para fazer backup do ficheiro.
  • Em caso de aumento de número, sempre pode-se criar mais ficheiros e dividir os aliases em função do objetivo de cada grupo criado, ocupando cada grupo de aliases um ficheiro independente com o nome do objetivo para o qual foi criado e poderão todos ser guardados no directório ~/.bashrc.d. Caso esse directório não existir, poderá ser criado.

Opção 1: Criar um ficheiro específico para aliases em /home/usuario

Como exemplo criamos um ficheiro no nosso espaço /home/usuario com o nome .simple_personal_aliases, pode ter um outro nome. Colocamos neste ficheiro alguns aliases, por exemplo: comandos que usamos numa base diária. Salvamos o arquivo.

Criação de aliases simples personalizados com o nome '.simple_personal_aliases' com comandos que usamos diariamente.

Abrimos o nosso ficheiro ~/.bashrc e fazemos o source do nosso ficheiro recém criado: .simple_personal_aliases adicionando no final do ficheiro essa linha de shell script que aparece nesta imagem. Isto é para que o .bashrc saiba onde encontrar o ficheiro que acabamos de criar e carrega-lo em cada momento que abrimos um novo terminal.

Sourcing no '.bashrc' o novo ficheiro '.simple_personal_aliases' criado para que possa ser carregado cada vez que abrimos um novo terminal.

Opção 2: Criar ficheiros específicos para aliases em /home/usuario/.bashrc.d

Neste caso os ficheiros criados são guardados em ~/.bashrc.d e o source dos ficheiros é garantido por .bashrc como se vê na imagem abaixo.

.bashrc,imagem explicativa to processo de carregamento dos ficheiros existentes em .bashrc.d

Dicas Extras

  • Utilize nomes de alias curtos, memoráveis e descritivos.
  • Inclua comentários nos seus aliases para facilitar a compreensão sempre que os comandos sejam longos e mais complexos.
  • Evite usar aliases para comandos simples ou já curtos.

Com os aliases, você transforma a linha de comando do Linux em uma ferramenta ainda mais poderosa e amigável. Domine essa técnica e desfrute de uma experiência de trabalho mais rápida, eficiente e personalizada!