Alura > Cursos de DevOps > Cursos de Linux > Conteúdos de Linux > Primeiras aulas do curso Linux Onboarding: trabalhe com usuários, permissões e dispositivos

Linux Onboarding: trabalhe com usuários, permissões e dispositivos

Administrando usuários e grupos - Apresentação

Se você chegou até este curso de Linux Onboarding: trabalhe com usuários, permissões e dispositivos, certamente já estudou aquele início/básico que estamos fazendo nesse processo de onboarding no sistema Linux. E já aprendemos a navegar no sistema, analisar as principais estruturas, entender hierarquia de diretórios, copiar e outras coisas mais que representam o dia-a-dia da operação do sistema.

Agora nesse módulo, vamos continuar estudando da seguinte forma: já estamos trabalhando desde o módulo passado em atividades administrativas, e é o que vamos continuar fazendo agora. Entendendo criação de usuários, gerenciamento de pacote, vamos adicionar um novo disco no servidor, tarefas mais administrativas, para você poder operar o seu sistema no cotidiano.

Sou Ricardo Merces, e vamos continuar o curso. Até o próximo vídeo!

Administrando usuários e grupos - Criando usuários com useradd e adduser

Então logicamente, no terminal, no primeiro passo, vamos conectar na instância, fazer a autenticação, e, uma vez conectado, vamos prosseguir. Então, já de antemão.

Nós aprendemos no início do curso que cada usuário tem uma home área. Essa home área dos usuários fica no “/home”. Lembra na aula passada? O root é um pouco diferente. A home área do root é no “/root”. Então tem essa diferença. Dos usuários em geral ela aparece.

Esse diretório “ricardo", o da minha home área, não foi criado na manualmente, na hora que instalamos o sistema isso foi feito automaticamente quando definimos o usuário. Então está na hora de criarmos usuários novos.

Outro ponto importante é: você já percebeu que existem várias maneiras de fazer a mesma atividade, logicamente, umas com mais outras com menos parâmetros, de repente é mais legal usar uma coisa ou outra em cada situação.

Olhe a diferença desse conceito: se eu usar a ferramenta, preciso ter privilégios, lógico, useradd e colocar só assim sudo useradd ricardo2. Não vou passar nenhum parâmetro do comando useradd, vai pedir a senha de quem está executando a operação, e está lá o meu usuário criado, não retornou nada.

Isso é um jeito. Vamos usar outra ferramenta, agora, para observarmos a diferença. O legal é que é só trocar: sudo adduser ricardo3. Já apareceram algumas coisas que é legal de entendermos.

Então vamos definir a senha deste usuário. Vai pedir o nome, então “ricardo merces 3”, vou colocar 3 só como referência, vai pedir várias informações que podemos só ir selecionando "Enter".

Pronto, também criou o usuário. Olha só que interessante, o adduser nada mais é do que um script que faz várias atividades na hora de criar o usuário. Que atividades são essas? Na verdade, ele vai popular, criar, configurar tudo que precisa para começarmos a usar esse novo usuário.

O primeiro ponto, ele criou o usuário “ricardo 3”, criou um grupo chamado “ricardo 3”. Mas, “ricardo 3”, grupo “ricardo 3”, é isso mesmo? No Linux, quando criamos um usuário, é também criado, por default, um grupo com essa mesma nomenclatura do usuário.

E para entender isso de forma fácil é só pensar o seguinte: esse grupo é o grupo primário do usuário, e no Linux nós temos o grupo primário e os grupos secundários, ou em alguma documentação você vai achar como “grupos suplementares”, a mesma coisa.

O grupo primário recebe o mesmo nome, e quem são os grupos adicionais, grupos suplementares? São aqueles grupos que vamos colocando no nosso usuário. Então criei um grupo “projeto”, coloquei meu usuário, criei um grupo “dev”, coloquei o usuário, e então, como em outros sistemas operacionais, essa é a filosofia, “ricardo 3” primário e os grupos secundários.

Então o grupo primário criou e adicionou o usuário “ricardo 3” no grupo “ricardo 3”. Ele criou o meu home e depois copiou alguns arquivos para lá. Então vamos entender isso.

Dentro do home – deixe-me limpar a tela com o comando clear - ls. Ele criou o diretório ricardo 3, e quando fizemos um useradd ele não criou. Está vendo a diferença? Outro ponto importante, ele populou esse diretório, lembra que ele copiou algo? Então deixe-me ver um negócio: “ricardo 3”. Dá para entrar sim, porque o default de criação – nós vamos ver - ele permite isso.

Não tem nada? Tem sim. Isso é o que eu chamo popular o diretório. É colocar os arquivos básicos, o setup desse usuário. Lembra quando criamos o script e mexemos no .profile para colocar o script no path? Ele já fez isso. E esses arquivos ele copiou de cd /etc/skel. É exatamente aquela ação que você viu na tela, copiando os arquivos.

Então ele já faz isso tudo para nós, e, logicamente nessa hora você vai falar “Ricardo, então nunca mais na minha vida eu vou usar o useradd”, eu digo para você “não”. Eu uso bastante o useradd, em seguintes situações: scripts, eu quero criar uma quantidade de usuários, uso o useradd e vou passando as parametrizações, coloco isso num script e resolvo a minha vida.

Essa ferramenta do adduser que utilizamos agora é muito legal para você criar um, dois usuários na mão, até para você entender conceitos, porque se você recebe amanhã e depois, e está administrando um sistema, cria um lote de 80 usuários, você vai fazer assim, vai dar mais trabalho.

Com o useradd você consegue colocar num script e passar toda a parametrização, por exemplo, useradd --help. Observe: criar a home, lista dos grupos suplementares, nome ou ID do grupo primário. Eu tenho total liberdade, posso até passar uma senha padrão, então tem várias opções. Isso dentro dos scripts funcionam muito bem.

Outro ponto para visualizarmos essa questão de grupo e tudo que ele fez é o seguinte: cat /etc/passwd | grep ricardo, agora vamos usar tudo que nós aprendemos. Eu filtrei por “ricardo” exatamente para aparecer tudo o que eu criei.

E olha que legal, temos o default do sistema, e olha o que ele fez: ele criou o ponteiro para a home área, está definido a home área, tem que ser feito isso, mas ele não tinha criado o usuário. Você já sabe, porque eu não passei nenhum parâmetro. E olhe que interessante a definição do Shell que vai utilizar.

Como eu não especifiquei nada, ele vai usar esse /bin/sh. Então tudo isso nós podemos configurar, ao passo que o adduser criou o usuário, o nome identificador, a home área apontou, e já apontou também que vamos utilizar o bash. Então essas são as diferenças. Bem legal.

Outra coisa, vamos olhar os grupos. Então procurei por “ricardo” e ele me trouxe esse resultado. Tudo que tem questão de usuário nós temos um número, e você já viu isso associado. Esses números, no caso do usuário, se chamam “UID” (User IDentifier), é o identificador do usuário, ao passo que, do grupo, é o “GID” (Group IDentifier), o número que identifica o grupo. Então são esses números que aparecem.

cat/etc/group | grep ricardo

O usuário “ricardo” pertence a essa quantidade toda de grupo, o usuário “ricardo 2” só está associado ao grupo “1001”. Quem é o grupo “1001”? é o grupo primário desse usuário, “1002” é o primário do 3, e o “1000” é o primário, o próprio “1000”.

Quando nós criamos os usuários dentro do Linux, ele vai utilizar esses números, e, hoje em dia, esses números para os usuários normais começa do 1000 em diante. Os números abaixo de 1000 são para os usuários do sistema. E lembrando que o root é o ID 0.

Se você pegar um sistema com uma versão um pouco anterior, um head head, por exemplo, vai ver que o 1º usuário é o número 500, ele começava a alocar do 500 em diante, mas é um detalhe e tudo mais. É só para se você ver algum outro número, não se assustar.

Então esse é o setup inicial, e, lógico, tem muito mais coisas para aprendermos com os usuários. No próximo vídeo nós continuamos.

Administrando usuários e grupos - Adicionando grupos aos usuários

É legal vermos também o seguinte: sudo cat /etc/shadow. Está lembrando do Shell? Já comentei isso anteriormente. Vamos dar o | grep ricardo, meu usuário. Observe que o usuário 2, não tem nenhuma definição de senha, nós só criamos o usuário e não definimos a senha, ao passo que aquela ferramenta do adduser já colocou, inclusive, a senha para nós.

São os detalhes que é interessante aprendermos mais que a ferramenta, o conceito é muito importante. Criar o usuário, resumindo, significa fazer propriamente a criação do usuário, criar o grupo primário dele, atribuir o usuário ao grupo primário, definir uma senha de acesso, popular a home área dele, criar a estrutura da home área dentro do home. E isso tudo com a ferramenta nós conseguimos visualizar bem.

Mas, não fica só nisso, nós agora vamos fazer o seguinte: feito isso tudo e pensando nesse conceito de grupos suplementares, se eu estou no meu usuário e digito “groups” no terminal. O arquivo é “group” e a ferramenta é “groups”.

O “ricardo”, eu digitei “groups” e ele mostrou a quais grupos eu pertenço, e você já faz uma separação: primeiro grupo — grupo primário, os demais grupos — complementares, suplementares, como você queira chamar.

Eu posso também fazer o seguinte groups ricardo3 ou 2. Ele mostrou que só tem um grupo associado, o grupo primário dele, não os adicionei em lugar nenhum ainda.

Então vamos trabalhar o seguinte, duas coisas legais, a primeira: nós vimos, quando estudamos a questão de sudo e eu também comentei sobre o "su”. E observe só, posso digitar su - ricardo3, vai pedir a senha do “ricardo3”. Observe, já estou logado com o “ricardo3”, simples assim. Essa alternância entre os usuários é muito simples no sistema, logicamente, precisa ter a senha.

E se eu tentar fazer para o su - ricardo2, vai pedir uma senha, logicamente vai dar erro de autenticação porque não tem nada definido, como nós vimos no Shell. Estou no “ricardo3”, vou sair, exit ou logout. Voltou para o meu usuário. Agora vamos criar alguns grupos, colocar os usuários, para já prepararmos o ambiente de permissão e entender isso melhor.

Então vou fazer o seguinte: eu vou criar sudo groupadd projetos. Criei um grupo. Onde estão os grupos? cat /etc/group, encontrei o grupo "projeto" criado. Agora que tem que ter muita calma nessa hora, nós vamos colocar o usuário dentro do grupo. Então tem que prestar bastante atenção, sudo usermod -aG.

Isso é um erro que eu vejo direto. “-a” é para acrescentar e esse “G” é para que acrescentemos o usuário a grupos suplementares. Por que eu estou insistindo nesse ponto? Porque se fizer esse comando "-ag", o comando vai ser executado e vai dar um problema. Quando coloco o “g” minúsculo, estou dizendo no comando que quero trocar o grupo primário do usuário, e isso certamente vai te dar problema. Fique muito atento a isso “-aG”.

Eu coloco os grupos que eu quero que ele pertença, “dev”, vou escrevendo, por exemplo. Eu só quero colocar o “projetos”, é só colocar o sudo usermod -aG projetos ricardo3 para nós adicionarmos. Então vamos ver, não voltou nada, eu sei que dá aquele susto, aquela palpitação mais forte, será que foi? Foi. Senão vai gerar um erro.

E então? groups ricardo3. Ele já está sendo listado para nós. Então tranquilo, você já aprendeu essa questão de usuário, a questão de grupo. Então o colocamos no 3.

Nós podemos também fazer o seguinte: sudo groupadd desenvolvedores, criei um novo grupo. Eu poderia ir em sudo vi /etc/group e fazer o seguinte, nesse grupo “desenvolvedores”, eu, depois dos dois pontos, posso colocar os usuários. Eu quero que o “ricardo3” esteja nesse grupo, eu posso listar. Está vendo, tem 2 usuários. Isso, bem entre aspas, substitui o usermod -aG.

O problema é que se errar uma vírgula, errar um detalhe, vai comprometer o sistema todo. A ferramenta garante que, se você colocar uma sintaxe errada, ele vai informar e você vai refazer. É só para você entender, na verdade, onde ele mexe, e, no final das contas ele está trabalhando. Vou sair sem salvar, q!.

O “ricardo3” foi criado, grupo adicionado, e agora nós também podemos pensar o seguinte, como que eu apago? Como que eu removo o usuário/grupo? Nesse caso é simples - sudo userdel ricardo2, vamos apagar o “ricardo2” e checamos os arquivos. Vamos também dar um sudo groupdel desenvolvedores, que acabamos de criar.

Vamos checar. Vamos no “group”. A última linha já não está mais lá, cat /etc/passwd. Nosso amigo “ricardo2” sumiu, só está o “ricardo3”. Então isso é o básico, mas tem muito conceito importante. Não esqueça do “-aG”, para não dar um problema no seu sistema.

Com isso pronto, com esse entendimento, agora sim, podemos partir para o permissionamento, no próximo vídeo.

Sobre o curso Linux Onboarding: trabalhe com usuários, permissões e dispositivos

O curso Linux Onboarding: trabalhe com usuários, permissões e dispositivos possui 117 minutos de vídeos, em um total de 35 atividades. Gostou? Conheça nossos outros cursos de Linux em DevOps, ou leia nossos artigos de DevOps.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Linux acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri powered by ChatGPT

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas