Baixe o app para aproveitar ainda mais
Prévia do material em texto
Conteúdo do Módulo Grupos 1. Cadastrando um grupo Vamos fazer o passo a passo para criação do grupo aluno editando manualmente os arquivos e utilizando os comandos do sistema. Informações do grupo: Nome do grupo aluno GID 1000 Editando os arquivos manualmente: Editar o arquivo /etc/group e inserir as informações do grupo. Lembre-se de utilizar o comando vigr para editar o arquivo de forma a garantir sua integridade. # vigr aluno:x:1000: Colocamos o x na posição da senha porque consideramos que o sistema está configurado com shadow passwords. Agora precisamos inserir as informações do grupo no arquivo /etc/gshadow. # vigr -s aluno:!:: Utilizando os comandos do sistema: Utilizar o comando groupadd para inserir o grupo: # userdadd -g 1000 aluno 2. Exemplos de comandos que podem ser utilizados no gerenciamento de grupos Abaixo vamos apresentar alguns comandos que podem ser úteis no dia a dia de um administrador de sistemas para o gerenciamento de grupos. Definindo uma senha para o grupo coordenadores. # gpasswd coordenadores Tornando o usuário joao administrador do grupo vendas. # gpasswd -A joao vendas Adicionando o usuário jose aos membros do grupo contabilidade. # usermod -a -G contabilidade joao (apenas root) # gpasswd -a joao contabilidade (root ou usuários administradores do grupo) Removendo a usuária maria dos membros do grupo vendas # gpasswd -d maria vendas Você também pode utilizar o comando usermod com a opção -G, entretanto a lógica do comando é o oposto, ou seja, você deverá informar os grupos que o usuário será membro, por exemplo se a usuária maria é membro dos grupos maria, users e vendas o comando adequado será: # usermod -G maria,users maria Removendo o grupo estagiarios # groupdel estagiarios Usuários 1. Cadastrando um usuário Vamos demonstrar a criação da conta do usuário aluno da forma manual e utilizando os comandos do sistema. Informações da conta: Nome Aluno ESR Nome de usuário aluno UID 1000 GID do grupo primário 1000 Diretório home /home/aluno Shell /bin/bash Validade da senha 60 dias Aviso de expiração da senha 7 dias Mínimo de dias antes de trocar a senha O usuário poderá trocar a senha a qualquer momento Editando os arquivos manualmente: Primeiro vamos editar o arquivo /etc/passwd e inserir as informações da conta. Lembre-se de utilizar o comando vipw para editar o arquivo de forma a garantir sua integridade. # vipw aluno:x:1000:1000:Aluno ESR:/home/aluno:/bin/bash Colocamos o x na posição da senha porque consideramos que o sistema está configurado com shadow passwords. Em seguida vamos editar o arquivo /etc/shadow e inserir as informações da senha. Como vamos definir a senha utilizando o comando passwd preencheremos o campo do hash com o sinal “!”, o campo de validade da senha com 60 e o campo de aviso com 7 os demais serão preenchidos automaticamente. # vipw -s aluno:!::0:60:7::: Agora definiremos a senha para o usuário # passwd aluno É possível gerar o hash da senha e inseri-lo diretamente no arquivo, para isso devemos utilizar o comando abaixo: # perl -e ‘print crypt(“sua-senha”,”\$6\$salt\$”);’ Onde $6$ é o código que identifica o algoritmo de hash (SHA512) e “salt” deve ser um conjunto de até 16 caracteres. Mais detalhes sobre a função crypt podem ser obtidos acessando o manual. # man crypt O próximo passo é criar o diretório home do usuário e copiar os arquivos do diretório /etc/skel. # mkdir /home/aluno # cp -r /etc/skel/.[a-zA-Z0-9]* /home/aluno # cp -r /etc/skel/* /home/aluno Foram realizados dois comandos cp, um para copiar os arquivos e diretórios ocultos e outro para copiar os demais arquivos e diretórios. Podemos juntar esses dois comandos em um só utilizando um coringa OU na cópia. # cp -r {/etc/skel/.[a-zA-Z0-9]*,/etc/skel/*} /home/aluno Será necessário altear o dono e o grupo do diretório do usuário # chown -R aluno /home/aluno # chgrp -R aluno /home/aluno Dependendo da sua política pode ser necessário altear as permissões do diretório home do usuário. Vamos mudar a permissão para 750. # chmod 750 /home/aluno Por fim, testar a conta realizando o login com o usuário aluno. Utilizando os comandos do sistema: Executar o comando useradd com todos os parâmetros para configura a conta. # useradd -m -s /bin/bash -u 1000 -g 1000 -c “Aluno ESR” -k /etc/skel -d /home/aluno -K PASS_MAX_DAYS=60 -K PASS_MIN_DAYS=0 -K PASS_WARN_AGE=7 aluno Mesmo algumas configurações sendo a opção default optamos por especificá-las na linha de comando para demonstrar as opções do comando. A opção -K permite sobrescrever as configurações definidas no arquivo /etc/login.defs. Em seguida definiremos uma senha # passwd aluno E finalmente, testaremos a conta realizando o login no sistema. 2. Exemplos de comandos que podem ser utilizados no gerenciamento dos usuários Definindo a validade da senha do usuário joao para 120 dias. # passwd -x 120 joao Alterando o shell da usuária maria para /bin/sh. # chsh -s /bin/sh maria Adicionando o usuário joao ao grupo vendas. # usermod -a -G vendas joao Alterando a senha da usuária maria. # passwd maria Alterando o grupo primário do usuário joao para users. # usermod -g users joao Bloqueando a conta do usuário aluno # passwd -l aluno Desbloqueando a conta do usuário aluno # passwd -u aluno Excluindo uma conta e o diretório de trabalho: # userdel -r marcos 3. Realizando tarefas em lote Adicionando novas contas Imagine que você é o responsável pela migração de todas as contas dos usuários de um sistema antigo e precisará cadastrar todos os usuários no Linux, seria uma tarefa muito improdutiva ter que inserir uma a uma, o comando newusers é a solução ideal para esses casos, ele permite que você adicione ou atualize um conjunto de contas de uma única vez. O comando recebe um arquivo como argumento onde cada linha representa uma conta de usuário, as informações devem estar organizadas no mesmo formato do arquivo /etc/passwd com exceção da senha que deve estar em texto plano. # cat contas.txt conta1:senha1:2000:100:Nome Conta 1:/home/conta1:/bin/bash conta2:senha2:2001:100:Nome Conta 2:/home/conta2:/bin/bash conta3:senha3:2002:100:Nome Conta 3:/home/conta3:/bin/bash conta4:senha4:2003:100:Nome Conta 4:/home/conta4:/bin/bash Para adicionar as contas execute o comando: # newusers ./contas.txt É possível definir o algoritmo de criptografia adicionando a opção -c seguida pelo algoritmo desejado, as outras opções de configuração da senha serão definidas pelo arquivo /etc/login.defs. Atualizando a senha O comando chpasswd permite atualizar a senha de um conjunto de contas de uma única vez de forma interativa, ou seja, executa-se o comando e em seguida inserimos o login e a senha dos usuários no formato abaixo, após a última combinação de login e senha desejada basta pressionar CTRL+D para encerrar o comando. O tipo de criptografia que será utilizado é o que está definido no arquivo /etc/login.defs e pode ser sobrescrito com o parâmetro -c seguido do algoritmo desejado (DES, MD5, SHA256 ou SHA512). # chpasswd nome_usuario:senha Para agilizar o processo podemos criar um arquivo com todos os nomes de usuário e suas respectivas senhas e utilizá-lo para alterar todas as contas de uma única vez. Abaixo segue um arquivo com 5 contas e suas respectivas senhas em texto claro. # cat senhas.txt joao:senha123 maria:senha123 jose:senha123 marcos:senha123 felipe:senha123 Agora vamos direcionar a saída do comando cat para o comando chpasswd. # cat senhas | chpasswd -c SHA512
Compartilhar