wiki:linux:comandos:comando_usuario_e_grupos
Table of Contents
Exemplos de Comandos para Gerenciamento de Usuários e Grupos no Linux
Nível Básico
- Adicionar um novo usuário com `useradd`:
sudo useradd novo_usuario
- Cria um novo usuário chamado `novo_usuario` no sistema.
- Adicionar um novo usuário e criar o diretório home com `useradd`:
sudo useradd -m novo_usuario
- 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`:
sudo usermod -s /bin/bash usuario
- Altera o shell padrão do usuário `usuario` para `/bin/bash`.
- Alterar o diretório home de um usuário com `usermod`:
sudo usermod -d /novo_caminho_home usuario
- Modifica o diretório home do usuário `usuario` para `/novo_caminho_home`.
- Adicionar um novo grupo com `groupadd`:
sudo groupadd novo_grupo
- Cria o grupo `novo_grupo` no sistema.
- Verificar informações de ID de um usuário com `id`:
id usuario
- Exibe o UID, GID e os grupos aos quais o usuário `usuario` pertence.
- Alterar a senha de um usuário com `passwd`:
sudo passwd usuario
- Define ou altera a senha do usuário `usuario`.
- Trocar para o usuário root com `su`:
su -
- Faz login como root (superusuário).
- Executar um comando como superusuário com `sudo`:
sudo comando
- Executa o comando com privilégios administrativos (root).
Nível Intermediário
- Adicionar um novo usuário com um shell específico com `useradd`:
sudo useradd -m -s /bin/zsh novo_usuario
- 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`:
sudo useradd -e 2024-12-31 usuario_temporario
- 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`:
sudo usermod -aG sudo usuario
- 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`:
sudo usermod -l novo_nome usuario
- Altera o nome de login do usuário `usuario` para `novo_nome`.
- Criar um novo grupo com um GID específico com `groupadd`:
sudo groupadd -g 1002 novo_grupo
- Cria o grupo `novo_grupo` com o GID `1002`.
- Bloquear temporariamente uma conta de usuário com `usermod`:
sudo usermod -L usuario
- Bloqueia a conta do usuário `usuario`, impedindo o login.
- Desbloquear uma conta de usuário com `usermod`:
sudo usermod -U usuario
- Desbloqueia a conta do usuário `usuario`, permitindo novamente o login.
- Renomear um grupo com `groupmod`:
sudo groupmod -n novo_nome_grupo antigo_grupo
- Renomeia o grupo `antigo_grupo` para `novo_nome_grupo`.
- Definir o intervalo de dias entre trocas de senha com `chage`:
sudo chage -M 90 usuario
- Define que o usuário `usuario` deve trocar a senha a cada 90 dias.
- Remover um grupo com `groupdel`:
sudo groupdel grupo
- Remove o grupo `grupo` do sistema.
- Remover um usuário e seu diretório home com `userdel`:
sudo userdel -r usuario
- 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`:
sudo useradd -m -e 2025-01-01 -p $(openssl passwd -1 senha123) novo_usuario
- 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`:
sudo usermod -m -d /novo_diretorio_home usuario
- 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`:
sudo groupmod -g 2000 grupo
- Modifica o GID do grupo `grupo` para `2000`.
- Verificar a expiração da senha de um usuário com `chage`:
sudo chage -l usuario
- 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`:
sudo passwd -e usuario
- 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`:
sudo useradd -m -u 1001 -g 1001 novo_usuario
- 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`:
sudo useradd -M -s /usr/sbin/nologin usuario_no_shell
- 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`:
sudo usermod -e 2025-01-01 -f 0 usuario
- 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`:
sudo usermod -p '*' usuario
- Remove a senha do usuário, permitindo login sem senha.
- Criar um usuário com senha criptografada diretamente no comando com `useradd`:
sudo useradd -m -p $(openssl passwd -1 "senha123") usuario
- 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`:
sudo usermod -g novo_grupo_primario -G grupo1,grupo2,grupo3 usuario
- 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`:
sudo comando
- Executa qualquer comando com privilégios de superusuário sem trocar para o usuário root.
- Trocar temporariamente para outro usuário com `su`:
su - usuario
- 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`:
sudo su -
- 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`:
sudo su - usuario
- 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:
sudo su - usuario -c 'comando_a_executar'
- 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`:
sudo su
- 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:
sudo su -c 'comando_a_executar'
- 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:
sudo su -c 'comando1 && comando2 && comando3'
- 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:
sudo su - usuario -c 'sudo ./meu_script.sh'
- 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`:
sudo su -m usuario
- 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
