Gerenciando Usuários no Linux 002: Adicionando com useradd e Analisando os Arquivos passwd, shadow, group, gshadow

 

 

Opções do Comando useradd

Para criar usuários é sempre bom usarmos linha de comando já que os programas com interface gráfica que fazem isso têm layouts diferentes entre uma distro e outra.

É importante salientar que ao criar uma conta de usuário automaticamente é criado um grupo com o mesmo nome do usuário criado e esse grupo se torna o grupo primário desse usuário Hum?????. Exemplo, ao criar o usuário paulo automaticamente é criado o grupo paulo e o usuário paulo faz parte do grupo paulo 🙂 confuso!!!!

Opção do comando useradd:

  • -c ou –comment = Pode-se pôr um comentário ao se criar um usuário. Por exemplo
    sudo useradd -c “Joana Mariele da Silva” joana cria a conta joana e no comentário seu nome completo.
  • -d ou –home-dir = Como  em /etc/default/useradd  a variável HOME está com o valor “/home”  todo usuário terá a sua pasta dentro de /home. Ao criar  um usuário poderá mudar esse comportamento e colocar a pasta do usuário em outro local usando -d
    Exemplo,
    sudo useradd  -d /segundoHD/home   joana
    Joana não terá a pasta de seu usuário em /home mas sim em um segundo HD que ela tem em seu pc.
  • -e ou –expiredate  = uma data no formato ano-mês-dia em que a conta do usuário irá expirar. por exemplo,
    sudo useradd  -e 2020-05-25  joana
  • -f ou –inactive = Número de dias depois de expirar que o usuário irá ficar totalmente inativo. Exemplo,
    sudo useradd   -f 7  joana
    Sete dias após 25/05/2020 joana terá sua conta totalmente desativada.
  • -G ou –groups = Um usuário pode fazer parte de mais de um grupo. Ex,
    sudo useradd  -G saladeeventos,gestores,alunos  joana
    a conta joana foi criada e ela faz parte dos grupos  saladeeventos, gestores e alunos
  • -k ou –skel =  skel vem de skeleton ou esqueleto. Os arquivos da pasta /etc/skel são copiados automaticamente para a pasta do usuário quando esse for criado. Mas se  você quer que os arquivos de outra pasta =, ao invés de /etc/skel, sejam copiados é só especificar essa pasta usando a opção -k.
  • -m ou –create-home = geralmente dentro de /etc/login.defs tem a opção CREATE_HOME = yes. como está configurado com yes   ao criar um usuário esse terá sua pasta criada automaticamente dentro de /home. Mas se CREATE_HOME não estivesse configurado com yes  a pasta do usuário dentro de /home não seria criado automaticamente, a não ser que você coloque a opção -m  em useradd.
  • -M ou  –no-create-home = Não cria a pasta do usuário dentro de /home, mesmo se CREATE_HOME estiver como yes dentro de /etc/login.defs
  • -N ou –no-user-group = Não cria o grupo com o mesmo nome do usuário, mas adiciona o usuário ao grupo especificado pela opção -g ou pela variável GROUP em /etc/default/useradd
  • -o ou –non-unique  = permite atribuir um uid que já existe para um usuário.  Por exemplo, o uid do usuário root é o zero(0). Podemos criar um usuário pedro e dar a ele esse mesmo uid, assim pedro terá o mesmo “super-poder” que o root. Obs.: Isso não é recomendado!
  • -p  ou –password = Primeiro a gente cria o usuário e só depois configuramos sua senha, mas com a opção -p podemos criar o usuário e a senha ao mesmo tempo. Obs.: Essa opção não é recomendada, a senha criptografada ficará visível no terminal.
  • -r ou –system =  cria uma conta do sistema, ou seja, um usuário com uid menor que 100(ou, a depender da distro, menor que 500). A diferença é que, além do uid e gid  menores que 100, esse usuário não terá pasta criada dentro de /home e sem nenhuma informação sobre expiração de senha dentro de /etc/shadow.
  • -s ou –shell = shell é o interpretador de comandos, o mais usado é o bash. Podemos definir qual será o shell padrão para o usuário através da opção -s.  Seguindo o exemplo acima,
    sudo useradd  -s /bin/bash  joana
    acima, definimos bash como shell padrão para usuária joana, mas poderíamos colocar o diversos outros, como sh, tcsh….
  • -u ou –uid = atribui um uid ao usuário, esse uid(número) tem que ser único, a não ser que use a opção -o para atribuir  um existente

 

Criando usuário para João e observando alguns arquivos

[elder@centos65 ~]$ sudo useradd joao

Obs.: Se tentar logar com o usuário joao não irá conseguir porque joao ainda não tem senha, está bloqueado, o que é representado no arquivo /etc/shadow por dois sinais de exclamação !!. Use “sudo passwd joao” para cadastrar senha e logar.

 

Visualize a linha acrescentada ao final do arquivo /etc/passwd

[elder@centos65 ~]$ tail -n1 /etc/passwd
joao:x:1002:1002::/home/joao:/bin/bash

Uma entrada para o usuário joão foi criada e joão recebeu o
joao = nome do usuário
o x(em vermelho) = representa a senha do usuário joão, logicamente que x não é a senha mas sim um aviso de que a senha é criptografada e está dentro de /etc/shadow
1002(em verde)  = uid do usuário
1002(em laranja) = o gid
/home/joao = a sua pasta home
/bin/bash = o shell que ele usará que é o bash.

 

 


Agora a última linha em /etc/group.

[elder@centos65 ~]$ tail -n 1   /etc/group
joao:x:1002:

joao = nome do grupo
x = indica que a senha do grupo é criptografada e está dentro de /etc/gshadow
1002 = gid do grupo

 

 

 


Analisando os arquivos /etc/shadow e /etc/gshadow

[elder@centos65 ~]$ sudo tail -n 1  /etc/shadow  /etc/gshadow
==> /etc/shadow <==
joao:!!:18333:0:99999:7:::

==> /etc/gshadow <==
joao:!::

 

 

 /etc/shadow 

joao:!!:18333:0:99999:7:::

joao = nome do usuário
!! = Como acabamos de criar o usuário ele não possui senha ainda e está bloqueado, esse é o significado de !!. Apenas uma ! ou * significaria que o usuário está bloqueado ou sem senha.
18333 = última vez em que o usuário alterou a senha. Esse valor significa dias, ou seja, desde 01/01/1970 faz 18333 dias que a senha não é alterada. Confuso?? sim 🙂
0 = Número de dias em que joao poderá alterar a senha novamente. Zero significa que essa opção está desativada e ele pode mudar de senha a qualquer momento. Se tivesse um 2 ele só conseguiria mudar de senha a cada 2 dias, se tivesse um 5 ele só conseguiria a cada 5 dias e assim por diante.
99999 =  João será forçado a mudar a senha depois de 99999 dias. Esse é o número de dias depois da última alteração que uma outra alteração será requerida e obrigatória. 99999 praticamente significa que o usuário jamais será obrigado a alterar a senha.
7 = O usuário ficará recebendo alertas de que que sua senha irá expirá 7 dias antes da expiração.

Obs.: Se tentar logar com o usuário joao não irá conseguir porque joao ainda não tem senha, está bloqueado, o que é representado acima pelos dois sinais de exclamação !!. Use “sudo passwd joao” para cadastrar senha e logar.

 

 

Veja mais informações da senha de João com o comando chage -l

[elder@centos65 ~]$ sudo chage -l joao
Última mudança de senha					: Mar 12, 2020
Senha expira					: nunca
Senha inativa					: nunca
Conta expira						: nunca
Número mínimo de dias entre troca de senhas		: 0
Número máximo de dias entre troca de senhas		: 99999
Número de dias de avisos antes da expiração da senha	: 7

chage é uma abreviatura de “change age” ou “alterar tempo/idade”

 

 

 


 /etc/gshadow

joao:!::

joao = nome do grupo
! = grupo não possui senha

 

 

Criando o Usuário Marcos com mais Detalhes

 

Crie o usuário marcos

[elder@centos65 ~]$ sudo useradd -c "Marcos da Silva Sauro" -e 2020-04-21 -f 10  -G salaeventos,salaApresentacao -s /bin/sh marcos

cadastre uma senha para marcos

[elder@centos65 ~]$ sudo passwd marcos
Mudando senha para o usuário marcos.
Nova senha:
SENHA INCORRETA: é muito simples/sistemática
Redigite a nova senha:
passwd: todos os tokens de autenticações foram atualizados com sucesso.

“SENHA INCORRETA: é muito simples/sistemática”

Coloquei uma senha simples, mas é aceita por ter usado o comando passwd com sudo.

Olhe as informações com “chage -l marcos”

[elder@centos65 ~]$ sudo chage -l marcos
Última mudança de senha					: Mar 12, 2020
Senha expira					: nunca
Senha inativa					: nunca
Conta expira						: Abr 21, 2020
Número mínimo de dias entre troca de senhas		: 0
Número máximo de dias entre troca de senhas		: 99999
Número de dias de avisos antes da expiração da senha	: 7

 

Observe bem, acima em laranja,  que a opção “-e 2020-04-21” é de expiração da conta e não da senha

/etc/passwd

Use “tail  -n 1” para vermos apenas a última linha acrescentada ao arquivo

[elder@centos65 ~]$ tail -n 1 /etc/passwd
marcos:x:1003:1003:Marcos da Silva Sauro:/home/marcos:/bin/sh

Em laranja está o comentário que iserimos com a opção -c e em verde o shell que definimos com a opção -s

O grupo principal de marcos é o 1003. 1003 é o gid do grupo marcos, basta ver abaixo.

/etc/group

[elder@centos65 ~]$ tail  /etc/group
paulo:x:508:
angelica:x:509:
mariasandra:x:511:
monica:x:512:
salaeventos:x:513:maria,paulo,elder,marcos
salaApresentacao:x:514:elder,marcos
jose:x:515:
lucas:x:1001:
joao:x:1002:
marcos:x:1003:

Marcos faz parte dos grupos salaeventos, salaApresentacao e do grupo com o seu próprio nome, isto é, marcos.

 

/etc/shadow

marcos:$6$N....3lur.nf2GjEy/:18333:0:99999:7:10:18373:

$6$N….3lur.nf2GjEy  = senha criptografada do usuário. Obs.: encurtei a senha para que fique mais legível este post.
18333 = Faz 18333 dias que a senha foi alterada, levando em conta 18333 somando com 01/01/1970
0 = Essa opção não foi altera ainda: Número de dias em que joao poderá alterar a senha novamente. Zero significa que essa opção está desativada e ele pode mudar de senha a qualquer momento. Se tivesse um 2 ele só conseguiria mudar de senha a cada 2 dias, se tivesse um 5 ele só conseguiria a cada 5 dias e assim por diante.
99999 =  Essa opção não foi altera ainda: João será forçado a mudar a senha depois de 99999 dias. Esse é o número de dias depois da última alteração que uma outra alteração será requerida e obrigatória. 99999 praticamente significa que o usuário jamais será obrigado a alterar a senha.
7 = Essa opção não foi altera ainda: O usuário ficará recebendo alertas de que que sua senha irá expirá 7 dias antes da expiração.
10 =  A conta de marcos irá ficar totalmente desabilitada  10 dias após expirada.
18373 = Com “-e 2020-04-21” definimos que a senha irá expirar em 21/04/2021 ou seja, 18373 dias após 01/01/1970

 

/etc/gshadow

[elder@centos65 ~]$ sudo tail -n1  /etc/gshadow
marcos:!::

bom, acima a linha que representa o grupo marcos está sem alteração e isso é bem comum, geralmente não é alterada. Iremos alterar para aprendizado apenas.

Inserir uma senha nesse grupo marcos

[elder@centos65 ~]$ sudo gpasswd marcos
Mudando a senha para o grupo marcos
Nova Senha : 
Informe a nova senha novamente :

Veja novamente a linha do grupo marcos em /etc/gshadow

[elder@centos65 ~]$ sudo tail -n1  /etc/gshadow
marcos:$6$KNTg/gD8F./7qbQ...MhSxoUIO/::

O grupo marcos agora tem uma senha

$6$KNTg/gD8F./7qbQ…MhSxoUIO

Para que serve um grupo com senha? para pessoas que não fazem parte do grupo acessá-lo temporariamente com o comando newgpr e assim poderá acessar pastas e arquivos pertencentes ao grupo. Exemplo do comando:

[elder@centos65 ~]$ newgrp marcos
Senha :

Agora o usuário elder(em verde) faz parte do grupo marcos(em laranja). Todo arquivo que elder criar a partir desse momento passa a pertencer ao usuário elder mas também ao grupo marcos. Vamos ver?

[elder@centos65 docs]$ touch meuTextinho.txt
[elder@centos65 docs]$ touch meuTextinho02.txt
[elder@centos65 docs]$ ls -l
total 4
-rw-r--r-- 1 elder marcos  0 Mar 12 12:44 meuTextinho02.txt
-rw-r--r-- 1 elder marcos  0 Mar 12 12:44 meuTextinho.txt
-rw-rw-r-- 1 elder elder  36 Mar  6 17:25 senha.txt

Para sair do grupo basta digitar exit, pois é como se tivesse logado.

 

Pasta Home do usuário

Para finalizar, vamos olhar o que há dentro da pasta /home?

[elder@centos65 ~]$ ls /home/
andre     elder    joana  jose   marcos  mariana      monica  sales       salezio
angelica  intruso  joao   lucas  maria   mariasandra  paulo

tem a pasta do usuário marcos e dos demais usuários que foram criados no Sistema.

Essas são conhecidas também como a pasta home dos usuários. Home quer dizer lar em inglês. Alguns chamam também de pasta do perfil do usuário.

A pasta home de marcos é /home/marcos.

Por hoje é só!

Continua …..

 

Até!

Link Facebook: https://www.facebook.com/gnulinuxbr

Link WhatsApp: https://chat.whatsapp.com/LYHbESy75Q0GiORiexXKF4

Link Telegram: https://t.me/gnulinux_brasil

YouTube: https://www.youtube.com/channel/UCwyFWDqE0v7SwpZenjmzxYQ

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

One Comment to “Gerenciando Usuários no Linux 002: Adicionando com useradd e Analisando os Arquivos passwd, shadow, group, gshadow”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *