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.796 ]

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


Diretório e arquivos



Diretório:
  • /etc/skel - Neste diretório são armazenados arquivos, por padrão ocultos (arquivos que iniciam com um ".") , que são copiados para o diretório HOME do usuário no momento da criação do usuário. Se precisarmos incluir alguma configuração padrão, podemos usar esse diretório para incluir ou até mesmo editar os arquivos existentes e consequentemente fazer o ajuste a suas necessidades.

Arquivos:
  • /etc/passwd - Arquivo que contém várias informações sobre o usuário. Ele é utilizado por vários comandos de sistema e aplicações. Antigamente até mesmo as senhas eram armazenadas nele, porém a algum tempo as senhas estão sendo armazenadas em /etc/shadow, arquivo que falaremos a seguir. Só o administrador do sistema consegue modificar esse arquivo.
  • /etc/shadow - Onde estão armazenadas as senhas criptografadas dos usuários, além de outras informações como expiração da senha etc.
  • /etc/gshadow - Tem a mesma finalidade do /etc/shadow, só que para grupos e não usuários.
  • /etc/group - É onde se encontram os grupos existentes no sistema. Cada grupo pode estar associado a vários usuários, este arquivo também é responsável por esta associação.
  • /etc/motd - Esse arquivo contém as informações que serão exibidas após o login do usuário.
  • /etc/default/useradd e /etc/login.defs - Arquivos onde se encontram as configurações default de criação de usuários. As configurações podem ser diferentes dependendo de cada "distro", umas por exemplo, não há a necessidade da opção "-m" para a criação do diretório HOME do usuário.

Página anterior     Próxima página

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

Instalando o poderoso gerenciador de redes Nagios 3.0 com Apache2

OpenSUSE Internet Installation

Instalando o VMWare Server no Ubuntu 7.04 (e/ou similares)

Instalando e configurando openVPN no Debian Lenny

Bluetooth descomplicado em notebook Toshiba / HP

  
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