Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_1/dados.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Ana Silva, 25, ana.silva@gmail.com
Bruno Costa, trinta e dois, bruno.c@yahoo.com
Carlos Souza, 19, c.souza@outlook.com
Daniela Lima, vinte e sete, dani.lima@gmail.com
Eduardo Rocha, 45, edu.rocha@yahoo.com
Fernanda Alves, quarenta, fe.alves@outlook.com
Gabriel Neves, 21, gabi.neves@gmail.com
Helena Porto, dezoito, h.porto@yahoo.com
Igor Mendes, 34, igor.mendes@outlook.com
Juliana Farias, vinte e nove, ju.farias@gmail.com
Kevin Santos, 22, kevin.santos@yahoo.com
Larissa Gomes, trinta e cinco, lari.gomes@outlook.com
Maurício Vaz, 50, mau.vaz@gmail.com
Natália Reis, quarenta e dois, naty.reis@yahoo.com
Otávio Cruz, 27, otavio.cruz@outlook.com
Patrícia Belo, vinte e quatro, patri.belo@gmail.com
Ricardo Dias, 38, ric.dias@yahoo.com
Sabrina Leite, trinta e um, sabrina.l@outlook.com
Tiago Nunes, 26, tiago.n@gmail.com
Vanessa Meira, dezenove, vanessa.m@yahoo.com
7 changes: 7 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_1/grep1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Ana Silva, 25, ana.silva@gmail.com
Daniela Lima, vinte e sete, dani.lima@gmail.com
Gabriel Neves, 21, gabi.neves@gmail.com
Juliana Farias, vinte e nove, ju.farias@gmail.com
Maurício Vaz, 50, mau.vaz@gmail.com
Patrícia Belo, vinte e quatro, patri.belo@gmail.com
Tiago Nunes, 26, tiago.n@gmail.com
10 changes: 10 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_1/grep2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Bruno Costa, trinta e dois, bruno.c@yahoo.com
Daniela Lima, vinte e sete, dani.lima@gmail.com
Fernanda Alves, quarenta, fe.alves@outlook.com
Helena Porto, dezoito, h.porto@yahoo.com
Juliana Farias, vinte e nove, ju.farias@gmail.com
Larissa Gomes, trinta e cinco, lari.gomes@outlook.com
Natália Reis, quarenta e dois, naty.reis@yahoo.com
Patrícia Belo, vinte e quatro, patri.belo@gmail.com
Sabrina Leite, trinta e um, sabrina.l@outlook.com
Vanessa Meira, dezenove, vanessa.m@yahoo.com
1 change: 1 addition & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_1/grep3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
19
1 change: 1 addition & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_1/grep4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Ana Silva, 25, ana.silva@gmail.com
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
- Qual é a diferença entre `grep "padrão"` e `grep -E "padrão"`?
O grep padrão utiliza Expressões Regulares Básicas (BRE), nele símbolos especiais são lidos como texto normal, para utilizá-los é necessário colocar um "\" antes.
O grep -E ativa as Expressões Regulares Estendidas (ERE), nele símbolos especiais são lidos como símbolos espciais diretamente. É a forma recomendada para buscas complexas.
- Como usar regex para encontrar e-mails?
Utilizar a estrutura do email: usuário + @ + provedor + ponto + extensão
Comando: grep "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} nome_arquivo
- O que `grep -i` faz?
O -i vem de Ignore Case, isso faz com que ele ignore maiúsculas e minúsculas. Então grep -i "Rodrigo" retornaria, por exemplo: rodrigo, RODrigO, RODRIGO.
29 changes: 29 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_1/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/bash

cat > dados.txt << EOF
Ana Silva, 25, ana.silva@gmail.com
Bruno Costa, trinta e dois, bruno.c@yahoo.com
Carlos Souza, 19, c.souza@outlook.com
Daniela Lima, vinte e sete, dani.lima@gmail.com
Eduardo Rocha, 45, edu.rocha@yahoo.com
Fernanda Alves, quarenta, fe.alves@outlook.com
Gabriel Neves, 21, gabi.neves@gmail.com
Helena Porto, dezoito, h.porto@yahoo.com
Igor Mendes, 34, igor.mendes@outlook.com
Juliana Farias, vinte e nove, ju.farias@gmail.com
Kevin Santos, 22, kevin.santos@yahoo.com
Larissa Gomes, trinta e cinco, lari.gomes@outlook.com
Maurício Vaz, 50, mau.vaz@gmail.com
Natália Reis, quarenta e dois, naty.reis@yahoo.com
Otávio Cruz, 27, otavio.cruz@outlook.com
Patrícia Belo, vinte e quatro, patri.belo@gmail.com
Ricardo Dias, 38, ric.dias@yahoo.com
Sabrina Leite, trinta e um, sabrina.l@outlook.com
Tiago Nunes, 26, tiago.n@gmail.com
Vanessa Meira, dezenove, vanessa.m@yahoo.com
EOF

grep "gmail.com" dados.txt > grep1.txt
grep -v "[0-9]" dados.txt > grep2.txt
grep -c "a" dados.txt > grep3.txt
grep "^A" dados.txt > grep4.txt
10 changes: 10 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_2/config.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
SERVIDOR=localhost
# Configurações do Banco de Dados
BANCO=producao
# Porta de acesso
PORTA=8080
TIMEOUT=30
# Modo de debug
DEBUG=false
# Limite de conexões
MAX_CONN=100
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
- Por que usar `sed` em vez de editar o arquivo manualmente?
O sed permite automação, imagina ter que alterar o IP de 1000 servidores diferente manualmente, demoraria muito tempo. O sed permite automatizar isso.
- Qual é a diferença entre `sed 's/old/new/'` e `sed 's/old/new/g'`?
Sem o g, o sed altera apenas a primeira ocorrência da palavra em cada linha.
Com o g (global), o sed altera todas as ocorrências da palavra em cada linha.
- Como usar `sed` para fazer backup antes de modificar?
Usar o sed -i.bak 's/old/new/' nome_arquivo, esse comando altera o arquivo original e cria um backup do mesmo: nome_arquivo.bak
19 changes: 19 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_2/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

cat > config.txt << EOF
SERVIDOR=localhost
# Configurações do Banco de Dados
BANCO=producao
# Porta de acesso
PORTA=8080
TIMEOUT=30
# Modo de debug
DEBUG=false
# Limite de conexões
MAX_CONN=100
EOF

sed 's/localhost/192.168.1.1/' config.txt
sed '/^#/d' config.txt
sed -n '5,10p' config.txt
sed 's/^/SISTEMA_/' config.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
- Por que usar `awk` em vez de `cut` ou `grep`?
O grep é bom em achar linhas inteiras, mas não lida bem com colunas.
O cut é bom pra separar colunas simples, mas é limitidado. Não consegue usar a lógica.
Já o awk é uma ferramenta de análise de dados completa. Ele lida muito bem com colunas, sabe fazer operações e usar a lógica. Além de formatar o texto de saída de uma forma mais bonita.
- Como usar `awk` para processar arquivos CSV?
É só utilizar o parâmetro -F (Field Separator) com uma "," ou ";" ou "|".
- Qual é a diferença entre `awk` e `sed`?
O sed (Stream Editor) é focado em edição e transformação. É ótimo para substituir palavras, deletar linhas ou inserir texto em posições específicas.
O awk é focado em extração e processamento de dados. É o melhor para gerar relatórios, somar valores e trabalhar com tabelas e colunas.
30 changes: 30 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_3/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash

cat > vendas.txt << EOF
produto:preco:quantidade
Roteador Cisco:1245:5
Switch Gerenciável:857:10
Cabo de Rede Cat6:453:2
Servidor Dell:15321:1
Firewall Fortigate:4512:2
Conector RJ45:87:15
Access Point:984:8
Patch Panel:322:4
Rack de Parede:559:3
Nobreak 1500VA:1124:5
Placa de Rede Gigabit:123:20
Fibra Óptica:1847:1
Transceiver SFP+:256:12
Testador de Cabos:193:6
Alicate de Crimpagem:78:10
Organizador de Cabos:49:25
Teclado Mecânico:352:7
Monitor 24 Polegadas:899:12
HD Externo 2TB:427:9
Câmera IP:381:14
EOF

awk -F: 'NR>1 && $2 > 100 { print $1 "|" $2 "|" $3}' vendas.txt
awk -F: 'NR>1 { print "Total:", $2 * $3 }' vendas.txt
awk -F: 'NR>1 { total_geral += $2 * $3 } END { print "Total Geral:", total_geral }' vendas.txt
awk -F: 'NR>1 { contador ++ } END { print "Produtos:", contador }' vendas.txt
21 changes: 21 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_3/vendas.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
produto:preco:quantidade
Roteador Cisco:1245:5
Switch Gerenciável:857:10
Cabo de Rede Cat6:453:2
Servidor Dell:15321:1
Firewall Fortigate:4512:2
Conector RJ45:87:15
Access Point:984:8
Patch Panel:322:4
Rack de Parede:559:3
Nobreak 1500VA:1124:5
Placa de Rede Gigabit:123:20
Fibra Óptica:1847:1
Transceiver SFP+:256:12
Testador de Cabos:193:6
Alicate de Crimpagem:78:10
Organizador de Cabos:49:25
Teclado Mecânico:352:7
Monitor 24 Polegadas:899:12
HD Externo 2TB:427:9
Câmera IP:381:14
20 changes: 20 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_4/log.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
2025-01-15 08:23:45 [INFO] Usuário admin fez login
2025-01-15 08:45:12 [ERROR] Falha de conexão com banco de dados
2025-01-15 09:02:30 [ERROR] Timeout na requisição API
2025-01-15 09:15:22 [INFO] Backup concluído
2025-01-15 09:30:17 [WARN] Uso de CPU acima de 80%
2025-01-15 09:45:08 [ERROR] Falha de conexão com banco de dados
2025-01-15 10:00:01 [INFO] Usuário jose fez logout
2025-01-15 10:22:44 [ERROR] Arquivo não encontrado: config.xml
2025-01-15 10:45:33 [WARN] Pouco espaço em disco (15% livre)
2025-01-15 11:05:19 [ERROR] Timeout na requisição API
2025-01-15 11:30:02 [INFO] Relatório gerado com sucesso
2025-01-15 11:55:48 [ERROR] Falha de conexão com banco de dados
2025-01-15 12:20:15 [INFO] Usuário admin fez logout
2025-01-15 12:45:33 [ERROR] Permission denied: /var/log/syslog
2025-01-15 13:10:22 [WARN] Conexão lenta detectada
2025-01-15 13:35:07 [ERROR] Timeout na requisição API
2025-01-15 14:00:44 [INFO] Sincronização completa
2025-01-15 14:25:16 [ERROR] Falha de conexão com banco de dados
2025-01-15 14:50:39 [CRITICAL] Serviço web caiu
2025-01-15 15:15:03 [INFO] Serviço web reiniciado
10 changes: 10 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_4/perguntas_resposta.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
- Como o kernel gerencia o buffer entre pipes?
Imagine o "|" como um cano fisico ligando os programas. O kernel do linux criar um buffer (uma área de memória temporária) para esse cano.
Quando o primeiro comando produz dados, o kernel os armazena nesse buffer até que o segundo programa esteja pronto para ler.
Se o buffer ficar cheio, o kernel coloca o primeiro comando em "pausa" até que o segundo programa consuma dados e abra um pouco de espaço.
- Por que `sort|uniq` é mais eficiente que `uniq`?
Porque quando usamos o uniq sozinho, ele não consegue contar os mesmo erros. Para isso acontecer eles tem que ficar linhas próximas. Usando ele sozinho teremos: 1 Erro A, 1 Erro B, 1 Erro A
Quando usamos o sort | uniq, o sort junta esses erroas em linhas próximas. Usando dessa forma teremos: 2 Erro A, 1 Erro B
- Como redirecionar stderr e stdout para arquivos diferentes?
Para stderr: comando 2> erros.txt
Para stdout: comando > sucessos.txt (1 implícito)
4 changes: 4 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_4/relatorio_erros.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
4 Falha de conexão com banco de dados
3 Timeout na requisição API
1 Permission denied: /var/log/syslog
1 Arquivo não encontrado: config.xml
28 changes: 28 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_4/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

cat > log.txt << EOF
2025-01-15 08:23:45 [INFO] Usuário admin fez login
2025-01-15 08:45:12 [ERROR] Falha de conexão com banco de dados
2025-01-15 09:02:30 [ERROR] Timeout na requisição API
2025-01-15 09:15:22 [INFO] Backup concluído
2025-01-15 09:30:17 [WARN] Uso de CPU acima de 80%
2025-01-15 09:45:08 [ERROR] Falha de conexão com banco de dados
2025-01-15 10:00:01 [INFO] Usuário jose fez logout
2025-01-15 10:22:44 [ERROR] Arquivo não encontrado: config.xml
2025-01-15 10:45:33 [WARN] Pouco espaço em disco (15% livre)
2025-01-15 11:05:19 [ERROR] Timeout na requisição API
2025-01-15 11:30:02 [INFO] Relatório gerado com sucesso
2025-01-15 11:55:48 [ERROR] Falha de conexão com banco de dados
2025-01-15 12:20:15 [INFO] Usuário admin fez logout
2025-01-15 12:45:33 [ERROR] Permission denied: /var/log/syslog
2025-01-15 13:10:22 [WARN] Conexão lenta detectada
2025-01-15 13:35:07 [ERROR] Timeout na requisição API
2025-01-15 14:00:44 [INFO] Sincronização completa
2025-01-15 14:25:16 [ERROR] Falha de conexão com banco de dados
2025-01-15 14:50:39 [CRITICAL] Serviço web caiu
2025-01-15 15:15:03 [INFO] Serviço web reiniciado
EOF

grep "ERROR" log.txt
grep "ERROR" log.txt | cut -d' ' -f4- | sort | uniq -c
grep "ERROR" log.txt | cut -d' ' -f4- | sort | uniq -c | sort -rn | head -5 > relatorio_erros.txt
31 changes: 31 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_5/config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/bin/bash
# Script de configuração do sistema
# Autor: Atividade V - Estudos Linux

# Configureções de rede
SERVIDOR="localhost"
PORTA="8080"
PROTOCOLO="http"

# Configurações de banco de dados
DB_HOST="localhost"
DB_USER="admin"
DB_PASS="senha123"
DB_NAME="meubanco"

# Configurações de logging
LOG_DIR="/var/log/myapp"
LOG_LEVEL="INFO"
MAX_LOG_SIZE="10MB"

# Configurações de timeout
CONNECTION_TIMEOUT=30
READ_TIMEOUT=60
WRITE_TIMEOUT=30

# Configurações de cache
CACHE_ENABLED="true"
CACHE_TTL=3600
CACHE_SIZE="256MB"

echo "Configurações carregadas com sucesso!"
9 changes: 9 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_5/editor_exercicios.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Diferenças entre nano e vim
nano: Apenas um modo, baixa curva de aprendizado, atalhos mostrados na tela, boa para edições simples, personalização limitada, mais leve.
vim: Multiplos modos, alta curva de aprendizado, maior produtividade quando dominada, personalização altamente configurável, mais pesado, porém mais poderoso.
# Quando usar cada um
nano: Edição rápida, primeiro contato com o terminal, está sem internet e não lembra comandos (atalhos visíveis)
vim: Prgramar/ desenvolver código, edição complexa (muito arquivos seguidos), fazer substituições complexas em texto.
# Atalhos mais úteis
nano: Ctrl + 0 salva; Ctrl + X sai; Ctrl + W busca; Ctrl + K corta linha inteira; Alt + A inicia seleção de texto; Alt + 6 copia texto selecionado; Ctrl + G Ajuda (Help).
vim: :w salva; :q sai; :wq salva e sai; /busca busca; dd deleta linha; u desfaz (undo); Ctrl + r refaz (redo);
10 changes: 10 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_5/perguntas_resposta.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
- Qual editor é melhor para editar configs do sistema?
Depende da situação, se for uma edição muito rápida, usa o nano.
Agora se for uma edição complexa, que demora, usa o vim.
- Como usar vim em modo não-interativo (via `sed`)?
Basta utiliza o sed -i 's/old/new/' nome_arquivo para alterar o arquivo original.
- Por que `visudo` é importante?
É uma das ferramentas de segurança mais críticas do Linux.
Se você cometer um erro de digitação no arquivo de permissões usando um editor comum e salva, você pode perder o acesso ao root. O visudo verifica se há um erro de digitação antes de salva.
Ele também impede que duas pessoas editem as permissões ao mesmo tempo, evitando que uma sobrescreva a alteração da outra.
O visudo também garante que o arquivo mantenha as permissões de leiturea corretas, impedindo que usuários comuns vejam regras e privilégios.
23 changes: 23 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_6/perguntas_resposta.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
- Qual é a diferença entre permissões de arquivo e permissões de diretório?
Os símbolos são iguais, mas o significado muda.
Permissões de Arquivo:
r: Permite ler o conteúdo do arquivo.
w: Permite alterar o conteúdo do arquivo.
x: Permite executar o conteúdo do arquivo.
Permissões de diretório:
r: Permite listar os arquivos do diretório.
w: Permite adicionar ou remover arquivos no diretório.
x: Permite acessar o diretório.
- O que é setuid, setgid e sticky bit?
São permissões especiais para casos específicos:
setuid (4): Quando aplicado a um arquivo executável, ele executa com as permissões do dono do arquivo.
setgid (2): Em arquivos, roda com permissões do grupo dono. Em diretórios, fazem com que os novos arquivos criados alí herdem o grupo da pasta pai.
sticky bit (1): Usado em pastas públicas (como /tmp). Garante que apenas o dono do arquivo possa deletá-lo, mesmo que outros usuários tenham acesso de escrita.
- Como o umask afeta as permissões padrão?
O umask (user mask) é um "filtro" que retira permissões no momento da criação de um arquivo.
Se o seu umask for 022 e o sistema tentar criar permissões 666 para arquivos e 777 para diretórios:
Arquivo: 666 - 022 = 644 (Dono Lê e escreve, o resto só lê).
Diretório: 777 - 022 = 755 (Dono faz tudo, o resto lê e entra).
- Por que não usar 777 em produção?
Usar 777 para um projeto em grupo é um grande erro de segurança. Qualquer usuário teria como deletar/modificar arquivos.
Utilizando dessa forma, facilitaria para um invasor fazer o que quisesse, como injetar códigos maliciosos.
55 changes: 55 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_6/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/bash

mkdir -p /testes && cd /testes

useradd -m -s /bin/bash Usuario1
useradd -m -s /bin/bash Usuario2
useradd -m -s /bin/bash Usuario3

groupadd adm
groupadd dev
groupadd rh

usermod -aG adm Usuario1
usermod -aG dev,rh Usuario2
usermod -aG dev Usuario3

touch arquivo1.txt arquivo2.txt arquivo3.txt arquivo4.txt
chmod 644 arquivo1.txt
chmod 755 arquivo2.txt
chmod 600 arquivo3.txt
chmod 700 arquivo4.txt

su -c "cat arquivo1.txt" Usuario1 >> test_results.txt 2>&1
su -c "cat arquivo2.txt" Usuario1 >> test_results.txt 2>&1
su -c "cat arquivo3.txt" Usuario1 >> test_results.txt 2>&1
su -c "cat arquivo4.txt" Usuario1 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo1.txt" Usuario1 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo2.txt" Usuario1 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo3.txt" Usuario1 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo4.txt" Usuario1 >> test_results.txt 2>&1

su -c "cat arquivo1.txt" Usuario2 >> test_results.txt 2>&1
su -c "cat arquivo2.txt" Usuario2 >> test_results.txt 2>&1
su -c "cat arquivo3.txt" Usuario2 >> test_results.txt 2>&1
su -c "cat arquivo4.txt" Usuario2 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo1.txt" Usuario2 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo2.txt" Usuario2 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo3.txt" Usuario2 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo4.txt" Usuario2 >> test_results.txt 2>&1

su -c "cat arquivo1.txt" Usuario3 >> test_results.txt 2>&1
su -c "cat arquivo2.txt" Usuario3 >> test_results.txt 2>&1
su -c "cat arquivo3.txt" Usuario3 >> test_results.txt 2>&1
su -c "cat arquivo4.txt" Usuario3 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo1.txt" Usuario3 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo2.txt" Usuario3 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo3.txt" Usuario3 >> test_results.txt 2>&1
su -c "echo 'teste' >> arquivo4.txt" Usuario3 >> test_results.txt 2>&1

cat > permissoes_significado << EOF
Permissões:
r: O usuário poderá ler o arquivo
w: O usuário poderá alterar o arquivo
x: O usuário poderá executar o arquivo
EOF
2 changes: 2 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_7/relatorio.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Buscando arquivos com permissão 777...
Buscando arquivos com permissão setuid...
8 changes: 8 additions & 0 deletions noturno/lab/Daniel_Esmeraldo/atividade_7/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

echo Buscando arquivos com permissão 777... > relatorio.txt
find /home -perm 777 >> relatorio.txt 2>/dev/null
echo Buscando arquivos com permissão setuid... >> relatorio.txt
find / -perm /4000 >> relatorio.txt 2>/dev/null
echo Buscando usuários com UID 0... >> relatorio.txt
awk -F: '$3 == 0 { print $1 }' /etc/passwd >> relatorio.txt 2>/dev/null
Loading