1 prof. joão paulo de brito gonçalves gerenciamento de usuários prof. joão paulo de brito...
TRANSCRIPT
1
Prof. João Paulo de Brito Gonçalves
Gerenciamento de Usuários
Prof. João Paulo de Brito Gonçalves
Campus - CachoeiroCurso Técnico de Informática
2
Conceito de Usuário– O Linux é um sistema multiusuário desde seu nascimento e
o acesso simultâneo de várias pessoas é algo rotineiro em qualquer servidor de médio porte. Há desde sistemas com 10 usuários até grandes empresas com 10 mil usuários ou mais, e é o técnico que deve gerenciar todos eles.
– As tarefas básicas no gerenciamento de usuário são:– Preparação e configuração do ambiente.– Criar a conta do usuário e definir uma senha.– Alterar a senha do usuário.– Remover a conta do usuário.– Definir as políticas de uso da conta e previnir abusos.
3
Gerência de usuáriosGerência de usuários
Classes de usuários diferentes:
Administrador
- Acesso irrestrito a arquivos
- Possibilidade de configuração de periféricos
- Instalação e desinstalação de programas
Usuário limitado
- Acesso apenas aos arquivos de sua sessão
- Possibilidade de usar os programas instalados mas restrição em relação a instalação dos mesmos.
4
Política de senhasPolítica de senhas- Permite a autenticação de usuários do sistema
- Ainda é o meio mais comum de proteção a recursos do
computador.
- Ideal que misture caracteres numéricos e alfa-numéricos
para que seja mais difícil de decifrar.
5
Controle de Acesso
Subsistema de Autorização
Política deSegurança
Pedido deAcesso
Autenticação
Negado
Permitido
Requer modificação no pedido
Administração de usuários, grupos, papéis níveis de
segurança
Gerenciamento de contas de usuários e grupos locais
Conta de Usuário
- Uma conta pode ser vista como uma entidade a nível do sistema operacional que armazena informações do tipo:
- nome do usuário;
- identificador do usuário no sistema;
- grupo (ou equipe) do usuário;
- diretório pessoal do usuário (onde ele armazena suas informações);
- interpretador de comandos que o usuário utiliza;
- credenciais ou senhas do usuário;
- permissões do usuário.
Gerenciamento de contas de usuários e grupos locais
- Essas informações vão indicar ao sistema operacional como o usuário deve ser tratado durante o uso da estação.
- Obviamente, cada sistema operacional irá tratar esses dados de uma forma particular. Ainda: alguns sistemas operacionais (como o Linux) irão permitir que esses dados possam ser armazenados e obtidos de diversas maneiras.
- Assim, uma conta é a maneira com a qual o usuário é reconhecido pelo sistema. Em um banco, por exemplo, o cliente é identificado pelo número de sua conta corrente (seu identificador no sistema) e sua senha (sua credencial no sistema).
- Em um sistema multiusuário, é óbvio que uma estratégia parecida tem que ser adotada. Em Unix, o usuário é identificado pelos seguintes dados:
Gerenciamento de contas de usuários e grupos locais
- Username ou Login
- Senha (Password)
- ID ou UID (User Identification)
- GID (Group Identification)
- Dados do Usuário
- Diretório Pessoal
- Interpretador de Comandos (Shell)
- O comando adduser é com certeza o mais interessante entre os programas disponíveis para a criação de usuários.
- Sua maior vantagem é obter todos os dados necessários à criação do usuário através de parâmetros o que facilita imensamente a criação de usuários em scripts.
- O comando adduser também copia o conteúdo do diretório /etc/skel. Este diretório é usado para manter e configurar arquivos que se pretenda copiar para o diretório pessoal de um usuário recém-criado.
- A remoção das informações do usuário nos arquivos /etc/passwd, /etc/shadow e /etc/group pode ser feita com o comando userdel.
Criação de usuários
O ARQUIVO /ETC/PASSWD
A maioria dos sistemas Unix armazena os dados do usuário no arquivo /etc/passwd. A Figura abaixo mostra uma linha desse arquivo. Pode ser verificado, nessa figura, que os dados do usuário são separados por ‘:’.
• O primeiro campo do arquivo /etc/passwd é o login do usuário.• O segundo campo do arquivo /etc/passwd é a senha do usuário. Apesar do que se diz comumente, a senha do usuário não é criptografada, e sim codificada (hashed). No arquivo /etc/shadow, são listados os hashes de senha dos usuários.
O arquivo /etc/PASSWD- O terceiro e o quarto campos do arquivo /etc/passwd são,
respectivamente, o UID (número de usuário – User ID) e o GID (número de grupo – Group ID). São usados, principalmente, para identificar o usuário no sistema e controlar as permissões individuais e grupais desse usuário.
- O quinto campo do /etc/passwd é o campo de dados do usuário, comentado anteriormente. Em várias situações, contém apenas o nome do usuário.
- Quando contém outras informações, essas entradas são separadas por vírgulas. Apesar de poder armazenar qualquer coisa, o aplicativo finger espera que as informações do usuário estejam na seguinte ordem:
O arquivo /etc/PASSWD• nome completo;
• localização do escritório;
• telefone do escritório;
• número de telefone residencial.
- Os dois últimos campos informam, respectivamente, o diretório pessoal e o interpretador de comandos do usuário.
- Em geral, o diretório pessoal encontra-se em algum ponto na árvore do /home. Os interpretadores de comandos mais utilizados são o bash (/bin/bash) e o tcsh (/bin/tcsh).
O arquivo /etc/PASSWD- Existem vários aplicativos para trocar a senha, mas o
mais usado é o comando passwd.
- Chamado em sua forma tradicional, sem nenhuma opção, ele irá permitir a troca da senha do usuário que invocou o comando. Para isso, ele pedirá a senha atual do usuário.
- Caso a senha confira, ele pedirá que o usuário digite duas vezes a senha pretendida. Ele só alterará a senha, caso a senha pretendida seja digitada da mesma forma nas duas tentativas.
O arquivo /etc/shadow- Esse arquivo só pode ser lido pelo usuário root, que detém os poderes administrativos sobre o sistema.
- Como o arquivo /etc/passwd, esse arquivo possui campos separados por “:”
• O primeiro campo é o login do usuário, tal qual como no arquivo /etc/passwd. Na realidade essa é a única ligação entre os dois arquivos. O segundo campo é a senha codificada.• O terceiro campo é usado para calcular o dia em que a senha foi alterada pela última vez. Para ser mais exato, ele informa quantos dias se passaram entre 1º de Janeiro de 1970 e a data da última alteração da senha. Pode ser configurado com a opção –d.
O arquivo /etc/shadow- O quarto campo é, sob o ponto de vista da segurança,
praticamente inútil: ele indica o número mínimo de dias para que um usuário altere sua senha. Isso pode ser altamente perigoso, caso o usuário tenha sua senha alterada por terceiros. Pode ser configurado usando –m.
- Esse campo só faz sentido em contas com as quais não se quer mudança de senha antes de um dado prazo, ex.: contas administrativas e de sistemas. Caso contrário, deve ser deixado em branco ou com o valor ‘0’.
- O quinto campo é exatamente o inverso do anterior: indica o número máximo de dias que o usuário pode ficar sem alterar a senha. Pode ser configurado com o parâmetro –M.
O arquivo /etc/shadow- Apesar de que as regras para uma boa segurança apontam para
a necessidade de se trocar as senhas após um dado período, essa técnica não é, em geral, recomendada.
- Isso porque obrigar o usuário a alterar sua senha constantemente pode forçá-lo a reaproveitar senhas antigas ou anotar a nova senha e isso retiraria toda a vantagem do processo. O uso de “99999” nesse campo indica que as senhas nunca “caducam”.
- Ainda assim, caso o administrador resolva fazer uso desse recurso de “caducidade de senhas”, ele irá fazer uso do sexto campo. Esse campo indica quantos dias antes do prazo fatal para a alteração da senha o usuário deva começar a ser avisado pelo programa de login. Isso pode ser feito através do parâmetro –W.
O arquivo /etc/shadow- Outra alternativa é utilizar o sétimo campo. Esse campo informa
quantos dias após a expiração da senha o sistema deva considerar a conta desabilitada. Pode ser configurado com o parâmetro -I
- Caso se pretenda utilizar o quinto campo para desabilitar um usuário, esse uso é incorreto.
- O oitavo campo indica justamente quando o usuário deve ser desabilitado. Da mesma forma que no terceiro campo, ele informa o número de dias entre 1º de Janeiro de 1970 e a data da desabilitação da conta. Esta opção é configurável usando o parâmetro –E.
- Para simplificar o processo de alteração da informações do terceiro ao oitavo campo do arquivo /etc/shadow, geralmente se faz uso do comando chage. Quando chamado com a opção ‘-l’, informa os dados do usuário.
- O uso do comando chage usuario, faz com que o comando chage seja chamado de forma interativa, possibilitando a mudança de informações sobre a senha do usuário.
GRUPOS DE USUÁRIOS
- Cada usuário UNIX pertence ao menos a um grupo, associado a ele no momento do login.
- Mas é possível que um mesmo usuário pertença a vários grupos. Em alguns casos, é criado um grupo distinto para cada usuário. Isso é interessante em ambientes onde a privacidade deva ser mantida ao máximo.
- Em outros casos, como ambientes acadêmicos, colocam-se usuários com um mesmo perfil (ex.: alunos de uma mesma turma) em um único grupo.
- O grupo primário de um usuário é o grupo no qual ele é inserido quando é criado. O grupo secundário é um grupo onde ele é inserido posteriormente, já fazendo parte de um outro grupo, que é o seu grupo primário.
• Pode ser verificado que cada entrada no arquivo /etc/group é composta de quatro campos. • O primeiro campo é o nome do grupo. Esse nome deve ser criadode acordo com a mesma filosofia de escolha do login do usuário. • O segundo campo é a senha do grupo, raramente utilizada com finalidades práticas. • O terceiro campo é o GID do grupo. O quarto e último campo são os usuários extras do grupo.
Grupos de Usuários
Para adicionar usuários a grupos já existentes é possível utilizar tanto o comando:
adduser usuario grupo ou
addgroup usuario grupo
• Desde que usuário e grupo já tenham sido anteriormente criados.
• Para criar um usuário e inserí-lo a um grupo já existente, pode–se usar:
• adduser usuario --ingroup grupo
• Após a inserção, é possível verificar a modificação no arquivo /etc/group ou utilizando-se o comando groups
Grupos de Usuários
Grupos de usuários- Um grupo pode ser removido com a edição direta
do arquivo /etc/group ou através do comando groupdel.
- Essa última opção é preferida, pois impedirá o administrador de remover um grupo que ainda possua usuários tendo esse grupo como padrão (o definido no arquivo /etc/passwd).
- As informações básicas dos usuários que são cadastradas quando da criação do usuário podem ser recuperadas com o uso do comando finger e modificadas com o comando chfn
22
Gerência de usuáriosGerência de usuários- Por padrão, o sistema já possui o grupo admin ou
sudo como habilitado a utilizar o sudo com senha.
- Deste grupo faz o usuário que foi criado quando o sistema Linux foi instalado, ou seja, o primeiro usuário do sistema, geralmente com UID 1000.
- A princípio então, se nenhuma modificação for realizada este é o único usuário que tem poderes para se tornar root.
- É possível adicionar outros usuários a este grupo, ou colocar outros grupos de usuário no arquivo com os mesmos poderes.
23
Comando chownComando chown
• O comando chown (change owner) permite trocar o usuário proprietário do arquivo e, opcionamente, o grupo do arquivo. Em Linux, esse comando só pode ser executado pelo usuário root.
• Dentre as opções disponíveis, merece destaque o parâmetro ‘-R’, que faz a troca recursivamente em todos os arquivos e subdiretórios de um diretório especificado.
24
Comando chgrpComando chgrp
• Age de forma similar ao chown, mas permite a troca apenas do grupo proprietário do arquivo.
• Caso não esteja sendo usado para mudança a um outro grupo ao qual o usuário também faça parte, o comando só pode ser executado pelo root para realizar a troca dos grupos.
• Dentre as diversas opções disponíveis, merece destaque o parâmetro ‘-R’ que faz a troca recursiva em todos os arquivos e subdiretórios localizados abaixo do diretório especificado.