Bom, resumidamente, para gerenciar usuários no Linux é bem simples:
Para criar um usuário usamos useradd. No exemplo a seguir criei a usuária mariana.
[elder@centos65 ~]$ sudo useradd mariana
Para Alterar/criar a senha da usuária mariana usamos passwd
[elder@centos65 ~]$ sudo passwd mariana Mudando senha para o usuário mariana. Nova senha: Redigite a nova senha: passwd: todos os tokens de autenticações foram atualizados com sucesso.
Usamos userdel para excluirmos a usuária
[elder@centos65 ~]$ sudo userdel mariana
Prontinho, com isso já temos um passo dado e teríamos nosso sistema “gerenciado”.
Mas, o que é uma conta de usuário? Qual a importância em saber gerenciar contas? Como o sistema operacional enxerga as contas?
Veremos isso abaixo.
Então vamos para o blá blá blá…
Usuários e Grupos
Linux é um sistema multi-usuário que trabalha baseado em contas de usuários.
- Contas de usuários: São as contas de usuários que faz com que um usuário não tenha acesso indevido aos dados de outros. Faz separação também entre os programas/processos abertos pelo usuário.
É isso que faz um usuário/intruso não ter acesso aos dados de outro.
Uma explicação formal para contas de usuário seria: São estruturas de dados e procedimentos usados para identificar usuários de um computador. Essa explicação é bem formal e confusa! 🙂 - Grupos: Se a conta de usuário faz com que um usuário não tenha acesso aos dados de outro, o grupo é um meio de amenizar essa situação. Um grupo é uma forma de fazer com que um usuário tenha acesso a certos dados, pastas ou programas de outro usuário. Parece um pouco confuso, mas não é 🙂 Por exemplo, se o usuário pedro tem uma pasta e quer que a usuária joana tenha acesso, pedro pode criar um grupo e fazer com que apenas joana e ele façam parte desse grupo tendo assim, apenas eles, acesso a essa pasta.
Conta de usuário e grupo são tão importantes e relacionados um ao outro que ao criar um usuário um grupo com o mesmo nome do usuário também é criado. Por exemplo, ao criar o usuário pedro
[elder@centos65 ~]$ sudo useradd pedro
automaticamente é criado também um grupo com o nome de pedro. Então pedro é o usuário criado que faz parte do grupo pedro 🙂 Confuso novamente! Mas linux trabalha assim. O comum é o usuário possuir um grupo com o seu próprio nome.
Importância do Gerenciamento de Usuários
Por que existem contas de usuários? Por que não fazer com que o sistema abra de forma direta sem que seja necessário colocar senha? Às vezes estamos com pressa e se o computador não pedisse senha adiantaria nosso lado, não é mesmo? Sim, mas em contrapartida você estaria com uma brecha aberta para outras pessoas invadirem seu pc. Se for tomar um café e sairá da mesa do computador é melhor bloqueá-lo!
Assegurar que um usuário não tenha permissão de acesso aos arquivos de outro é fundamental e essa é a resposta fundamental para computadores empresariais e caseiros. Você estará seguro não somente de roubo de arquivos de pessoas que moram com você mas também de acesso indevido via internet, de pessoas que moram em outro continente.
Jamais usar o usuário root diretamente é um meio de segurança. Sempre usar um usuário comum e para executar comandos que requerem nível de admin devemos usar o comando sudo; pois em qualquer sistema, vírus sempre são executados com as mesmas permissões do usuário logado no momento, se o usuário logado for usuário comum sem permissão para quase tudo também o vírus executado automaticamente não terá acesso ou permissão de quase nada.
Arquivos Alterados ou Lidos pelos Comandos useradd, usermod, userdel, passwd etc.
Tudo no Linux é arquivo; sim, sempre repita isso, “tudo no linux é arquivo”. Os comandos e programas são apenas meios de alterar ou ler arquivos.
Se quiséssemos ao invés de usar os comandos poderíamos editar os arquivos diretamente, mas isso seria mais trabalhoso e com risco de alterar a estrutura do arquivo. Veja nosso link aqui para mais detalhes de como criar usuários manualmente.
Os comandos que gerenciam usuários lidam com os seguintes arquivos:
- /etc/passwd = passwd é abreviação de password ou senha em inglês. Mas sua funcção atualmente não é só lidar somente com senhas; além de senhas há diversas informações sobre o usuário.
- /etc/group = Arquivo com informações sobre grupos
- /etc/shadow = Shadow significa sombra em inglês, bom… o que sombra tem a ver com usuários eu não faço a mínima ideia. Esse arquivo guarda informações sobre senha dos usuários e outras informações, como expiração de senha e desativação.
- /etc/gshadow = informações de senha para grupos. Isso mesmo, por mais estranho que possa parecer, no linux grupos podem ter senhas para que usuários que não fazem parte do grupo possam acessar arquivos.
- /etc/default/useradd = Esse arquivo tem variáveis com valores padrões para o momento de criação de um usuário, por exemplo a variável “HOME=/home” indica que novos usuários terão a sua pasta dentro da pasta /home.
- /etc/login.defs = Dentro desse arquivo há também opções com valores padrões para a hora da criação e alteração de uma conta de usuário. Por exemplo “PASS_MIN_LEN 5” significa que o usuário a senha deverá ter no mínimo 5 caracteres.
Como o Sistema ler/Identifica os Usuários
O Sistema operacional enxerga apenas números.
Para o sistema operacional tudo são números. Se criarmos uma conta de usuário com o nome joana o sistema irá gerar um número para esse usuário. Não somente para contas de usuário mas também para grupos é gerado um número que o identifica.
- uid = user identification ou identificação do usuário
- gid = group identification ou identificação do group
o uid e gid são gerados automaticamente pelo sistema. Por exemplo, vamos criar a usuária joana
[elder@centos65 ~]$ sudo useradd joana
Olhando o arquivo /etc/passwd e filtrando com a linha que contém joana grep vemos
[elder@centos65 ~]$ cat /etc/passwd | grep joana joana:x:514:516:Joana Mariele da Silva:/home/joana:/bin/bash
514 é o uid e 516 o gid. É assim que o sistema operacional reconhecerá essa usuária.
O uid
UID e GID
Como afirmado acima, todo usuário ou grupo possui um número(uid e gid respectivamente).
Algumas distros reservam os 100 primeiros uid e gid para contas do sistema(programas). Por exemplo, usuário root é o 0(zero), ftp 14, sshd 74.
Outras distros reservam os 500 primeiros.
Não há um consentimento entre todas as distros, por exemplo, a conta daemon recebe o uid 2 no centos já no ubuntu daemon está com uid 1.
Exibindo Informações do Usuário
Comando id
Para vermos usar o comando “id” para vermos informações de identificação do nosso usuário ou de outros.
Apenas o comando id sem opções mostra informações do usuário logado no momento
[elder@centos65 ~]$ id uid=500(elder) gid=500(elder) grupos=500(elder),513(salaeventos),514(salaApresentacao)
o usuário elder tem o uid 500, gid também 500 e faz parte dos grupos elder,salaeventos e salaApresentacao
Identificação do usuário lucas
[elder@centos65 ~]$ id lucas uid=1001(lucas) gid=1001(lucas) grupos=1001(lucas)
Comando chage -l
[elder@centos65 ~]$ chage -l elder Última mudança de senha : Jun 13, 2019 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
para ver informações de outro usuário precisamos usar o sudo
[elder@centos65 ~]$ sudo chage -l lucas Última mudança de senha : Mar 11, 2020 Senha expira : nunca Senha inativa : nunca Conta expira : Mai 12, 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
Comando passwd -S
Podemos usar também o comando passwd -S
[elder@centos65 ~]$ sudo passwd -S elder elder PS 2019-06-12 0 99999 7 -1 (Definição de senha, criptografia SHA512.)
Informações do usuário lucas
[elder@centos65 ~]$ sudo passwd -S lucas lucas PS 2020-03-10 0 99999 7 -1 (Definição de senha, criptografia SHA512.)
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