Linux slogan
Visite também: BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Debian 7,
Por tropper
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Como gerenciar usuários e grupos
Linux user
amsouza
29/04/2010
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.
Por: Armando Martins de Souza
[ Hits: 75019 ]
Conceito: 10.0   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Gerenciamento

Como qualquer sistema operacional multitarefa e multiusuário, o administrador do sistema tem como grande desafio o gerenciamento de usuários e grupos. Por este motivo é importante estarmos preparados para administrá-los diretamente sem a utilização de ferramentas que facilitem isso (ex.: webmin), usando apenas os comandos básicos do sistema operacional, isso irá proporcionar a administração em qualquer distribuição.

Comandos:
  • useradd: Comando utilizado para criação de um usuário.
  • userdel: Comando utilizado para remoção de um usuário.
  • usermod: Comando usado para modificar os dados de um usuário.
  • passwd: Comando usado para definir e ou modificar a senha de um usuário.
  • groupadd: Comando usado para criar um grupo.
  • groupdel: Comando usado para remover um grupo.
  • groupmod: Comando usado para modificar os dados de um grupo.

Criando um usuário

Para que seja possível logar no sistema o usuário deverá ter um username (login) e uma senha (password). Para que isso seja possível usaremos os comandos "useradd" e "passwd". Abaixo explicarei como é a sintaxe dos comandos e suas opções:

Comando useradd

Sintaxe: useradd [opções] <username>

Opções:
  • -d - Caminho do diretório home do usuário.
  • -g - Especifica o grupo do usuário.
  • -c - Inclui um comentário referente ao usuário, tais como nome, setor, etc
  • -s - Especifica o shell de comando que o usuário irá utilizar.
  • -m - Cria o diretório home do usuário e copia os arquivos de /etc/skel/ para o home criado (diretório onde se encontram os arquivos default do usuário, futuramente iremos falar sobre ele). Em algumas distribuições não há necessidade de incluirmos essa opção para a criação do home, mas para evitarmos não o criarmos é bom acostumarmos a colocá-la na criação do usuário.
  • -p - Essa opção serve para especificarmos uma senha já criptografada para o usuário.

Ex.:

# useradd -g admin -s /bin/bash -d /home/sup1 -c "Usuário Administrativo de Suporte 1" -m sup1

No exemplo acima criamos o usuário sup1, que tem como grupo admin, usando o shell /bin/bash, o home criado foi o /home/sup1 e tem o comentário "Usuário Administrativo de Suporte 1".

Comando passwd

Sintaxe: passwd [opções] <username>

Opções:
  • -d - Permite o usuário acessar (logar) o sistema sem senha.
  • -l - Bloqueia/trava a conta do usuário. O usuário não consegue logar.
  • -u - Desbloqueia/destrava a contado usuário (bloqueado pela opção "-l").
  • -S - Mostra o status da senha do usuário.

Exemplo 1:

# passwd sup1
Chaging password for user sup1
New password: [digitar a senha]
Retype new password: [repetir a senha]

Exemplo 2: Nesse exemplo iremos travar a conta do usuário sup1.

# passwd -l sup1

Exemplo 3: Vamos agora destravar a conta do usuário sup1:

# passwd -u sup1

Comando usermod

Sintaxe: usermod [opções] <username>

Opções:
  • -d - Modifica o caminho do diretório home do usuário.
  • -g - Modifica o grupo do usuário.
  • -c - Modifica o comentário referente ao usuário.
  • -s - Modifica o Shell de comando que o usuário irá utilizar.
  • -p - Substitui a senha já criptografada do usuário.

Exemplo 1: Nesse exemplo estamos modificando o grupo e o comentário do usuário sup1 ao mesmo tempo.

# usermod -g <novoGrupo> -c "<novoComentario>" sup1

Comando userdel

Sintaxe: userdel [opções] <username>

Opções:
  • -r - Ao usarmos essa opção o diretório HOME e Mailbox do usuário será removido. É importante ter certeza ao fazer isso, pois muitas vezes é melhor remover apenas o usuário ou até mesmo suspendê-lo mantendo seus arquivos para auditoria.

Exemplo 1: Remover o usuário sem excluir seus arquivos.

# userdel sup1

Exemplo 2: Remover o usuário e seus arquivos

# userdel -r sup1

Comando groupadd

Sintaxe: groupadd [opções] <groupname>

Opção:
  • -g - Ao usarmos esta opção, podemos especificar o GID do grupo que estamos criando.

Exemplo 1: Criando um grupo chamado "administracao".

# groupadd administracao

Exemplo 2: Criando um grupo chamado oragroup e especificando o GID 1521.

# groupadd -g 1521 oragroup

Comando groupmod

Sintaxe: groupmod [opções] <groupname>

Opção:
  • -g - Ao usarmos esta opção, podemos modificar o GID do grupo.
  • -n - Para trocarmos o nome do grupo.

Exemplo 1: Modificando o GID do grupo "administracao".

# groupmod -g 666 administracao

Exemplo 2: Modificando o nome do grupo oragroup.

# groupadd -n oracle oragroup

    Próxima página >>




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

Outros artigos deste autor

Leitura recomendada

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



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.