Como gerenciar usuários e grupos

Qualquer administrador de sistemas, seja qual for o sistema operacional, tem como tarefa primária a administração de usuários e grupos. Essa administração engloba, entre outras coisas, criar, remover e cuidar de usuários e grupos. Neste artigo tenho a intenção de mostrar como criar, remover, alterar informações e senha, além de planejar a política para criação de usuários e grupos.

[ Hits: 276.738 ]

Por: Armando Martins de Souza em 29/04/2010


Gerenciando grupos e senhas



Comandos:

gpasswd

Com esse comando podemos criar senhas para administradores de grupo que terão poder de incluir e remover, além de modificar a senha de um grupo.

grpconv

Através desse comando é criado o arquivo gshadow utilizando o arquivo group para isso.

grpunconv

Esse comando recria um arquivo group utilizando os arquivos group e gshadow e após isso ele remove os dois arquivos.

pwconv

Utilizando o arquivo passwd ele cria o arquivo shadow, hoje em dia esse comando é pouco utilizado, pois os novos sistemas já trabalham diretamente com senhas criptografadas já localizadas no shadow.

pwunconv

Recria o arquivo passwd utilizando os arquivos passwd e shadow e depois os removendo.

chage

Usado para modificar parâmetros de expiração de senha dos usuários. Pode ser executado pelo superusuário seguido do nome do usuário a que iremos modificar os parâmetros. Nesse caso só teremos que ir respondendo o que nos é perguntado. Outra coisa que temos que ter em mente é que esse comando funciona apenas se estivermos usando o esquema de senhas criptografadas (/etc/shadow).

Parâmetros:
  • Minimum Password Age: É onde informamos o mínimo de dias que o usuário deve esperar para poder modificar sua senha novamente.
  • Maximum Password Age: Onde informamos a quantidade de dias máximo que o usuário pode ficar sem modificar sua senha. Caso o usuário ultrapasse o período máximo para a troca, ele só conseguirá logar após sua a troca.
  • Last Password Change: É a data em que a senha teve sua última alteração.
  • Password Expiration Warning: É onde informamos a quantidade de dias antes da expiração da senha que o usuário começará a receber o alerta para a troca da senha.
  • Password Inactive: Aqui indicamos a quantidade de dias que o usuário terá para trocar sua senha. Depois de sua expiração o login do usuário ficará bloqueado. Se o usuário não modificar sua senha dentro desse período, apenas o superusuário poderá reativar e trocar a senha do usuário.
  • Account Expiration Date: Esta opção é exatamente onde colocamos a data de expiração da conta do usuário.

Sintaxe: chage [opções] username

Opções:
  • -m <n> - Minimum Password Age, onde "n" é a quantidade mínima de dias para a troca da senha.
  • -M <n> - Máximo Password Age, onde "n" é a quantidade máxima de dias para a troca da senha.
  • -d <data> - Last Password Change, onde "data" é a data da última troca da senha.
  • -W <n> - Password Expiration Warning, onde "n" é a quantidade de dias antes da expiração da senha, em que o usuário irá começar a receber o aviso para a troca da senha.
  • -I <n> - Password Inactive, onde "n" tem que ser ao menos a quantidade de dias de senha expirada +1, isso significa se a senha esta expirada a 10 dias, temos que no mínimo colocar n=11, para a conta seja reativada e o usuário possa trocar da senha.
  • -E <data> - Account Expiration Date, onde "data" é a data de expiração da senha.

Exemplo 1: Configurando os parâmetros para expiração da senha do usuário bola.

# chage bola
Chaging the aging information for bola
Enter the new value, or press Enter for the default
Minimum Password Age [1]: 4
Maximum Password Age [1]: 30
Last Password Change (YYYY-MM-DD) [2005-11-17]:
Password Expiration Warning [1]: 8
Password Inactive [0]: 5
Account Expiration Date (YYYY-MM-DD) [2005-11-20]: 2010-05-16

Exemplo 2: Modificar o "Minimum Password Age" do usuário bola.

# chage -m 6

Exemplo 3: Modificar o "Maximum Password Age" do usuário bola.

# chage -M 35

Exemplo 4: Modificar o "Last Password Change" do usuário bola.

# chage -d 2010-04-17

Exemplo 5: Modificar o "Password Expiration Warning" do usuário bola.

# chage -W 10

Exemplo 6: Modificar o "Password Inactive" do usuário bola.

# chage -I 20

Conclusão

Gostaria de fechar este artigo dando algumas dicas referentes a importância do planejamento no gerenciamento do usuário. Sem um bom planejamento a gerência de usuários pode se tornar muito complicada, ainda mais se tivermos muitas opções. Contudo alguns pontos são comuns: Quantos usuários temos? Daqui a uns 6 meses, quantos usuários teremos? Todos os usuários precisam de shell de comando?

Bom, pense/planeje o máximo possível para que possa minimizar surpresas. Lembre-se que como todo administrador, teremos surpresas. Por isso quanto mais bem planejado, diminuímos as chances de surpresas.

Página anterior    

Páginas do artigo
   1. Gerenciamento
   2. Diretório e arquivos
   3. Gerenciando grupos e senhas
Outros artigos deste autor

Desvendando as regras de Firewall Linux Iptables

Como gerenciar permissões no Linux

Leitura recomendada

Instalação do APT no SuSE 9.3

ALSA, Debian e Intel8x0

Instalando e configurando ntfs-3g no CentOS 5.2 Linux

Debian NetInstall: instalação personalizada

Instalando Linux em notebooks que mostram DISABLING IRQ

  
Comentários
[1] Comentário enviado por andrecostall em 29/04/2010 - 09:20h

Cara parabéns pelo artigo, muito bom ;)

[2] Comentário enviado por amsouza em 29/04/2010 - 09:27h

Olá Andre,

Muito obrigado pelo comentário,

Abraços,

Armando

[3] Comentário enviado por FEd Suco em 29/04/2010 - 12:03h

Show ! !

Muito bom o artigo.

Abs.

[4] Comentário enviado por amsouza em 29/04/2010 - 12:03h

Obrigado Fed

Abraços,

Armando

[5] Comentário enviado por italo-jrjr em 01/05/2010 - 14:46h

Armando,

Muito bom o seu artigo. Como estou começando a estudar Linux, tive uma duvida no tópico " Comando groupadd". O que seria GID? Não entendi a criação de grupo especificando o GID. Para que serve?

Abraços,

Italo Barreto

[6] Comentário enviado por amsouza em 03/05/2010 - 09:28h

Olá Italo,

Vamos lá, GID é a identificação única de um grupo no Sistema. Alguns administradores, gostam de especificar o GID e até mesmo o UID. A utilização desse recurso é muito mais organizacional do que outra coisa. Por exemplo podemos citar o usuário oracle e o grupo dba.

Vamos supor que tenhamos um usuário de nome oracle (usuário administrativo para gerenciamento do banco de dados) e um grupo chamado dba (grupo que inclue os usuários que podem fazer alguma tarefa administrativa no banco). O administrador pode querer especificar, por exemplo o UID e o GID com o numero da porta em que o oracle trabalha como padrão (1521).

Espero ter esclarecido sua dúvida, abraços,

Armando

[7] Comentário enviado por alexfapa em 14/04/2011 - 23:27h

Muito bom o artigo, explicado de forma clara e objetiva.
Só tenho uma pergunta amigo: como eu faço para que os clientes possam logar nos usuários em máquinas diferentes? E ainda todas as configurações feitas em outra máquina fiquem registradas?

[8] Comentário enviado por rafaelsartori em 11/10/2011 - 09:45h

Olá,

Só para avisar ... na parte da explicação sobre o comando GROUPMOD tem uma coisa errada sobre a troca de nomes do grupo:
- Em vez de GROUPMOD está escrito GROUPADD.

Erro de digitação. Ctz.

Abraço,
Rafael

[9] Comentário enviado por lauro_4L1n3 em 24/01/2012 - 03:39h

Uma pergunta, se eu deletar a linha referente ao usuário no arquivo /etc/passwd , surtirá o mesmo efeito do userdel?

[10] Comentário enviado por armando_2000 em 24/01/2012 - 08:48h

Olá lauro_4Lin3,

Quando deletamos a linha dentro do /etc/passwd o efeito na prática é o mesmo, contudo a probabilidade de você ter em seu Sistema Operacional arquivos e diretórios sem referência (sem essa intenção) será inevitável. Você terá a linha referente a senha criptografada do usuário, dentro do /etc/shadown e ainda dependendo do grupo a que o usuário removido pertença. você terá um grupo sem utilidade dentro do /etc/group.

Ps.: espero ter respondido sua dúvida e obrigado pelo interesse.

abs,

Armando

[11] Comentário enviado por vagner007 em 13/11/2012 - 17:04h

Olá, caiu uma questão em um concurso sobre um comando para adicionar um grupo em um sistema operacional, porém o enuncionado ficou muito abrangente, ou seja, não deu pra distinguir bem.
Segue a questão:
28) É um comando para adicionar um novo grupo de usuarios no sistema:
a) grouperadd
b) addgroup
c) groupadd
d) agroup
e) addg

No gabarito preliminar, consta que a reposta correta é a alternativa B) addgroup
Lendo o post, vi que o comando groupadd existe.
Sabe me dizer se as duas opções são validas ou é apenas addgroup mesmo? A diferença entre eles, porque preciso entrar com recurso, caso as duas opções estejam corretas.
Obrigado e aguardo.

[12] Comentário enviado por amsouza em 13/11/2012 - 17:28h

Olá Vagner007,

Antes de mais nada gostaria de agradecer seu post. Bom vamos lá. O comando default no Linux para adicionar um grupo é o groupadd, mas como existe também o grupo addgroup que adiciona um grupo de forma interativa (vai perguntando algumas coisas durante a criação do group - ex.: id do grupo etc...). Por este motivo você tem que ler com atenção o enunciado da questão antes de entrar com um recurso.

Espero ter ajudado, um abraço,

Armando

[13] Comentário enviado por lauro_4L1N3 em 14/11/2012 - 01:15h

Olá,

Assim como existe o addgroup que é uma forma automatizada do groupadd, de forma análoga há também o adduser que é a forma automatizada do useradd. Dê um man addgroup e leia a descrição, verá que essas ferramentas são ferramentas "amigáveis" para as mencionadas (useradd, groupadd).

[14] Comentário enviado por Deis em 14/11/2012 - 17:35h

Olá Armando, sou leigo no assuto e preciso de uma orientação be, detalhada para a

Como que eu faço para que um programa se inicie para um determinado usuario.

Exemplo;

Eu sou o administrador do sistema; tenho mais 4 contas de usuario e quero que um programa se inicie somente para o usuario de numero 2.

Quando o adminisrador; o usuario 1,3,4 estiverem lodago este programa não sera carregado.

Somente quando o usuario de número 2 se logar esse programa se rodado.

Eu me loguei como usuario 2 e fiz as modificações no aplicativos de sessão mas quando pedia a senha de administrador o terminal reconhecia. Pedia para digitar outra vez.

Quando eu abro o terminal logado como administrador; aparece assim: ubuntu@ubuntu-desktop:~$

Quando eu abro o terminal lodado como usuario aparece assim: jeferson@ubuntu-desktop:~$

jeferson e o login de administrador.


[15] Comentário enviado por amsouza em 14/11/2012 - 19:28h

Olá Deis,

Antes de mais nada, obrigado por seu post. Vamos lá... me tira uma dúvida... você quer que esse programe inicie onde? Quando ele logar na parte gráfica ou através de um login remoto ou acesso via uma tty?

Se o que você quer é iniciar um script, por exemplo, sempre que o usuário número 2 logar via console.. é bem tranquilo, basta referenciar o script que deseja que rode no arquivo ".profile" ou ".bash_profile". Você ainda pode, se caso queira que esse usuário apenas use esse programa/script, basta colocar como shell de comandos dele a referencia para o script...

como vê, existe várias formas de se fazer uma mesma coisa, por isso preciso que você seja mais específico para que eu possa ajudá-lo.

Abs,

Armando

[16] Comentário enviado por konqueror em 27/05/2020 - 17:17h

Este artigo fez uma grande diferença no andamento do meu trabalho, estava com um problema de remoção de diretório de um usuário ftp que havia criado.
Olhando este artigo consegui resolver, muito bem explicado e explanado.
Hoje sou feliz por que trabalho com GNU/Linux, tenho pouco tempo que estou trabalhando quase 4 meses, sou analista de suporte e vou me disponibilando a ganhar prática e conhecimento pois tenho muito apreço pelo GNU/Linux. Um de meus sonhos profissional estava já desacreditado em trabalhar com GNU/Linux mas DEUS me deu esta oportunidade. *obs: desculpe o desabafo mas precisava fazer isto neste momento.
Obrigado pelo ótimo artigo e PARABÉNS.

[17] Comentário enviado por diegovazm em 12/07/2021 - 04:51h

Bom dia, eu criei um user de test com nome 'crom', depois removi o mesmo!
Quando listo a pasta /home ele continua aparecendo no sistema, mas se mando deletar novamente diz que n existe.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts