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
One Comment to “Gerenciando Usuários no Linux 002: Adicionando com useradd e Analisando os Arquivos passwd, shadow, group, gshadow”