Você está na página 1de 59

1

Administrando Usuários

Documento produzido pela 4Linux


Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

2
Administrando Usuários
Objetivos da Aula

Explorar arquivos de administração de usuários e grupos.

Aprender a administrar usuários, grupos e senhas de acesso.

Criar pastas departamentais.

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

Documento produzido pela 4Linux


2
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

3
3
Administrando Usuários
Contextualização da Aula

✔ O Gerente de TI solicitou à equipe de infraestrutura o gerenciamento de


usuários e grupos da empresa incluindo suas pastas departamentais.
✔ A sua meta nesta aula será aprender os comandos necessários para
criar usuários e grupos no sistema, além de adicionar usuários e pastas
conforme o seu departamento.

HandsON

Para realizar esta aula ligue as máquinas em destaque:

Documento produzido pela 4Linux


3
4
4

Explorar arquivos de Administração

Documento produzido pela 4Linux


Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

5
Explorar arquivos de Administração
Arquitetura de arquivos na criação de um usuário

/etc/passwd → Armazena as informações dos usuários.


/etc/shadow → Armazena a senha dos usuários.
/etc/group → Armazena as informações de grupos.
/etc/gshadow → Armazena as senhas dos grupos.
/etc/logins.defs → Armazena configurações default para a
criação de usuários.
/etc/skel → Armazena o conteúdo que será copiado ao home
do usuário criado.

Regras Referente ao Gerenciamento de Usuários:

Política de Senha:
Expirar a cada 30 dias, mínimo 6 caracteres;

Pastas Pessoais:
Armazenar em /srv/homes/

Conter os Diretórios: Documentos, Downloads, Imagens


Pastas Departamentais:

Armazenar em /srv/dexter/
Padrão de Nome de Usuários:

Login do Usuário: nome.sobrenome


Senha Padrão: 4linux

Documento produzido pela 4Linux


5
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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.

Documento produzido pela 4Linux


6
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

7
Explorar arquivos de Administração
Componentes do arquivo /etc/passwd

UID 0: número do usuário administrador "root"


UID Debian: UID CentOS:

1 a 999: usuários de sistema 1 a 999: usuários de sistema


1000 a 65535: usuários normais 1000 a 65535: usuários normais

GID 0: número do grupo administrador "root".


GID Debian: GID CentOS:

1 a 999: grupos de sistema 1 a 999: grupos de sistema


1000 a 65535: grupos normais 1000 a 65535: grupos normais

Registro de usuários no sistema

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”;

Documento produzido pela 4Linux


7
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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.

Documento produzido pela 4Linux


8
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

9
9
Explorar arquivos de Administração
Coletando Informações de Usuários Existentes — Etapa 1

Logue com usuário suporte, verifique os arquivos passwd e group:


1 $ sudo getent passwd
$ sudo getent group

Faça um levantamento de informações sobre o usuário suporte:


2 $ sudo id suporte
$ sudo groups suporte

Visualize informações do usuário suporte no arquivo /etc/passwd:


3
$ sudo getent passwd suporte

Storage

Descrição dos comandos

● 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.

Documento produzido pela 4Linux


9
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

10
10
Explorar arquivos de Administração
Coletando Informações de Usuários Existentes — Etapa 2

Utilize o programa finger para detalhar informações sobre o usuário:


4 $ sudo finger suporte

Utilize os comandos who e w para verificar os usuários conectados:


5 $ who
$ w

Visualize informações do usuário suporte no arquivo /etc/shadow:


6
$ sudo getent shadow suporte

Storage

Descrição dos comandos

● finger — Exibe de maneira mais formatada as informações dos usuários.


● who — Permite verificar o nome do usuário logado.
● w — Verifica todos os usuários logados na máquina.

Documento produzido pela 4Linux


10
11
11

Adicionando usuários

Documento produzido pela 4Linux


Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

12
12
Adicionando Usuários
Adicionando usuários no sistema

Para começar, verifique as opções do comando adduser e adicione o usuário dexter:


1 $ sudo adduser ­­help
$ sudo adduser dexter

Adicione um segundo usuário, defina uma senha:


2 $ sudo adduser bryan.leah
$ sudo passwd bryan.leah

Verifique se o novo usuário está presente no sistema:


3 $ sudo tail ­n 2 /etc/passwd /etc/group /etc/shadow
$ ls /home
Storage

Descrição dos comandos

● 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.

Alterações de senha com passwd

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.

Documento produzido pela 4Linux


12
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

13
13
Adicionando Usuários
Modificar contas de usuários no sistema — Etapa 1

Para começar, verifique as opções do comando adduser e adicione o usuário dexter:


1 $ ls /home
$ ls /srv/homes

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

Descrição dos comandos

● usermod — Altera informações de usuários sem precisar editar arquivos de configuração.


Prefira sempre usá-lo ao invés de editar diretamente o /etc/passwd.

Opções do comando usermod

● 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.

Outros comandos para administrar arquivos do sistema

● vipw — Edita configurações de usuários diretamente no arquivo /etc/passwd.


● vipw -s — Edita configurações de senhas dos usuários diretamente no arquivo /etc/shadow.
● vigr — Edita configurações de grupos dos usuários diretamente no arquivo /etc/group.
● vigr -s — Edita configurações de senhas de grupos dos usuários diretamente no arquivo
/etc/gshadow.

Documento produzido pela 4Linux


13
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

14
14
Adicionando Usuários
Modificar contas de usuários no sistema — Etapa 2

Aproveite e altere também a HOME do usuário bryan.leah:


3
$ sudo usermod ­m ­d /srv/homes/bryan.leah bryan.leah

Verifique se os dois usuários possuem uma nova HOME:


4 $ ls ­l /srv/homes
$ sudo tail ­n 2 /etc/passwd

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

Opções do comando usermod

● c — Altera valores do campo GECOS (Nome, Departamento, etc).

Documento produzido pela 4Linux


14
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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

Vamos padronizar a crição de três pastas para novos usuários:


2 $ sudo mkdir /etc/skel/{Documentos,Downloads,Imagens}
$ ls ­a /etc/skel

Antes de testar a padronização remova o usuário bryan.leah:


3 $ sudo userdel ­r bryan.leah
$ ls ­l /srv/homes

Storage

Descrição dos comandos

● userdel — Remove a conta de um usuários do sistema.

Opções do comando userdel

● r — Remove o diretório pessoal e spool de mensagens do usuário.

Documento produzido pela 4Linux


15
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

16
16
Adicionando Usuários
Padronizar pastas para novos usuários — Etapa 2

Adicione novamente o usuário bryan.leah definindo sua HOME para /srv/homes:


4 $ sudo adduser ­­home /srv/homes/bryan.leah bryan.leah
$ sudo passwd bryan.leah

Valide a padronização logando com o usuário bryan.leah e liste as pastas criadas:


$ su ­ bryan.leah
5 $ pwd
$ ls
$ exit

Storage

Descrição dos comandos

● 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.

Opções do comando adduser

● --home — Usa um diretório como o diretório home do utilizador. Se o diretório não existir,
ele é criado.

Documento produzido pela 4Linux


16
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

17
17
Adicionando Usuários
Definindo politicas de senhas para os usuários — Etapa 1

Verifique a política atual de senhas:


1
$ sudo chage ­l bryan.leah

Altere a política de senhas com o chage:


2 $ sudo chage ­M 30 ­m 1 bryan.leah
$ sudo chage ­l bryan.leah

Teste a alteração de senhas novamente, observe que é preciso aguardar mais tempo para
mudar a senha:
3 $ su ­ bryan.leah
$ passwd
Storage

Descrição dos comandos

● 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.

Opções do comando chage

● l — Exibe informações sobre idade da conta do usuário.


● M — Determina o intervalo que a senha irá expirar.
● m — Determina quantos dias o usuário ficará bloqueado de trocar a senha após uma troca de
senha.

Documento produzido pela 4Linux


17
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

18
18
Adicionando Usuários
Definindo politicas de senhas para os usuários — Etapa 2

Deslogue da conta do usuário antes de continuar:


4
$ exit

Verifique a data atual do sistema e altere para a data de amanhã:


5 $ date
$ sudo date DDMMYYYY

Teste novamente a alteração de senhas do usuário bryan.leah:


$ su ­ bryan.leah
6
$ passwd
$ exit
Storage

Descrição dos comandos

● date — Exibe ou defini a data e a hora do sistema.

Política de Senha da Empresa Dexter

● Mínimo de 6 caracteres.
● Senha expira de 30 em 30 dias.
● Usuário de férias, login bloqueado.

Para bloquear os usuários em férias utilize os seguintes parâmetros do comando usermod

● -L — Bloqueia o usuário (lock).


● -U — Desbloqueia o usuário (unlock).

Documento produzido pela 4Linux


18
19
19

Gerenciar pastas departamentais

Documento produzido pela 4Linux


Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

20
20
Gerenciar pastas departamentais
Adicionando usuários via script

Alterne para o usuário root e visualize o scripts add-users.sh:


1 $ su ­
# cat /opt/add­users.sh

Adicione usuários através do scripts add-users.sh:


2
# bash /opt/add­users.sh

Verifique se os usuários estão presentes no sistema, através dos seguintes comandos:


3 # getent passwd
# ls ­l /srv/homes

Storage

Shell Script add-user.sh

O script add-user.sh contem o seguinte conteúdo:

#!/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

O comando chpasswd permite definir senha na linha de comando.

Documento produzido pela 4Linux


20
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

21
21
Gerenciar pastas departamentais
Gerenciando pastas — Etapa 1

Adicione quatro grupos no sistema através dos seguintes comandos:


# groupadd diretores
1 # groupadd vendedores
# groupadd financeiro
# groupadd analistas

Verifique se os grupos estão presentes no sistema:


2 # getent group
# tail ­n 4 /etc/group

Storage

Descrição dos comandos

● groupadd — Cria grupos no sistema. Para remover um grupo use o comando groupdel
<grupo>.

Documento produzido pela 4Linux


21
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

22
22
Gerenciar pastas departamentais
Gerenciando pastas — Etapa 2

Adicione dois usuários ao grupo diretores:


3 # gpasswd ­a bryan.leah diretores
# gpasswd ­a casey.milo diretores

Para adicionar os demais usuários aos grupos, utilize o script add-to-groups.sh:


4 # cat /opt/add­to­groups.sh
# bash /opt/add­to­groups.sh

Verifique se os grupos estão presentes no sistema:


5 # getent group
# tail ­n 4 /etc/group

Storage

Descrição dos comandos

● gpasswd — Adiciona ou remove usuários de grupos. Para remover um usuário de um grupo


use o comando gpasswd -d <usuario> <grupo>.

Opções do comando gpasswd

● a — adiciona um usuário a um grupo.

Documento produzido pela 4Linux


22
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

23
Administrando Usuários
Recapitulando

Explorar arquivos de administração de usuários e grupos.

Aprender a administrar usuários, grupos e senhas de acesso.

Criar pastas departamentais.

Resumo dos comandos


Comando Descrição
pwconv Cria o arquivo /etc/shadow a partir do arquivo /etc/passwd.
pwunconv Cria o arquivo /etc/passwd a partir do arquivo /etc/shadow.
sudo Obtém 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 Lista os grupos aos quais um usuário está vinculado.
finger Exibe informações dos usuários.
who Permite verificar o nome do usuário logado.
w Verifica todos os usuários logados na máquina.
adduser/userdel Cria e remove conta de um usuário no sistema.
passwd Modifica a senha de um usuários no sistema.
usermod Altera informações de usuários.
vipw Edita configurações de usuários
vipw -s Edita configurações de senhas dos usuários.
vigr Edita configurações de grupos dos usuários.
vigr -s Edita configurações de senhas de grupos dos usuários.
su Usado para se tornar outro usuário durante uma sessão de login.
chage Configura características de senha do usuário.
date Exibe ou defini a data e a hora do sistema.
groupadd/groupdel Cria e remove grupos no sistema.
gpasswd Adiciona ou remove usuários de grupos.

Documento produzido pela 4Linux


23
24
Gerenciar Permissões

Documento produzido pela 4Linux


Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

25
Gerenciar Permissões
Objetivos da Aula

Alterar dono e grupo de arquivos e diretórios.

Gerenciar permissões no sistema.

Literal e Octal.

Gerenciar permissões especiais.

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

Documento produzido pela 4Linux


25
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

26
26
Gerenciar Permissões
Contextualização da Aula

✔ O Gerente de TI solicitou à equipe de infraestrutura a resolução de


problemas de permissões em arquivos e pastas no sistema.
✔ Seu objetivo de desempenho, será dominar os comandos necessários
para gerenciar mascaras e permissões especiais para arquivos e pastas,
afim de melhorar a segurança no sistema.

HandsON

Para realizar esta aula ligue as máquinas em destaque:

Documento produzido pela 4Linux


26
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

27

Alterar dono e grupos de arquivos e diretórios

Documento produzido pela 4Linux


27
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

28
28
Alterar dono e grupos de arquivos e diretórios
Gerenciando permissões de pastas — Etapa 1

Logue com o usuário suporte e alterne para o root:


1
$ su ­

Crie a pasta base dos departamentos da empresa, em seguida acesse a mesma:


2 # mkdir /srv/dexter
# cd /srv/dexter

Crie uma pasta para cada departamento da empresa:


3 # mkdir {Diretoria,Vendas,Financeiro,Infra}
# ls ­l

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

Altere o dono das pastas através do comando chown:


# chown bryan.leah Diretoria
4 # chown annie.dee Vendas
# chown antony.brooks Financeiro
# chown harry.rosemberg Infra

Para terminar, altere em cada pasta o grupo relacionado ao departamento da empresa:


# chgrp diretores Diretoria
# chgrp vendedores Vendas
5
# chgrp financeiro Financeiro
# chgrp analistas Infra
# ls ­l
Storage

Descrição dos comandos

● chown — Permite alterar o dono de pastas e arquivos.


● chgrp — Permite alterar o grupo dono de pastas e arquivos.

Documento produzido pela 4Linux


29
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

30
Alterar dono e grupos de arquivos e diretórios
Regras Referentes ao Gerenciamento de Arquivos

✔ Todo departamento tem acesso de Leitura e Escrita em sua pasta.


✔ Um departamento não pode acessar a pasta de outro departamento
(nem pra Leitura!!!).
✔ Todos os arquivos criados na pasta do Departamento, precisam ser do
Grupo do departamento.
✔ Um usuário não pode apagar arquivos dentro da pasta do departamento,
a não ser que ele seja o DONO do arquivo ou da pasta Departamental.
✔ O Presidente da empresa acessa todas as pastas dos Departamentos.

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

No Linux temos 3 Permissões para 3 “Pessoas”


rwx → Permissão para o Dono
r-x → Permissão para o Grupo Dono
r-x → Permissão para os Outros

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:

“-” →indicando a listagem de um arquivo comum”;


d → indicando um diretório;
l → indicando um “link” simbólico;
p → indicando um “pipe” nomeado;
s → indicando um “socket”;
c → indicando um dispositivo de caractere;
b → indicando um dispositivo de bloco.

Documento produzido pela 4Linux


31
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

32
Alterar dono e grupos de arquivos e diretórios
Permissões no Linux

“Pessoas” Operadores Permissões Octal Literal


u (user) + Leitura 4 r
g (group) - Escrita 2 w
o (others) = Execução¹ 1 x

Pastas Departamentais
Dono = Leitura, Escrita e Execução → rwx → 7
Grupo = Leitura, Escrita e Execução → rwx → 7
Outros = Nenhuma Permissão → --- →0

¹ Permissão de execução em diretório, significa entrar no diretório (cd)

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.

Documento produzido pela 4Linux


32
33
33

Resolvendo problemas com permissões

Documento produzido pela 4Linux


Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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

Crie um arquivo na pasta do seu departamento, observe não possui permissão:


$ cd /srv/dexter/Financeiro
2 $ touch relatorio.txt
touch: cannot touch ‘relatorio.txt’: Permission denied
$ exit 2° Problema

Storage

Descrição dos problemas

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.

Documento produzido pela 4Linux


34
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

35
35
Resolvendo problemas com permissões
Resolvendo permissões no Linux — Etapa 1

Acesse a pasta base dos departamentos da empresa e verifique suas permissões:


1 # cd /srv/dexter
# ls ­l

Altere as permissões das pastas através do comando chmod:


# chmod u=rwx,g=rwx,o= Diretoria
# chmod g+w,o­rx Financeiro
2
# chmod ug=rwx,o= Infra
# chmod 770 Vendas
# ls ­l

Storage

Descrição dos comandos

● 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.

Descrição das permissões

● u=rwx,g=rwx,o= — O usuário e grupo tem permissão igual(=) a leitura(r), escrita(w) e


execução(x). Outros não possui nenhuma permissão.
● g+w,o-rx — O grupo ganha(+) permissão de escrita(w). Outros perde(-) permissão de leitura(r)
e execução(x).
● ug=rwx,o= — O usuário e grupo tem permissão igual(=) a leitura(r), escrita(w) e execução(x).
Outros não possui nenhuma permissão.

Entendendo as permissões

Seguindo o conjunto de permissões, há um número que indica a quantidade de “links” simbólicos


que o arquivo ou diretório tem. Após o número de “links”, vem a indicação do usuário dono do
arquivo, seguido do grupo ao qual ele, o arquivo ou diretório, pertence.

Documento produzido pela 4Linux


35
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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

Resolução dos problemas

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:

Os parâmetros “u-rwx,g=rwx,o=” usados no slide anterior definiram o esquema de permissões. A


primeira letra indica para qual(is) usuário(s) as permissões estão sendo alteradas. Usamos a letra
“u” para indicar o próprio dono, “g” para indicar o grupo, “o” para outros e ainda a letra “a” para
indicar todos.

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.

Documento produzido pela 4Linux


36
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

37

Gerenciar umask e permissões especiais

Documento produzido pela 4Linux


37
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

38
38
Gerenciar umask e permissões especiais
Analisando permissões no Linux — Etapa 1

Logue com o usuário antony.broooks, tente realizar alterações no arquivo relatório.txt:


# su ­ antony.brooks
1 $ cd /srv/dexter/Financeiro
$ echo "Revisão" >> relatorio.txt
­bash: relatorio.txt: Permission denied 3° Problema

Antes de resolver o 3º problema, vamos aprender sobre o comando umask:


$ umask
2 $ touch teste.txt
$ mkdir pasta
$ ls ­l

Storage

Resumo das Permissões no padrão Octal

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.

Documento produzido pela 4Linux


38
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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

Liste as permissões de forma literal e retorne a conta do usuário root:


4 $ ls ­l
$ exit

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.

Cálculo da umask do Diretório:

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”.

Exemplo: Considere um umask com valor 022


Primeiro pegamos a permissão máxima para um diretório que é 777 e subtraimos do valor da
umask atual que é: 022

Logo:
777 – 022 = 755 → Este valor é a permissão do diretório a ser criado;

Regra:

Permissão Total → 777


UMASK → - 0022
Permissão Padrão Diretório → 755
Em Arquivos sai o x → - 111
Permissão Padrão Arquivos → 644

Documento produzido pela 4Linux


39
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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

Calculo de umask de arquivos

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.

Exemplo: Considere a mesma umask do exemplo anterior, 022


Primeiro pegamos a permissão máxima posśivel que é 777 e subtraímos do valor da umask atual
que é: 022

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:

Permissão Total → 777


Permissão Padrão Diretório → 770
UMASK → 007

Documento produzido pela 4Linux


40
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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/copy­umask.sh
# bash /opt/copy­umask.sh

Logue com o usuário casey.milo, para validar a configuração do umask:


# su ­ casey.milo
4 Primeira Parte do
$ umask
$ exit Problema 3 Resolvida

Storage

Resolução dos problemas

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----).

Shell Script copy-umask.sh

O script copy-umask.sh contem o seguinte conteúdo:

#!/bin/bash
for FUNCIONARIO in $(ls /srv/homes/)
do
cp -v /etc/skel/.bashrc /srv/homes/$FUNCIONARIO/
done

Documento produzido pela 4Linux


41
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

42
Gerenciar umask e permissões especiais
Permissões especiais

Permissões Octal Literal Descrição


Suid Bit 4 s Em binários, no momento, da execução
herda o “poder” do dono
Sgid Bit 2 s Em pastas, permite herança de grupos
Stick Bit 1 t Em pastas, restringe remoção de
arquivos e subpastas apenas para o
dono

No cenário da Dexter, todos os arquivos da Pasta do


Departamento deveriam ser do Grupo do Departamento.

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

Acesse a pasta base, dos departamentos da empresa, verifique suas permissões:


5 # cd /srv/dexter/
# ls ­l

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

Aplicar herança de grupos nas pastas

O “SGID bit” é geralmente atribuível a diretórios. Quando um arquivo é criado dentro de um


diretório com “SGID bit” ativado, o conteúdo gravado dentro do diretório irá herdar o grupo do
diretório e não o grupo do usuário que criou tal conteúdo.

Este “bit” especial é muito útil quando utilizamos diretórios para grupos de trabalhos e em
servidores de arquivos.

Documento produzido pela 4Linux


43
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

44
44
Gerenciar umask e permissões especiais
Validando o Acesso a Pastas e Arquivos — Etapa 1

Valide os ajustes, com o usuário fox.bennet, no acesso a pasta Vendas:


# rm ­rf /srv/dexter/Financeiro/*
1 # su ­ fox.bennett
$ cd /srv/dexter/Vendas
­bash: cd: /srv/dexter/Vendas: Permission denied

Na pasta Financeiro, crie o arquivo: relatório.txt. Verifique as permissões do grupo:


$ cd /srv/dexter/Financeiro
2 $ touch relatorio.txt
$ ls ­l
$ exit

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.

Documento produzido pela 4Linux


44
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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

Altere o arquivo relatorio.txt. Verifique se o 3º problema foi resolvido:


$ echo "Revisão" >> relatorio.txt
4 $ mkdir 2018
$ ls ­l 3° Problema - OK
$ exit

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.

Documento produzido pela 4Linux


46
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

47
Gerenciar Permissões
Recapitulando

Alterar dono e grupo de arquivos e diretórios.

Gerenciar permissões no sistema.

Literal e Octal.

Gerenciar permissões especiais.

Resumo dos comandos

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.

Documento produzido pela 4Linux


47
48
Configuração do Sudo

Documento produzido pela 4Linux


Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

49
Configuração do Sudo
Objetivos da Aula

Introdução ao SUDO.

Configurar opções do 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

Documento produzido pela 4Linux


49
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

50
50
Configuração do Sudo
Contextualização da Aula

✔ O Gerente de TI solicitou à equipe de infraestrutura uma solução para


delegar privilégios administrativos para alguns usuários.
✔ Sua meta consiste no aprendizado sobre configuração do SUDO, que
permitirá você, atender a solicitação da gerência de TI, fazendo com que
usuários comuns, executem tarefas específicas dentro do sistema de
maneira segura e controlável pelo administrador.

HandsON

Para realizar esta aula ligue as máquinas em destaque:

Documento produzido pela 4Linux


50
51
51

Introdução ao SUDO

Documento produzido pela 4Linux


Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

52
Introdução ao Sudo
Introdução

✔ Sudo: forma abreviada relacionada a substitute user (fazer


substituição do usuário) ou super user (fazer como super usuário).
✔ Comando originário do Sistema Operacional Unix.
✔ Permite a usuários comuns obter privilégios de outro usuário.
✔ Privilégios de super usuário, permitem executar tarefas específicas
no sistema de maneira segura e controlável pelo administrador.

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).

Documento produzido pela 4Linux


52
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

53
53
Introdução ao Sudo
Analisar Configuração do SUDO

Logue com o usuário suporte, mude para o usuário root:


1 $ su ­

Visualize as configurações do SUDO sem as linhas comentadas e vazias:


2 # egrep ­v '^#|^$' /etc/sudoers

Storage

Componentes do sudoers

● Defaults — Define variáveis de ambiente.


Exemplo: Defaults env_reset

● 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

● Cmnd_Alias — Define alias para grupos de comandos ou para um comando específico.


Exemplo: Cmnd_Alias WEB_CMDS = /etc/init.d/apache2

Documento produzido pela 4Linux


53
54
54

Configurando opções do SUDO

Documento produzido pela 4Linux


Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

55
55
Configurando opções do SUDO
Configurar opções do SUDO — Etapa 1

Para alterar a configuração do SUDO, execute o comando visudo:


# visudo
....
1
User_Alias DEXTER = casey.milo
Cmnd_Alias PACKAGES = /bin/rpm, /usr/bin/yum
DEXTER ALL = PACKAGES

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

Teste a execução de outros comandos que não constam na configuração do SUDO:


$ sudo ifconfig
[sudo] senha para casey.milo:
3
casey.milo não tem permissão para executar sudo em storage.
Este incidente será relatado.
$ exit

Edite novamente a configuração do SUDO, permitindo a execução de comandos sem uso


de senha:
4 # visudo
....
DEXTER ALL = (root) NOPASSWD: PACKAGES

Storage

Descrição dos comandos

● 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

Documento produzido pela 4Linux


56
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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

Descrição dos comandos

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.

Documento produzido pela 4Linux


57
Ricardo Alexandre Da Silva Prodigioso De Andrade / rapandrade@hotmail.com

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.

Configurar opções do SUDO.

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
59

Você também pode gostar