Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Administrando Usuários
2
Administrando Usuários
Objetivos da Aula
Competências da Aula
Esta aula possui conteúdo que atende os objetivos das seguintes certificações:
LPIC 1
●
Manage user and group accounts and related system files
LFCS
●
Connecting to a Server
●
Working as Root or a Local User
●
Managing Basic Linux Permissions
RHCSA
●
Managing Users and Groups
●
Understanding the Need for Users
●
Creating and Managing Users
●
Understanding User Properties
●
Understanding User Configuration Files
3
3
Administrando Usuários
Contextualização da Aula
HandsON
5
Explorar arquivos de Administração
Arquitetura de arquivos na criação de um usuário
Política de Senha:
Expirar a cada 30 dias, mínimo 6 caracteres;
Pastas Pessoais:
Armazenar em /srv/homes/
Armazenar em /srv/dexter/
Padrão de Nome de Usuários:
6
Explorar arquivos de Administração
Componentes do arquivo /etc/passwd
1ª →Login do usuário.
2ª →Senha do usuário (x representa senha no shadow).
3ª →UID – Número único que identifica o usuário no sistema.
4ª →GID – Identificação de GRUPO Primário do Usuário.
5ª →Informações adicionais do usuário (Nome, Departamento, etc).
6ª →Home – Localização do Diretório Pessoal do Usuário.
7ª →Shell Padrão que o usuário irá usar se logar no terminal.
PWCONV e PWUNCONV
Caso encontremos algum servidor GNU/Linux sem as senhas “shadow” configuradas, podemos
utilizar o comando “pwconv” para ativá-las e “pwunconv” para desativá-las.
O comando “pwconv” é usado para criar o arquivo shadow a partir do arquivo /etc/passwd ,
enquanto o comando “pwunconv” executa a operação inversa.
7
Explorar arquivos de Administração
Componentes do arquivo /etc/passwd
Quando começamos a trabalhar com usuários no sistema GNU/Linux podemos dividi-los em três
categorias:
Usuário Administrador (Super Usuário): usuário conhecido como “root” no sistema. É esse usuário
que controla todo o sistema e não possui nenhuma restrição. Mas devemos ter uma certa cautela
ao usá-lo pois com qualquer deslize podemos danificar todo o sistema;
Usuários de Sistema: são aqueles que não precisam “logar” no sistema, são utilizados para
controlar serviços. Esses usuários não devem possuir senhas nem “Shell” válida. Um exemplo
desses usuários é o “www-data” que é usado exclusivamente para controlar o servidor web
“Apache”;
8
Explorar arquivos de Administração
Componentes do arquivo /etc/shadow
1ª →Login do usuário.
2ª →Senha criptografada.
3ª →Número de dias de 01/01/1970 a última modificação.
4ª →Número de dias de senha travada para alteração.
5ª →Número de dias para expirar a senha.
6ª →Número de dias para notificar o Usuário da Expiração.
7ª →Número de dias após expiração para bloquear.
8ª →Número de dias de 01/01/1970 até expiração (-1 não expira).
9ª →Campo reservado para futuro uso.
Arquivo /etc/shadow
As senhas dos usuários ficam armazenadas no arquivo “/etc/shadow” conhecido como “senhas
sombras” (shadow passwords). As senhas ficam nele pois é um arquivo mais seguro que o
arquivo “/etc/passwd”. No arquivo “/etc/passwd” qualquer usuário poderia visualizá-las e copiá-las
para outro diretório ou máquina remota.
Já o arquivo “/etc/shadow” tem suas permissões muito mais restritas, não permitindo que ele seja
copiado e nem visualizado diretamente por um usuário comum. Isso é uma grande ajuda na
questão de segurança, pois se as senhas estivessem no próprio ”/etc/passwd” seria muito fácil
para um invasor com usuário comum, copiar esse arquivo para outro servidor e aplicar uma
ferramenta de “brute force” para quebrar as senhas.
9
9
Explorar arquivos de Administração
Coletando Informações de Usuários Existentes — Etapa 1
Storage
● sudo — Permite a usuários comuns obter privilégios de outro usuário, em geral o root.
● getent passwd — Lista todos os usuários existentes no sistema.
● getent group — Lista todos os grupos existentes no sistema.
● id — Verifica o id de um usuário e seus respectivos grupos.
● groups — Verifica quais são os grupos aos quais um usuário está vinculado.
10
10
Explorar arquivos de Administração
Coletando Informações de Usuários Existentes — Etapa 2
Storage
Adicionando usuários
12
12
Adicionando Usuários
Adicionando usuários no sistema
● adduser — Cria usuários no sistema. No Debian por padrão não aceita login com o “.” (ponto),
portanto é preciso usar a opção –force-badname.
● passwd — Modifica a senha de um usuários no sistema.
Caso esteja modificando a senha de um usuário normal, primeiro será solicitada a senha corrente
para permitir a definição de uma nova senha. Isso não acontece com o usuário “root”, que pode
definir a nova senha diretamente, tanto para ele quanto para os outros usuários.
13
13
Adicionando Usuários
Modificar contas de usuários no sistema — Etapa 1
NOTA: nas regras gerais o home dos usuários precisa estar armazenado
no /srv/homes. Por padrão o comando adduser cria o home do usuário no
/home. Vamos corrigir isso!
Crie uma nova base para os usuários em /srv/homes e altere a HOME do usuário dexter:
2 $ sudo mkdir /srv/homes
$ sudo usermod m d /srv/homes/dexter dexter
Storage
● m — Move o conteúdo do diretório pessoal para a nova localização (use somente com -d).
● d — Novo diretório de login para a nova conta de usuário.
●
14
14
Adicionando Usuários
Modificar contas de usuários no sistema — Etapa 2
Para trocar somente o nome completo do usuário, use a flag -c do comando usermod:
5 $ sudo usermod c 'Analistas Infra' suporte
$ sudo getent passwd suporte
Storage
15
15
Adicionando Usuários
Padronizar pastas para novos usuários — Etapa 1
Inicie listando as informações da pasta que padroniza conteúdos para novos usuários:
1
$ ls a /etc/skel
Storage
16
16
Adicionando Usuários
Padronizar pastas para novos usuários — Etapa 2
Storage
● su — O comando su é usado para se tornar outro usuário durante uma sessão de login.
Chamado sem um nome de usuário, o su padrão é se tornar o superusuário. A opção “-”
fornece um ambiente semelhante ao que o usuário esperaria se o usuário efetuasse login
diretamente.
● --home — Usa um diretório como o diretório home do utilizador. Se o diretório não existir,
ele é criado.
17
17
Adicionando Usuários
Definindo politicas de senhas para os usuários — Etapa 1
Teste a alteração de senhas novamente, observe que é preciso aguardar mais tempo para
mudar a senha:
3 $ su bryan.leah
$ passwd
Storage
● chage — Configura algumas características da senha, como: data de validade, data de aviso
de troca, dentre outras opções do arquivo shadow, fique atento, porque esse comando é muito
útil em seu dia a dia.
18
18
Adicionando Usuários
Definindo politicas de senhas para os usuários — Etapa 2
● Mínimo de 6 caracteres.
● Senha expira de 30 em 30 dias.
● Usuário de férias, login bloqueado.
20
20
Gerenciar pastas departamentais
Adicionando usuários via script
Storage
#!/bin/bash
adduser --home /srv/homes/casey.milo casey.milo
echo 'casey.milo:4linux' | chpasswd
adduser --home /srv/homes/annie.dee annie.dee
echo 'annie.dee:4linux' | chpasswd
adduser --home /srv/homes/grace.kenny grace.kenny
echo 'grace.kenny:4linux' | chpasswd
adduser --home /srv/homes/antony.brooks antony.brooks
echo 'antony.brooks:4linux' | chpasswd
adduser --home /srv/homes/fox.bennett fox.bennett
echo 'fox.bennett:4linux' | chpasswd
adduser --home /srv/homes/harry.rosemberg harry.rosemberg
echo 'harry.rosemberg:4linux' | chpasswd
21
21
Gerenciar pastas departamentais
Gerenciando pastas — Etapa 1
Storage
● groupadd — Cria grupos no sistema. Para remover um grupo use o comando groupdel
<grupo>.
22
22
Gerenciar pastas departamentais
Gerenciando pastas — Etapa 2
Storage
23
Administrando Usuários
Recapitulando
25
Gerenciar Permissões
Objetivos da Aula
Literal e Octal.
Competências da Aula
Esta aula possui conteúdo que atende os objetivos das seguintes certificações:
LPIC 1
●
Manage file permissions and ownership
LFCS
●
Understanding Advanced Linux Permissions
●
Managing Advanced Linux Permissions
RHCSA
●
Creating and Managing Groups
●
Understanding Group Membership
●
Managing Permissions
●
Understanding Special Permissions
●
Managing Special Permissions
26
26
Gerenciar Permissões
Contextualização da Aula
HandsON
27
28
28
Alterar dono e grupos de arquivos e diretórios
Gerenciando permissões de pastas — Etapa 1
Storage
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
28
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
29
29
Alterar dono e grupos de arquivos e diretórios
Gerenciando permissões de pastas — Etapa 2
30
Alterar dono e grupos de arquivos e diretórios
Regras Referentes ao Gerenciamento de Arquivos
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
30
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
31
Alterar dono e grupos de arquivos e diretórios
Permissões no Linux
Entendendo as permissões
Ao utilizar o comando ls com o parâmetro menos “-l” uma listagem longa é exibida, nesta listagem
o primeiro caractere pode ser:
32
Alterar dono e grupos de arquivos e diretórios
Permissões no Linux
Pastas Departamentais
Dono = Leitura, Escrita e Execução → rwx → 7
Grupo = Leitura, Escrita e Execução → rwx → 7
Outros = Nenhuma Permissão → --- →0
Entendendo as permissões
Após o primeiro carácter os próximos três conjuntos de três caracteres indicam as permissões do
usuário dono do arquivo, permissões de grupo e permissões para outros usuários.
Nesses três conjuntos, se o caractere encontrado for um “-” (hífen) significa que a permissão está
ausente, ou seja, não há a respectiva permissão. Se alguma ou todas as letras (r, w e x) forem
encontradas, indicará as permissões que o arquivo tem permissões definidas conforme a tabela
do slide acima.
34
34
Resolvendo problemas com permissões
Analisando permissões no Linux
Logue com o usuário fox.bennet do grupo financeiro, acesse a pasta outro departamento:
# su fox.bennett
1 $ cd /srv/dexter/Vendas
$ pwd 1° Problema
Storage
1° Problema:
O funcionário consegue entrar em pastas de departamentos que ele não pertence.
2° Problema:
O funcionário do departamento está sem acesso a criar arquivos.
35
35
Resolvendo problemas com permissões
Resolvendo permissões no Linux — Etapa 1
Storage
● chmod — Permite alterar as permissões do dono, grupo e outros de pastas e arquivos. Ele
pode ser usado de forma literal ou octal.
r → 4 → Leitura
w → 2 → Escrita
x → 1 → Execução um pacote.
Entendendo as permissões
36
36
Resolvendo problemas com permissões
Resolvendo permissões no Linux — Etapa 2
Logue com o usuário fox.bennet do grupo financeiro, acesse a pasta outro departamento:
# su fox.bennett
3 $ cd /srv/dexter/Vendas
bash: cd: /srv/dexter/Vendas: Permission denied 1° Problema - OK
Tente novamente criar um arquivo, na pasta de seu departamento, para validar os ajustes:
$ cd /srv/dexter/Financeiro
4 $ touch relatorio.txt
$ ls l
$ exit 2° Problema - OK
Storage
1° Problema - OK
O funcionário não acessa demais departamentos.
2° Problema - OK
O funcionário do Departamento consegue criar arquivos.
Atribuindo Permissões:
O caractere seguinte poderia ser um sinal de “=” para definir uma permissão “+” para adicionar
valores a permissão ou “-” para retirar valores da permissão.
37
38
38
Gerenciar umask e permissões especiais
Analisando permissões no Linux — Etapa 1
Storage
A sintaxe utilizada no momento em que definimos a permissão para o diretório Vendas utiliza o
formato octal. Neste caso, o parâmetro que define as permissões é composto de três números de
0 a 7, que correspondem às permissões para o usuário dono, para o grupo e para outros. Cada
número é formado pela soma das permissões atribuídas, sendo que execução vale 1, escrita vale
2 e leitura 4.
3° Problema:
Funcionários do mesmo Departamento estão sem acesso aos arquivos dos colegas.
39
39
Gerenciar umask e permissões especiais
Analisando permissões no Linux — Etapa 2
Altere o valor do umask, crie um novo arquivo e pasta para validar a alteração:
$ umask 007
3
$ touch teste2.txt
$ mkdir pasta2
Storage
Permissionamento Umask
O “umask” altera o valor da máscara de criação de arquivos e diretórios. Essa “más- cara” é
utilizada para definir o “permissionamento” padrão de um arquivo ou diretório quando ele é criado.
Para calcular a “umask” para um diretório, pegue a permissão total que um diretório pode chegar,
“777”. Subtraia “a sua umask atual”.
Logo:
777 – 022 = 755 → Este valor é a permissão do diretório a ser criado;
Regra:
40
40
Gerenciar umask e permissões especiais
Resolvendo permissões no Linux — Etapa 1
Para fixar o valor do umask, para um usuário, defina seu valor no arquivo .bashrc:
# vim /srv/homes/antony.brooks/.bashrc +$
1
....
umask 007
Para fixar o valor do umask, para novos usuários, defina seu valor no arquivo .bashrc no
diretório /etc/skel:
2 # vim /etc/skel/.bashrc +$
....
umask 007
Storage
Para calcular a “umask” para um arquivo, saiba que um arquivo não pode ser criado com
permissão de execução, por padrão, esta permissão só pode ser passada para ele manualmente.
Logo a permissão do arquivo não pode ser ímpar, porque o bit de execução vale 1.
777 – 022 = 755 → Este valor é a permissão calculado mas lembre-se: Não podemos ter
permissão de execução sobre os arquivos, sendo o valor da permissão de execução igual a 1,
subtraia 1 dos bits que sejam ímpares: 755 – 011 = 644 → Retirando os bits de execução temos
644 que é a permissão real do arquivo.
Regra:
41
41
Gerenciar umask e permissões especiais
Resolvendo permissões no Linux — Etapa 2
Utilize o script copy-umask.sh para definir o valor do umask para todos os usuários:
3 # cat /opt/copyumask.sh
# bash /opt/copyumask.sh
Storage
No cenário da Dexter, os funcionários deveriam estar gravando pastas com permissão 770
(rwxrwx---) e arquivos com permissão 660 (rw-rw----).
#!/bin/bash
for FUNCIONARIO in $(ls /srv/homes/)
do
cp -v /etc/skel/.bashrc /srv/homes/$FUNCIONARIO/
done
42
Gerenciar umask e permissões especiais
Permissões especiais
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
42
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
43
43
Gerenciar umask e permissões especiais
Resolvendo permissões no Linux — Etapa 3
Utilize o comando chmod para resolver problemas de herança de grupos nas pastas:
# chmod g+s Diretoria
4
# chmod 2770 Financeiro Infra Vendas Segunda Parte do
# ls l /srv/dexter/ Problema 3 Resolvida
Storage
Este “bit” especial é muito útil quando utilizamos diretórios para grupos de trabalhos e em
servidores de arquivos.
44
44
Gerenciar umask e permissões especiais
Validando o Acesso a Pastas e Arquivos — Etapa 1
Storage
O SGID bit
O “bit” especial para o campo de permissões do dono é o “SUID” representado por “s” ou “S”. Para
o grupo é “SGID” também representado por “s” ou “S”.
Veja que quando o arquivo ou diretório não tem permissão de execução, o “bit” especial é
representado por uma letra “S” (Upper Case), e quando possuem uma permissão de execução, o
“bit” especial é apresentado como “s” (Lower Case). O mesmo acontece com o “Sticky bit” que
veremos a seguir.
45
45
Gerenciar umask e permissões especiais
Validando o Acesso a Pastas e Arquivos — Etapa 2
Logue com outro usuário do grupo financeiro, acesse a pasta de seu departamento:
3 # su antony.brooks
$ cd /srv/dexter/Financeiro
Storage
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
45
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
46
46
Gerenciar umask e permissões especiais
Restringindo Remoção de Arquivo e Pastas
Através das permissões especiais SGID BIT e STICK BIT, faça as seguintes alterações:
# cd /srv/dexter/
# chmod o+t Diretoria
1
# chmod 3770 Financeiro (2 Sgid Bit + 1 Stick Bit)
# chmod 3770 Vendas Infra
# ls l
Logue com o usuário fox.bennet, valide a restrição para remoção de arquivos e pastas:
# su fox.bennett
2
$ cd /srv/dexter/Financeiro
$ rm rf 2018 (rm: cannot remove ‘2018’: Operation not permitted)
Storage
Stick bit
O “Sticky bit” era bastante utilizado para realizar otimizações de acesso a conteúdos, entretanto, a
partir da série 2.6 do kernel do Linux essa tarefa é realizada diretamente pelo kernel. A única
utilidade desse “bit”, atualmente, é fazer diretórios de utilização comum a todos os usuários, como
no “/tmp”.
Quando esse “bit” está ativo em um diretório, todo conteúdo criado dentro dele pertencerá ao
criador do conteúdo e por mais que ele atribua a esse conteúdo permissões totais para todos os
usuários, o único que poderá excluir o arquivo ou diretório será o próprio dono ou o “root” ou ainda
o dono do diretório que tem a permissão.
47
Gerenciar Permissões
Recapitulando
Literal e Octal.
Comando Descrição
chown Permite alterar o dono de pastas e arquivos.
chgrp Permite alterar o grupo dono de pastas e arquivos.
chmod Permite alterar as permissões do dono, grupo e outros de pastas e arquivos.
umask Altera o valor da máscara de criação de arquivos e diretórios.
49
Configuração do Sudo
Objetivos da Aula
Introdução ao SUDO.
Competências da Aula
Esta aula possui conteúdo que atende os objetivos das seguintes certificações:
LPIC 1
●
Perform security administration tasks
LFCS
●
Creating a Simple sudo Configuration
●
Using sudo to Perform Administration Tasks
RHCSA
●
Using sudo to Perform Administrator Tasks
50
50
Configuração do Sudo
Contextualização da Aula
HandsON
Introdução ao SUDO
52
Introdução ao Sudo
Introdução
Anotações
O comando sudo do sistema operacional Unix permite a usuários comuns obter privilégios de outro
usuário, em geral o super usuário, para executar tarefas específicas dentro do sistema de maneira
segura e controlável pelo administrador.
O nome é uma forma abreviada de se referir a substitute user do (fazer substituição do usuário) ou
super user do (fazer como super usuário).
53
53
Introdução ao Sudo
Analisar Configuração do SUDO
Storage
Componentes do sudoers
● User_Aliases — Define uma alias para usuários que ganham privilégios de root.
Exemplo: User_Alias ADMINS = jsmith, mikem
● Host_Aliases — Define uma alias para grupos de máquinas ou para host específico.
Exemplo: Host_Alias SERVERS = 192.168.0.1, 192.168.0.2, server1
55
55
Configurando opções do SUDO
Configurar opções do SUDO — Etapa 1
Mude para o usuário casey.milo, teste as ferramentas yum e rpm, para validar as
configurações do SUDO:
2 # su casey.milo
$ sudo yum search httpd
$ sudo rpm qa
Storage
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
55
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
56
56
Configurando opções do SUDO
Configurar opções do SUDO — Etapa 2
Storage
● visudo — Edita o arquivo /etc/sudoers e permite que o root altere o seu conteúdo. Nenhuma
verificação de consistência é feita pelo comando.
● NOPASSWD — Por padrão, o sudo exige que um usuário se autentique antes de executar um
comando. Esse comportamento pode ser modificado por meio da tag NOPASSWD
57
57
Configurando opções do SUDO
Configurar opções do SUDO — Etapa 3
Alterne o para o usuário casey.milo e teste as ferramentas yum e rpm, para validar as
configurações do SUDO:
# su casey.milo
5 $ sudo yum search httpd
$ sudo rpm qa
$ exit
Edite novamente a configuração do SUDO para permitir a execução de comandos sem uso
de senha para usuários que fazem parte do grupo financeiro:
6 # visudo
....
%financeiro ALL = (root) NOPASSWD: PACKAGES
Storage
Um User_List é composto de um ou mais nomes de usuário, IDs de usuários (prefixados com '#'),
nomes de grupos de sistemas e IDs (prefixados com '%' e '% #' respectivamente), netgroups
(prefixados com '+'), nomes e IDs de grupos não-Unix (prefixados com '%:' e '%: #',
respectivamente) e User_Aliases.
58
58
Configurando opções do SUDO
Configurar opções do SUDO — Etapa 3
Mude para um usuário do grupo financeiro, teste as ferramentas yum e rpm para
validar as configurações do SUDO:
7 # su fox.bennett
$ sudo rpm qa
$ exit
Storage
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
58
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
59
Configuração do Sudo
Recapitulando
Introdução ao SUDO.
Anotações
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
59