ARC60808-2014-1

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Professor: Odilson Tadeu Valle
Encontros: 2ª feira, 3ª feira e 6ª feira entre 7h30 às 9h20 turma B e 9h40 às 11h30 turma A
Atendimento paralelo: 4ª feira das 14h20 às 16h20. Local: Lab. de Desenvolvimento.

Referências bibliográficas

Cronograma de Atividades

Semestre 2014-1
Aula Data Horas Conteúdo Recursos
1 10/2 2 Apresentação da Disciplina Sala de Aula, projetor multimídia, wiki
2 11/2 2 Início da revisão: conceitos básicos em Linux. Notas de aula passadas no quadro, discussão sobre os tópicos, exemplos e dúvidas -roteiro 1 geradas. Sala de Aula/Lab, Projetor Multimídia, máquinas virtuais
3 14/2 2 Continuação da revisão: apresentação no quadro dos comandos básicos e exemplos didáticos; realização do roteiro prático 01, e correção com toda a turma do roteiro. Lab, Projetor multimídia, máquinas virtuais
4 17/2 2 Continuação da revisão: apresentação no quadro dos comandos básicos e exemplos didáticos; realização do roteiro prático 01, e correção com toda a turma do roteiro. Lab, Projetor multimídia, máquinas virtuais
5 18/2 2 Continuação da revisão: apresentação no quadro dos comandos básicos e exemplos didáticos; realização do roteiro prático 01, e correção com toda a turma do roteiro. Lab, Projetor multimídia, máquinas virtuais
6 21/2 2 Continuação de Shell: estruturas de teste no Shell (if, for e while). Principais expressões para a realização de testes. Realização do roteiro prático 04, para fixação do conteúdo. Lab, Projetor multimídia, máquinas virtuais
7 24/2 2 Editor VI e novos comandos do Linux. Realização do roteiro prático 02, e correção com toda a turma. lab, Projetor multimídia, máquinas virtuais
8 25/2 2 Introdução ao Shell: definição de variáveis, manipulação de parâmetros, comandos úteis para o script shell. Realização do roteiro prático 03 para fixação do conteúdo. lab, Projetor multimídia, máquinas virtuais
9 28/2 2 Continuação de Shell: estruturas de teste no Shell (if, for e while). Principais expressões para a realização de testes. Realização do roteiro prático 04, para fixação do conteúdo. lab, Projetor multimídia, máquinas virtuais
10 7/3 2 Desenvolvimento de shell scripts. Roteiro 04 lab, Projetor multimídia, máquinas virtuais
11 10/3 2 Exercícios: revisão e esclarecimento de dúvidas para a primeira avaliação. lab, Projetor multimídia, máquinas virtuais
12 11/3 2 Avaliação 1 lab, Projetor multimídia, máquinas virtuais
13 14/3 2 Entrega e Correção da Avaliação. Administração de usuários e grupos. Realização do roteiro prático 05. lab, Projetor multimídia, máquinas virtuais
14 17/3 2 Administração de usuários e grupos. Realização do roteiro prático 05. lab, Projetor multimídia, máquinas virtuais
15 18/3 2 Permissão de acesso à arquivos. Realização do roteiro prático 06 para fixação do conteúdo. lab, Projetor multimídia, máquinas virtuais
16 21/3 2 Instalação de Programas. Realização do roteiro prático 07 para fixação do conteúdo. lab, Projetor multimídia, máquinas virtuais
17 24/3 2 Sistemas de Arquivos. Roteiro prático 08. lab, Projetor multimídia, máquinas virtuais
18 25/3 2 Instalação de Máquina Virtual - roteiro prático 09. lab, Projetor multimídia, máquinas virtuais
19 28/3 2 Cotas em disco para usuários e grupos. Roteiro prático 10. lab, Projetor multimídia, máquinas virtuais
20 7/4 2 Exercícios: revisão e esclarecimento de dúvidas sobre administração de usuários e grupos, permissões de acesso, instalação de programas, sistemas de arquivos e cotas em disco. lab, Projetor multimídia, máquinas virtuais
21 8/4 2 Agendamento de tarefas. Roteiro prático 11. Lab, Projetor multimídia, máquinas virtuais
22 11/4 2 Arquivos de Registro (logs). Roteiro prático 12. lab, Projetor multimídia, máquinas virtuais
23 14/4 2 Políticas de Backup. Roteiro prático 13. lab, Projetor multimídia, máquinas virtuais
24 15/4 2 Continuação de Políticas de Backup. Roteiro prático 13. lab, Projetor multimídia, máquinas virtuais
25 22/4 2 Configurar interface de rede. Inicialização do roteiro prático 14. lab, Projetor multimídia, máquinas virtuais
26 25/4 2 Configuração de sub-redes. Inicialização do roteiro prático 14. lab, Projetor multimídia, máquinas virtuais
27 28/4 2 Ferramenta de Captura de Pacotes (tcpdump). Inicialização do roteiro prático 16. lab, Projetor multimídia, máquinas virtuais
28 29/4 2 Ferramenta de Captura de Pacotes (Wireshark). Inicialização do roteiro prático 16. lab, Projetor multimídia, máquinas virtuais
29 5/5 2 NAT. Inicialização do roteiro prático 17. lab, Projetor multimídia, máquinas virtuais
30 6/5 2 Exercícios. Revisão antes da avaliação e esclarecimento de dúvidas. lab, Projetor multimídia, máquinas virtuais
31 9/5 2 Avaliação 2. lab, Projetor multimídia, máquinas virtuais
32 12/5 2 Entrega e Correção da Avaliação. DNS. Inicialização do roteiro prático 18. lab, Projetor multimídia, máquinas virtuais
33 13/5 2 DNS. Inicialização do roteiro prático 18. lab, Projetor multimídia, máquinas virtuais
34 16/5 2 Servidor web (Apache). Inicialização do roteiro prático 19. lab, Projetor multimídia, máquinas virtuais
35 19/5 2 Servidor web (Apache). Inicialização do roteiro prático 19. lab, Projetor multimídia, máquinas virtuais
36 20/5 2 Servidor correio eletrônico (Postfix). Inicialização do roteiro prático 20. lab, Projetor multimídia, máquinas virtuais
37 23/5 2 Servidor correio eletrônico (Postfix). Inicialização do roteiro prático 20. lab, Projetor multimídia, máquinas virtuais
38 26/5 2 Servidor correio eletrônico (Postfix). Inicialização do roteiro prático 20. lab, Projetor multimídia, máquinas virtuais
39 27/5 2 Servidor de compartilhamento de Arquivos FTP. Inicialização de roteiro prático 21. lab, Projetor multimídia, máquinas virtuais
40 30/5 2 Servidores de compartilhamento de arquivos (SMB – Server Message Block e NFS – Network File System) – Roteiro Prático 22 lab, Projetor multimídia, máquinas virtuais
21 2/6 2 Servidor de acesso remoto SSH. Inicialização de roteiro prático 22. Lab, Projetor multimídia, máquinas virtuais
22 3/6 2 Servidores de compartilhamento de arquivos (SMB – Server Message Block e NFS – Network File System) – Roteiro Prático 23 lab, Projetor multimídia, máquinas virtuais
23 6/6 2 Exercícios. Revisão antes da avaliação e esclarecimento de dúvidas. lab, Projetor multimídia, máquinas virtuais
24 9/6 2 Avaliação 3. lab, Projetor multimídia, máquinas virtuais
25 10/6 2 Entrega e Correção da Avaliação. Seridor DHCP – Roteiro prático 24. lab, Projetor multimídia, máquinas virtuais
26 13/6 2 Seridor DHCP – Roteiro prático 24. lab, Projetor multimídia, máquinas virtuais
27 16/6 2 Serviços: FTP, SSH, DenyHosts – Roteiro 25. lab, Projetor multimídia, máquinas virtuais
28 17/6 2 Serviços: FTP, SSH, DenyHosts – Roteiro 25. lab, Projetor multimídia, máquinas virtuais
29 23/6 2 Servidor Squid – Roteiro 26. lab, Projetor multimídia, máquinas virtuais
30 24/6 2 Servidor Squid – Roteiro 26. lab, Projetor multimídia, máquinas virtuais
31 27/6 2 Firewall, Iptables – Roteiro 27. lab, Projetor multimídia, máquinas virtuais
32 30/6 2 Firewall, Iptables – Roteiro 27. lab, Projetor multimídia, máquinas virtuais
33 1/7 2 VPN – Roteiro 28. lab, Projetor multimídia, máquinas virtuais
34 2/7 2 VPN – Roteiro 28. lab, Projetor multimídia, máquinas virtuais
35 4/7 2 Exercícios. Revisão antes da avaliação e esclarecimento de dúvidas. lab, Projetor multimídia, máquinas virtuais
36 7/7 2 Avaliação 4. lab, Projetor multimídia, máquinas virtuais
37 8/7 2 Recuperação de Conteúdo e dúvidas. lab, Projetor multimídia, máquinas virtuais
38 11/7 2 Reavaliação. lab, Projetor multimídia, máquinas virtuais
TOTAL 80

Aula 01 (10/02): Apresentação da Disciplina

Sequência
  1. Auto apresentação
  2. Apresentação da Wiki
  3. Divisão da turma -- A e B
  4. Apresentação do modelo de aulas a ser adotado -- laboratório
  5. Visão geral de Gerência de Redes
    1. Ementa da disciplina
    2. Ementa detalhada
    3. Explanar os três blocos da disciplina: servidor, serviços, segurança e monitoramento de redes
  6. Avaliação
    1. Teórica
    2. Prática
    3. Recuperação de conteúdo e reavaliações
  7. Relação com outras disciplinas do curso
  8. Conceituação das máquinas virtuais e seu uso
    1. Motivo de uso no laboratório
  9. Recapitulação do processo de boot

Aula 02 (11/02): Introdução ao Linux

(Visao_Geral_do_Linux)


Aula 02,03,04 (11,14,17/02): Comandos Básicos

(Roteiro01); Material Auxiliar (Comandos básicos 01) (Comandos básicos 02 )

Aula 05 (18/02/2014): Gabarito do Roteiro 01

(gabarito_roteiro01)

Aula 06 (21/02/2014): Editor VI

(Editor vi)Roteiro02

Gabarito Roteiro 02


1 vi poema.txt
editar texto
ESC :wq ==> salva e sai
2 cp poema.txt editadoPoema.txt
3 ESC :q
4 ESC :q!
5 ESC 20yy ==> copia 20 linhas
ESC G ==> vai ao final do arquivo
ESC p ==> cola o texto
6  ESC 2dd ==> apaga 2 linhas
ESC u ==> desfaz (undo) o último comando
ESC wq!
7 ESC 9dd
ESC wq!
8 ESC /sonhos
9 ESC :s/produzem/geram
10 ESC :%s/digno/DIGNO/g
11 ESC 30yy
ESC p
ESC p
ESC p
ESC wq
12 grep sonhos editadoPoema.txt | wc -l
13 head editadoPoema.txt
14 tail editadoPoema.txt
15 sed 's/disciplina/DISCIPLINA/g'
Não
sed -i 's/disciplina/DISCIPLINA/g'
Sim
16 sort editadoPoema.txt > poemaOrdenado.txt
17 wc -l poemaOrdenado.txt
18 vi editadoPoema.txt
ESC :r poemaOrdenado.txt
19 vi poema.txt
ESC w outroNome.txt

Aula 07 (24/02/2014): Lógica de Programação

Introdução à Lógica de Programação Introdução ao Shell (Slides Prof. Gustavo Introdução ao Shell, Slides Prof. Glauco Introdução ao Shell). (Roteiro 03)

Aula 08 (25/02/2014): Shell Script

(Roteiro 03)(Roteiro 04).

Aula 09 (28/02/2014): Correção roteiros 03 e 04

Gabaritos

Gabarito questão 8 roteiro03

#!/bin/bash
echo Entre com o nome do primeiro diretorio a ser criado:
read dir1
echo Entre com o nome do segundo diretorio a ser criado:
read dir2
echo criando diretorio $dir1
mkdir $dir1
echo criando diretorio $dir2 dentro do $dir1
mkdir $dir1/$dir2
echo movendo script para o $dir2
mv primeiroScript.sh $dir1/$dir2
echo listando o conteudo do $dir1/$dir2
ls $dir1/$dir2

Gabarito questão 1 roteiro04

#!/bin/bash
echo entre com o valor 1
read val1
echo entre com o valor 2
read val2
#Verifica de val1 é maior que val2
if [ $val1 -gt $val2 ]
then
echo $val1 é maior que $val2
fi
#verifica se sao igauis
if [ $val1 -eq $val2 ]
then
echo $val1 é igual $val2
fi
#verifica se é menor
if [ $val1 -lt $val2 ]
then
echo $val1 é menor que $val2
fi

Predefinição:Collapse bottow

Aula 10 (07/03/2014): Dúvidas e revisão

Aula 11 (10/03/2014): Avaliação

Aula 12 (11/03/2014): Correção da Avaliação. Usuários, grupos e permissionamento

Roteiro

Criação de contas de usuários e de grupos, e seu uso para conferir permissões de acesso a arquivos, diretórios e recursos do sistema operacional. Apostila, páginas 61 a 65.

Um usuário no Linux (e no Unix em geral) é definido pelo seguinte conjunto de informações:

  • Nome de usuário (ou login): um apelido que identifica o usuário no sistema
  • UID (User Identifier): um número único que identifica o usuário
  • GID (Group Identifier): o número do grupo primário do usuário
  • Senha (password): senha para verificação de acesso
  • Nome completo (full name): nome completo do usuário
  • Diretório inicial (homedir): o subddiretório pessoal do usuário, onde ele é colocado ao entrar no sistema
  • Shell: o programa a ser executado quando o usuário entrar no sistema

As contas de usuários, que contêm as informações acima, podem ficar armazenadas em diferentes bases de dados (chamadas de bases de dados de usuários). Dentre elas, a mais simples é composta pelo arquivo /etc/passwd:

root:x:0:0:root:/root:/bin/bash
sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false
suse-ncc:x:105:107:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bash
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
roberto:x:1001:100:Roberto de Matos:/data1/roberto:/bin/bash

Acima um exemplo de arquivo /etc/passwd

Cada linha desse arquivo define uma conta de usuário no seguinte formato:

nome de usuário:senha:UID:GID:Nome completo:Diretório inicial:Shell

O campo senha em /etc/passwd pode assumir os valores:

  • x: significa que a senha se encontra em /etc/shadow
  • *: significa que a conta está bloqueada
  • senha encriptada: a senha de fato, porém encriptada usando algoritmo hash MD5 ou crypt. Porém usualmente a senha fica armazenada no arquivo /etc/shadow.

O arquivo /etc/shadow armazena exclusivamente as informações relativas a senha e validade da conta. Nele cada conta possui as seguintes informações:

  • Nome de usuário
  • Senha encriptada (sobrepõe a senha que porventura exista em /etc/passwd)
  • Data da última modificação da senha
  • Dias até que a senha possa ser modificada (validade mínima da senha)
  • Dias após que a senha deve ser modificada
  • Dias antes da expiração da senha em que o usuário deve ser alertado
  • Dias após a expiração da senha em que a conta é desabilitada
  • Data em que a conta foi desabilitada

Um exemplo do arquivo /etc/shadow segue abaixo:

root:$2a$05$8IZNUuFTMoA3xv5grggWa.oBUBfvrE4MfgRDTlUI1zWDXGOHi9dzG:13922::::::
suse-ncc:!:13922:0:99999:7:::
uucp:*:13922::::::
wwwrun:*:13922::::::
roberto:$1$meoaWjv3$NUhmMHVdnxjmyyRNlli5M1:14222:0:99999:7:::

Exercício: quando a senha do usuário roberto irá expirar ?

Um grupo é um conjunto de usuários definido da seguinte forma:

  • Nome de group (group name): o nome que identifica o grupo no sistema
  • GID (Group Identifier): um número único que identifica o grupo
  • Lista de usuários: um conjunto de usuários que são membros do grupo

Assim como as contas de usuários, os grupos ficam armazenados em bases de dados de usuários, sendo o arquivo /etc/group a mais simples delas:

root:x:0:
trusted:x:42:
tty:x:5:
utmp:x:22:
uucp:x:14:
video:x:33:roberto
www:x:8:roberto
users:x:100:
radiusd:!:108:
vboxusers:!:1000:

Os membros de um grupo são os usuários que o têm como grupo primário (especificado na conta do usuário em /etc/passwd), ou que aparecem listados em /etc/group.

Gerenciamento de usuários e grupos

Para gerenciar usuários e grupos podem-se editar diretamente os arquivos /etc/passwd, /etc/shadow e /etc/group, porém existem utilitários que facilitam essa tarefa:

  • useradd: adiciona um usuário
    • Ex: useradd -c "Roberto de Matos" -m roberto : cria o usuário roberto com nome completo "Roberto de Matos"
    • Ex: useradd -c "Roberto de Matos" -g users -u 5000 -d /usuarios/roberto -s /bin/tcsh -m roberto : cria o usuário roberto com nome completo "Roberto de Matos", UID 5000, grupo users, diretório inicial /usuarios/roberto e shell /bin/tcsh
  • userdel: remove um usuário
    • Ex: userdel roberto : remove o usuário roberto, porém preservando seu diretório home
    • Ex: userdel -r roberto : remove o usuário roberto, incluindo seu diretório home
  • usermod: modifica as informações da conta de um usuário
    • Ex: usermod -u 5001 roberto : modifica o UID do usuário roberto
    • Ex: usermod -g wheel roberto : modifica o GID do usuário roberto
    • Ex: usermod -G users,wheel roberto : modifica os grupos secundários do usuário roberto
    • Ex: usermod -d /contas/roberto roberto : modifica o diretório inicial do usuário roberto (mas não copia os arquivos ...)
  • groupadd: adiciona um grupo
    • Ex: groupadd -g 4444 ger: cria o grupo ger com GID 4444
  • groupdel: remove um grupo
    • Ex: groupdel ger: remove o grupo ger
  • groupmod: modifica um grupo
    • Ex: groupmod -g 5555 ger: modifica o GID do grupo ger
    • Ex: groupmod -A roberto ger: adiciona o usuário roberto ao grupo ger
    • Ex: groupmod -R roberto ger: remove o usuário roberto do grupo ger

Esses utilitários usam os arquivos /etc/login.defs e /etc/default/useradd para obter seus parâmetros default. O arquivo /etc/login.defs contém uma série de diretivas e padrões que serão utilizados na criação das próximas contas de usuários. Seu principal conteúdo é:

MAIL_DIR dir # Diretório de e-mail
PASS_MAX_DAYS	99999 #Número de dias até que a senha expire
PASS_MIN_DAYS	0 #Número mínimo de dias entre duas trocas senha
PASS_MIN_LEN 5	#Número mínimo de caracteres para composição da senha
PASS_WARN_AGE 7 #Número de dias para notificação da expiração da senha
UID_MIN 500 #Número mínimo para UID
UID_MAX 60000 #Número máximo para UID
GID_MIN 500 #Número mínimo para GID
GID_MAX 60000 #Número máximo para GID
CREATE_HOME yes #Criar ou não o diretório home

Como o login.defs o arquivo /etc/default/useradd contém padrões para criação de contas. Seu principal conteúdo é:

GROUP=100 #GID primário para os usuários criados 
HOME=/home #Diretório a partir do qual serão criados os “homes”
INACTIVE=-1 #Quantos dias após a expiração da senha a conta é desativada
EXPIRE=AAAA/MM/DD #Dia da expiração da conta
SHEL=/bin/bash #Shell atribuído ao usuário.
SKEL=/etc/skel #Arquivos e diretórios padrão para os novos usuários.
GROUPS=video,dialout
CREATE_MAIL_SPOOL=no

Permissões

Há uma maneira de restringir o acesso aos arquivos e diretórios para que somente determinados usuários possam acessá-los. A cada arquivo e diretório é associado um conjunto de permissões. Essas permissões determinam quais usuários podem ler, e escrever (alterar) um arquivo e, no caso de ser um arquivo executável, quais usuários podem executá-lo. Se um usuário tem permissão de execução para um diretório, significa que ele pode realizar buscas dentro daquele diretório, e não executá-lo como se fosse um programa.

Quando um usuário cria um arquivo ou um diretório, o LINUX determina que ele é o proprietário (owner) daquele arquivo ou diretório. O esquema de permissões do LINUX permite que o proprietário determine quem tem acesso e em que modalidade eles poderão acessar os arquivos e diretórios que ele criou. O super-usuário (root), entretanto, tem acesso a qualquer arquivo ou diretório do sistema de arquivos.

O conjunto de permissões é dividido em três classes: proprietário, grupo e usuários. Um grupo pode conter pessoas do mesmo departamento ou quem está trabalhando junto em um projeto. Os usuários que pertencem ao mesmo grupo recebem o mesmo número do grupo (também chamado de Group Id ou GID). Este número é armazenado no arquivo /etc/passwd junto com outras informações de identificação sobre cada usuário. O arquivo /etc/group contém informações de controle sobre todos os grupos do sistema. Assim, pode -se dar permissões de acesso diferentes para cada uma destas três classes.

Quando se executa ls -l em um diretório qualquer, os arquivos são exibidos de maneira semelhante a seguinte:

> ls -l
total 403196
drwxr-xr-x 4 odilson admin 4096 Abr 2 14:48 BrOffice_2.1_Intalacao_Windows/
-rw-r--r-- 1 luizp admin 113811828 Out 31 21:28 broffice.org.2.0.4.rpm.tar.bz2
-rw-r--r-- 1 root root 117324614 Dez 27 14:47 broffice.org.2.1.0.rpm.tar.bz2
-rw-r--r-- 1 luizp admin 90390186 Out 31 22:04 BrOo_2.0.4_Win32Intel_install_pt-BR.exe
-rw-r--r-- 1 root root 91327615 Jan 5 21:27 BrOo_2.1.0_070105_Win32Intel_install_pt-BR.exe
>

As colunas que aparecem na listagem são:

  1. Esquema de permissões;
  2. Número de ligações do arquivo;
  3. Nome do usuário dono do arquivo;
  4. Nome do grupo associado ao arquivo;
  5. Tamanho do arquivo, em bytes;
  6. Mês da criação do arquivo; Dia da criação do arquivo;
  7. Hora da criação do arquivo;
  8. Nome do arquivo;

O esquema de permissões está dividido em 10 colunas, que indicam se o arquivo é um diretório ou não (coluna 1), e o modo de acesso permitido para o proprietário (colunas 2, 3 e 4), para o grupo (colunas 5, 6 e 7) e para os demais usuários (colunas 8, 9 e 10).

Existem três modos distintos de permissão de acesso: leitura (read), escrita (write) e execução (execute). A cada classe de usuários você pode atribuir um conjunto diferente de permissões de acesso. Por exemplo, atribuir permissão de acesso irrestrito (de leitura, escrita e execução) para você mesmo, apenas de leitura para seus colegas, que estão no mesmo grupo que você, e nenhum acesso aos demais usuários. A permissão de execução somente se aplica a arquivos que podem ser executados, obviamente, como programas já compilados ou script shell. Os valores válidos para cada uma das colunas são os seguintes:

  • 1 d se o arquivo for um diretório;-se for um arquivo comum;
  • 2,5,8 r se existe permissão de leitura;-caso contrário;
  • 3,6,9 w se existe permissão de alteração;-caso contrário;
  • 4,7,10 x se existe permissão de execução;-caso contrário;

A permissão de acesso a um diretório tem outras considerações. As permissões de um diretório podem afetar a disposição final das permissões de um arquivo. Por exemplo, se o diretório dá permissão de gravação a todos os usuários, os arquivos dentro do diretório podem ser removidos, mesmo que esses arquivos não tenham permissão de leitura, gravação ou execução para o usuário. Quando a permissão de execução é definida para um diretório, ela permite que se pesquise ou liste o conteúdo do diretório.

A modificação das permissões de acesso a arquivos e diretórios pode ser feita usando-se os utilitários:

  • chmod: muda as permissões de acesso (também chamado de modo de acesso). Somente pode ser executado pelo dono do arquivo ou pelo superusuário
    • Ex: chmod +x /home/usuario/programa : adiciona para todos os usuários a permissão de execução ao arquivo /home/usuario/programa
    • Ex: chmod -w /home/usuario/programa : remove para todos os usuários a permissão de escrita do arquivo /home/usuario/programa
    • Ex: chmod o-rwx /home/usuario/programa : remove todas as permissões de acesso ao arquivo /home/usuario/programa para todos os usuários que não o proprietário e membros do grupo proprietário
    • Ex: chmod 755 /home/usuario/programa : define as permissões rwxr-xr-x para o arquivo /home/usuario/programa
  • chown: muda o proprietário de um arquivo. Somente pode ser executado pelo superusuário.
    • Ex: chown roberto /home/usuario/programa: faz com que o usuário roberto seja o dono do arquivo
  • chgrp: muda o grupo dono de um arquivo. Somente pode ser executado pelo superusuário.
    • Ex: chgrp users /home/usuario/programa: faz com que o grupo users seja o grupo dono do arquivo /home/usuario/programa

Há também o utilitário umask, que define as permissões default para os novos arquivos e diretórios que um usuário criar. Esse utilitário define uma máscara (em octal) usada para indicar que permissões devem ser removidas. Exemplos:

  • umask 022: tira a permissão de escrita para group e demais usuários
  • umask 027: tira a permissão de escrita para group, e todas as permissões para demais usuários

Atividade

  1. Crie o grupo turma.
  2. Crie o diretório /home/contas.
  3. Faça cópia dos arquivos a serem alterados: /etc/login.defs e /etc/default/useradd.
  4. Faça com que o diretório home dos usuários, a serem criados a partir de agora, seja por padrão dentro de /home/contas.
  5. Faça com que os usuários sejam criados com o seguinte perfil, por padrão:
    1. Expiração de senha em 15 dias a partir da criação da conta;
    2. Usuário possa alterar senha a qualquer momento;
    3. Data do bloqueio da conta em 7 dias após a expiração da senha.
    4. Inicie os avisos de expiração da senha 4 dia antes de expirar.
    5. Iniciar a numeração de usuários (ID) a partir de 1000.
  6. Crie um usuário com o nome de manoel, pertencente ao grupo turma.
  7. Dê ao usuário manoel a senha mane123.
  8. Acrescente ao perfil do usuário seu nome completo e endereço: Manoel da Silva, R. dos Pinheiros, 2476666.
  9. Verifique o arquivo /etc/passwd.
  10. Mude, por comandos, o diretório home do manoel de /home/contas/manoel para /home/manoel.
  11. Mude o login do manoel para manoelsilva.
  12. Logue como manoelsilva.
  13. Recomponha os arquivos originais do item 3.

Permissionamento de arquivos e grupos de usuários

  1. Crie a partir do /home 3 diretórios, um com nome aln (aluno), outro prf (professor) e o último svd (servidor).
  2. Crie 3 grupos com os mesmos nomes acima.
  3. Crie 3 contas pertencentes ao grupo aln: aluno1, aluno2, aluno3. Estas contas deverão ter seus diretórios homes criados por comando dentro do diretório /home/aln/. Por exemplo para o aluno1 teremos /home/aln/aluno1.
  4. Crie 3 contas pertencentes ao grupo prf: prof1, prof2, prof3. Estas contas deverão ter seus diretórios homes criados por comando dentro do diretório /home/prf/.
  5. Crie 3 contas pertencentes ao grupo svd: serv1, serv2, serv3. Estas contas deverão ter seus diretórios homes criados por comando dentro do diretório /home/svd/.
  6. Os diretórios dos alunos, e todo o seu conteúdo, devem ser visíveis, mas não apagáveis, aos membros do próprio grupo e de todos os demais usuários da rede.
  7. Já os diretórios dos professores e servidores, devem ser mutuamente visíveis, mas não apagáveis, entre os membros dos grupos professores e servidores mas não deve ser sequer visível aos membros do grupo alunos.