Buscar

Módulo 2 Usuarios e Grupos

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

Continue navegando