User Tools

Site Tools


wiki:linux:comandos:comando_usuario_e_grupos

Exemplos de Comandos para Gerenciamento de Usuários e Grupos no Linux

Nível Básico

  • Adicionar um novo usuário com `useradd`:
    1. sudo useradd novo_usuario
    2. Cria um novo usuário chamado `novo_usuario` no sistema.
  • Adicionar um novo usuário e criar o diretório home com `useradd`:
    1. sudo useradd -m novo_usuario
    2. Cria um novo usuário e também cria automaticamente o diretório home (`/home/novo_usuario`).
  • Alterar o shell padrão de um usuário com `usermod`:
    1. sudo usermod -s /bin/bash usuario
    2. Altera o shell padrão do usuário `usuario` para `/bin/bash`.
  • Alterar o diretório home de um usuário com `usermod`:
    1. sudo usermod -d /novo_caminho_home usuario
    2. Modifica o diretório home do usuário `usuario` para `/novo_caminho_home`.
  • Adicionar um novo grupo com `groupadd`:
    1. sudo groupadd novo_grupo
    2. Cria o grupo `novo_grupo` no sistema.
  • Verificar informações de ID de um usuário com `id`:
    1. id usuario
    2. Exibe o UID, GID e os grupos aos quais o usuário `usuario` pertence.
  • Alterar a senha de um usuário com `passwd`:
    1. sudo passwd usuario
    2. Define ou altera a senha do usuário `usuario`.
  • Trocar para o usuário root com `su`:
    1. su -
    2. Faz login como root (superusuário).
  • Executar um comando como superusuário com `sudo`:
    1. sudo comando
    2. Executa o comando com privilégios administrativos (root).

Nível Intermediário

  • Adicionar um novo usuário com um shell específico com `useradd`:
    1. sudo useradd -m -s /bin/zsh novo_usuario
    2. Cria um novo usuário `novo_usuario` com o shell `/bin/zsh` como padrão.
  • Definir a data de expiração de uma conta com `useradd`:
    1. sudo useradd -e 2024-12-31 usuario_temporario
    2. Cria um usuário temporário cuja conta expira em `31 de dezembro de 2024`.
  • Adicionar um usuário a um grupo secundário com `usermod`:
    1. sudo usermod -aG sudo usuario
    2. Adiciona o usuário `usuario` ao grupo `sudo`, permitindo que ele execute comandos como superusuário.
  • Alterar o nome de login de um usuário com `usermod`:
    1. sudo usermod -l novo_nome usuario
    2. Altera o nome de login do usuário `usuario` para `novo_nome`.
  • Criar um novo grupo com um GID específico com `groupadd`:
    1. sudo groupadd -g 1002 novo_grupo
    2. Cria o grupo `novo_grupo` com o GID `1002`.
  • Bloquear temporariamente uma conta de usuário com `usermod`:
    1. sudo usermod -L usuario
    2. Bloqueia a conta do usuário `usuario`, impedindo o login.
  • Desbloquear uma conta de usuário com `usermod`:
    1. sudo usermod -U usuario
    2. Desbloqueia a conta do usuário `usuario`, permitindo novamente o login.
  • Renomear um grupo com `groupmod`:
    1. sudo groupmod -n novo_nome_grupo antigo_grupo
    2. Renomeia o grupo `antigo_grupo` para `novo_nome_grupo`.
  • Definir o intervalo de dias entre trocas de senha com `chage`:
    1. sudo chage -M 90 usuario
    2. Define que o usuário `usuario` deve trocar a senha a cada 90 dias.
  • Remover um grupo com `groupdel`:
    1. sudo groupdel grupo
    2. Remove o grupo `grupo` do sistema.
  • Remover um usuário e seu diretório home com `userdel`:
    1. sudo userdel -r usuario
    2. Remove o usuário `usuario` e apaga o diretório home associado.

Nível Avançado

  • Criar um novo usuário com senha expirada para forçar o reset no primeiro login com `useradd`:
    1. sudo useradd -m -e 2025-01-01 -p $(openssl passwd -1 senha123) novo_usuario
    2. Cria o usuário `novo_usuario` com a senha `senha123` e configura a expiração para `1º de janeiro de 2025`.
  • Mudar o diretório home de um usuário e mover o conteúdo com `usermod`:
    1. sudo usermod -m -d /novo_diretorio_home usuario
    2. Altera o diretório home do usuário `usuario` e move o conteúdo para o novo diretório.
  • Alterar o GID de um grupo com `groupmod`:
    1. sudo groupmod -g 2000 grupo
    2. Modifica o GID do grupo `grupo` para `2000`.
  • Verificar a expiração da senha de um usuário com `chage`:
    1. sudo chage -l usuario
    2. Lista as informações de expiração da senha do usuário `usuario`.
  • Forçar um usuário a trocar a senha no próximo login com `passwd`:
    1. sudo passwd -e usuario
    2. Força o usuário `usuario` a trocar a senha no próximo login.
  • Adicionar um novo usuário com UID e GID específicos com `useradd`:
    1. sudo useradd -m -u 1001 -g 1001 novo_usuario
    2. Cria o usuário `novo_usuario` com UID e GID definidos como `1001`.

Nível Especializado

  • Adicionar um usuário sem diretório home e sem shell de login com `useradd`:
    1. sudo useradd -M -s /usr/sbin/nologin usuario_no_shell
    2. Cria o usuário `usuario_no_shell` sem diretório home e com o shell desativado.
  • Forçar a troca de senha no próximo login com `usermod`:
    1. sudo usermod -e 2025-01-01 -f 0 usuario
    2. Configura a conta para expirar em `1º de janeiro de 2025` e força o usuário a trocar a senha.
  • Remover a senha de um usuário para permitir login sem senha com `usermod`:
    1. sudo usermod -p '*' usuario
    2. Remove a senha do usuário, permitindo login sem senha.
  • Criar um usuário com senha criptografada diretamente no comando com `useradd`:
    1. sudo useradd -m -p $(openssl passwd -1 "senha123") usuario
    2. Cria o usuário `usuario` com a senha `senha123` criptografada.
  • Mover um usuário para um novo grupo primário e vários grupos secundários com `usermod`:
    1. sudo usermod -g novo_grupo_primario -G grupo1,grupo2,grupo3 usuario
    2. Move o usuário `usuario` para o grupo primário `novo_grupo_primario` e para os grupos `grupo1`, `grupo2`, e `grupo3`.
  • Executar um comando como root sem alterar de usuário com `sudo`:
    1. sudo comando
    2. Executa qualquer comando com privilégios de superusuário sem trocar para o usuário root.
  • Trocar temporariamente para outro usuário com `su`:
    1. su - usuario
    2. Troca para o usuário `usuario` e inicia uma nova sessão de shell.

Exemplos de uso do comando sudo juntamente com o comando su

Nível Básico

  • Trocar temporariamente para o usuário root com `sudo` e `su`:
    1. sudo su -
    2. Faz login como root diretamente, sem precisar saber a senha do root, usando os privilégios do `sudo`.
  • Trocar para um usuário específico com `sudo` e `su`:
    1. sudo su - usuario
    2. Faz login como o usuário `usuario` diretamente, utilizando os privilégios administrativos do `sudo`.

Nível Intermediário

  • Executar um comando como outro usuário sem sair do shell atual:
    1. sudo su - usuario -c 'comando_a_executar'
    2. Executa o comando `comando_a_executar` como o usuário `usuario`, sem precisar trocar completamente para a conta desse usuário.
  • Trocar para o root e manter as variáveis de ambiente com `sudo` e `su`:
    1. sudo su
    2. Inicia um shell como root, mas mantendo as variáveis de ambiente do usuário original.

Nível Avançado

  • Executar comandos como root sem acessar o shell root diretamente:
    1. sudo su -c 'comando_a_executar'
    2. Executa `comando_a_executar` como root sem abrir uma sessão de shell completa como root.
  • Usar `sudo` e `su` em um script para executar múltiplos comandos como root:
    1. sudo su -c 'comando1 && comando2 && comando3'
    2. Executa uma sequência de comandos como root sem precisar abrir o shell root diretamente. Os comandos `comando1`, `comando2`, e `comando3` serão executados consecutivamente.

Nível Especializado

  • Abrir um shell como um usuário diferente e rodar um script como root em uma única linha:
    1. sudo su - usuario -c 'sudo ./meu_script.sh'
    2. Troca para o usuário `usuario`, e dentro desse contexto, executa um script com `sudo` como root.
  • Acessar o shell de outro usuário e preservar o ambiente original com `sudo` e `su`:
    1. sudo su -m usuario
    2. Troca para o usuário `usuario` sem modificar as variáveis de ambiente do usuário original.
wiki/linux/comandos/comando_usuario_e_grupos.txt · Last modified: by Wiki Administrator