0% acharam este documento útil (0 voto)
23 visualizações31 páginas

Amiga Da Cristina 3 - DeepSeek

O documento aborda a gestão de sistemas Linux na TAAG, propondo soluções para conflitos de acesso, automatização de reservas, e transferência segura de arquivos. Inclui instruções detalhadas sobre controle de acesso, auditoria, criptografia, agendamento de tarefas e configuração de rede. Além disso, discute a importância de arquivos de log e SSH para monitoramento e acesso seguro ao sistema.

Enviado por

Clary Manuel
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
23 visualizações31 páginas

Amiga Da Cristina 3 - DeepSeek

O documento aborda a gestão de sistemas Linux na TAAG, propondo soluções para conflitos de acesso, automatização de reservas, e transferência segura de arquivos. Inclui instruções detalhadas sobre controle de acesso, auditoria, criptografia, agendamento de tarefas e configuração de rede. Além disso, discute a importância de arquivos de log e SSH para monitoramento e acesso seguro ao sistema.

Enviado por

Clary Manuel
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 31

Vamos abordar o cenário proposto passo a passo, utilizando ferramentas e técnicas de administração

de sistemas em Linux para resolver os problemas e melhorar a gestão da TAAG.

1. Resolução do Conflito de Acesso às Informações


O conflito entre as áreas de trabalho e o vazamento de informações podem ser resolvidos com as
seguintes medidas:

a) Controle de Acesso com Permissões e Grupos


• Crie grupos de usuários no Linux para cada área de trabalho, por exemplo:
sudo groupadd area1
sudo groupadd area2

.Adicione os funcionários aos respectivos grupos:


sudo usermod -aG area1 funcionario1
sudo usermod -aG area2 funcionario2

.Defina permissões de acesso aos diretórios de trabalho usando chmod e chown:

sudo chown -R :area1 /caminho/da/area1


sudo chmod -R 770 /caminho/da/area1
sudo chown -R :area2 /caminho/da/area2
sudo chmod -R 770 /caminho/da/area2

Isso garante que apenas membros do grupo correspondente tenham acesso aos diretórios.

b) Auditoria de Acesso com auditd


• Instale e configure o auditd para monitorar o acesso aos arquivos sensíveis:

sudo apt install auditd


sudo auditctl -w /caminho/da/area1 -p rwxa -k area1_access
sudo auditctl -w /caminho/da/area2 -p rwxa -k area2_access

Revise os logs de auditoria para identificar acessos não autorizados:


sudo ausearch -k area1_access

c) Criptografia de Dados Sensíveis


• Utilize ferramentas como gpg ou openssl para criptografar arquivos sensíveis:

gpg -c arquivo_sensivel.txt
Isso impede que dados sejam acessados sem a senha de descriptografia.
2. Automatização da Gestão de Reservas
Para automatizar a remoção de reservas antigas e mover as recentes para a partição BACKUP,
podemos usar scripts e o agendador de tarefas cron.

a) Script para Remover Reservas Antigas


Crie um script em /usr/local/bin/limpar_reservas.sh:

#!/bin/bash

# Diretório das reservas


RESERVAS_DIR="/caminho/das/reservas"
BACKUP_DIR="/caminho/do/BACKUP"
# Remover reservas com mais de 2 meses
find "$RESERVAS_DIR" -type f -mtime +60 -exec rm -f {} \;
# Mover reservas recentes para BACKUP
find "$RESERVAS_DIR" -type f -mtime -60 -exec mv {} "$BACKUP_DIR" \;
echo "Limpeza e backup concluídos."

Torne o script executável:

sudo chmod +x /usr/local/bin/limpar_reservas.sh

b) Agendar o Script com cron


Abra o crontab para edição:

sudo crontab -e

Adicione a linha abaixo para executar o script diariamente às 2h:


0 2 * * * /usr/local/bin/limpar_reservas.sh
3. Configuração da Rede Local para Transferência de Ficheiros
Para facilitar a transferência de arquivos entre as filiais, configure uma rede segura e utilize
ferramentas como rsync ou scp.

a) Configuração de SSH
• Instale o servidor SSH em ambas as filiais:

sudo apt install openssh-server

Configure chaves SSH para autenticação sem senha:

ssh-keygen -t rsa
ssh-copy-id usuario@filial2

b) Transferência de Arquivos com rsync

Use rsync para sincronizar arquivos entre as filiais:

rsync -avz /caminho/do/diretorio usuario@filial2:/caminho/de/destino

Automatize a transferência com um script e cron.

c) VPN para Comunicação Segura


Configure uma VPN (por exemplo, usando OpenVPN) para garantir que a comunicação entre as
filiais seja segura.
4. Melhorias Adicionais
• Backup Automatizado: Use ferramentas como rsnapshot ou Bacula para backups
regulares.
• Monitoramento do Sistema: Instale ferramentas como Nagios ou Zabbix para
monitorar o desempenho e a disponibilidade do sistema.
• Firewall: Configure um firewall com ufw para proteger o sistema:

sudo ufw enable


sudo ufw allow ssh
sudo ufw allow 80/tcp

Conclusão
Com essas medidas, o administrador pode:
1. Resolver conflitos de acesso e prevenir vazamentos de informações.
2. Automatizar a gestão de reservas.
3. Facilitar a transferência segura de arquivos entre filiais.
4. Melhorar a segurança e eficiência do sistema.

------------------------------------------------------------------------------------------------------------------------

SHELLSCRIPTS
Aotomatização da criação de usuarios:

#!/bin/bash

# Função para exibir mensagens coloridas


function mensagem {
case $1 in
erro) echo -e "\033[1;31m[ERRO] $2\033[0m" ;;
sucesso) echo -e "\033[1;32m[SUCESSO] $2\033[0m" ;;
info) echo -e "\033[1;34m[INFO] $2\033[0m" ;;
*) echo "$1" ;;
esac
}
# Verificar se o usuário é root
if [ "$EUID" -ne 0 ]; then
mensagem erro "Este script deve ser executado como root."
exit 1
fi

# Solicitar nome do usuário


read -p "Digite o nome do novo usuário: " username

# Verificar se o usuário já existe


if id "$username" &>/dev/null; then
mensagem erro "O usuário $username já existe."
exit 1
fi

# Criar o usuário
useradd -m -s /bin/bash "$username"
if [ $? -eq 0 ]; then
mensagem sucesso "Usuário $username criado com sucesso."
else
mensagem erro "Falha ao criar o usuário $username."
exit 1
fi

# Definir senha para o usuário


passwd "$username"
if [ $? -ne 0 ]; then
mensagem erro "Falha ao definir a senha para o usuário $username."
exit 1
fi

# Perguntar se deseja adicionar o usuário a um grupo


read -p "Deseja adicionar o usuário a um grupo existente? (s/n): " add_to_group
if [[ "$add_to_group" =~ ^[Ss]$ ]]; then
read -p "Digite o nome do grupo: " groupname

# Verificar se o grupo existe


if ! getent group "$groupname" &>/dev/null; then
mensagem info "O grupo $groupname não existe. Criando grupo..."
groupadd "$groupname"
fi

# Adicionar usuário ao grupo


usermod -aG "$groupname" "$username"
if [ $? -eq 0 ]; then
mensagem sucesso "Usuário $username adicionado ao grupo $groupname."
else
mensagem erro "Falha ao adicionar o usuário $username ao grupo $groupname."
fi
fi

# Perguntar se deseja definir permissões para um diretório


read -p "Deseja definir permissões para um diretório? (s/n): " set_permissions
if [[ "$set_permissions" =~ ^[Ss]$ ]]; then
read -p "Digite o caminho do diretório: " diretorio

# Verificar se o diretório existe


if [ ! -d "$diretorio" ]; then
mensagem erro "O diretório $diretorio não existe."
exit 1
fi

# Definir permissões
read -p "Digite as permissões no formato numérico (ex: 755): " permissoes
chmod "$permissoes" "$diretorio"
chown -R "$username":"$groupname" "$diretorio"

if [ $? -eq 0 ]; then
mensagem sucesso "Permissões definidas para o diretório $diretorio."
else
mensagem erro "Falha ao definir permissões para o diretório $diretorio."
fi
fi

mensagem sucesso "Processo concluído!"


-------------------------------------------------------------------------------------------------------------

Como usar o script


1. Salve o script em um arquivo, por exemplo, criar_usuario.sh.

2. Torne o script executável:


chmod +x criar_usuario.sh

3. Execute o script como root:

sudo ./criar_usuario.sh
Funcionalidades do Script
1. Criação de Usuário:
• Solicita o nome do usuário e cria uma conta no sistema.
• Define uma senha para o usuário.
2. Adição a Grupos:
• Pergunta se o usuário deve ser adicionado a um grupo existente.
• Se o grupo não existir, o script cria o grupo automaticamente.
3. Definição de Permissões:
• Pergunta se o administrador deseja definir permissões para um diretório.
• Permite definir permissões numéricas (ex: 755) e alterar o proprietário do diretório.
4. Interatividade:
• O script faz perguntas interativas para guiar o administrador durante o processo.
5. Validações:
• Verifica se o usuário já existe.
• Verifica se o grupo ou diretório existe antes de prosseguir.

Considerações Finais
Este script é altamente personalizável e pode ser adaptado para incluir mais funcionalidades, como:
• Verificação de integridade de senhas.
• Criação automática de diretórios pessoais.
• Log de ações em um arquivo de log.
ARQUIVOS DE LOGS
Os arquivos de log (ou simplesmente logs) são arquivos de texto que registram
eventos, atividades e mensagens geradas por sistemas, aplicativos ou serviços em um
computador. Eles são essenciais para monitorar, depurar e auditar o funcionamento de
sistemas, pois fornecem um histórico detalhado do que aconteceu em um
determinado período.

Para que servem os arquivos de log?


1. Monitoramento:
• Permitem acompanhar o comportamento de sistemas e aplicativos em tempo real.
• Exemplo: Verificar se um servidor web está funcionando corretamente.
2. Depuração (Debugging):
• Ajudam a identificar e corrigir erros ou falhas em sistemas e aplicativos.
• Exemplo: Descobrir por que um serviço parou de funcionar.
3. Auditoria e Segurança:
• Registram atividades de usuários e acessos a sistemas, ajudando a detectar atividades
suspeitas ou não autorizadas.
• Exemplo: Identificar tentativas de invasão em um servidor.
4. Análise de Desempenho:
• Fornecem dados para avaliar o desempenho de sistemas e aplicativos.
• Exemplo: Verificar o tempo de resposta de um banco de dados.
5. Cumprimento de Normas:
• Em alguns casos, manter logs é uma exigência legal ou regulatória.
• Exemplo: Empresas que precisam seguir normas como GDPR ou PCI-DSS.

Onde os logs são armazenados?


No Linux, os arquivos de log geralmente ficam no diretório /var/log/. Alguns exemplos
comuns de logs incluem:
• /var/log/syslog: Logs gerais do sistema.
• /var/log/auth.log: Logs de autenticação e segurança (acessos, logins, etc.).
• /var/log/kern.log: Logs relacionados ao kernel do sistema.
• /var/log/apache2/: Logs do servidor web Apache (acessos e erros).
• /var/log/mysql/: Logs do servidor de banco de dados MySQL.

Estrutura de um arquivo de log


Um arquivo de log geralmente contém linhas no seguinte formato:
Copy
[Data e Hora] [Tipo de Evento] [Mensagem]

Exemplo:
Copy
Oct 10 14:22:01 ubuntu systemd[1]: Started Daily apt upgrade and clean
activities.

• Data e Hora: Quando o evento ocorreu.


• Tipo de Evento: O tipo de atividade ou erro (ex: "Started", "Error", "Warning").
• Mensagem: Descrição detalhada do evento.

Ferramentas para trabalhar com logs


1. Visualização de Logs:
• cat: Exibe o conteúdo completo de um arquivo.

bash
Copy
cat /var/log/syslog

• tail: Exibe as últimas linhas de um arquivo (útil para logs em tempo real).

bash
Copy
tail -f /var/log/syslog

• less: Permite navegar pelo arquivo de log.

bash
Copy
less /var/log/syslog
2. Filtragem de Logs:
• grep: Filtra linhas que contêm uma palavra-chave.

bash
Copy
grep "error" /var/log/syslog

3. Rotação de Logs:
• Ferramentas como logrotate são usadas para gerenciar logs antigos, compactá-
los e excluí-los após um período.
4. Análise Avançada:
• Ferramentas como ELK Stack (Elasticsearch, Logstash, Kibana) ou Splunk são
usadas para análise e visualização de grandes volumes de logs.

Exemplo de Uso de Logs


Suponha que você esteja enfrentando problemas com um servidor web. Você pode verificar os logs
do Apache para identificar o problema:
bash
Copy
tail -n 50 /var/log/apache2/error.log

Isso exibirá as últimas 50 linhas do log de erros do Apache, onde você pode encontrar mensagens
como:
Copy
[Wed Oct 10 14:22:01.123456] [error] [client 192.168.1.1] File does not
exist: /var/www/html/missing-page.html

Essa mensagem indica que um cliente tentou acessar um arquivo que não existe no servidor.

Boas Práticas com Logs


1. Níveis de Log:
• Use níveis como INFO, WARNING, ERROR e DEBUG para classificar a importância
das mensagens.
2. Rotação de Logs:
• Configure a rotação para evitar que os logs ocupem muito espaço em disco.
3. Segurança:
• Restrinja o acesso a arquivos de log, pois eles podem conter informações sensíveis.
4. Backup:
• Faça backup de logs importantes para análise futura ou auditoria.

Conclusão
Arquivos de log são ferramentas poderosas para administradores de sistemas, desenvolvedores e
equipes de segurança. Eles fornecem insights valiosos sobre o funcionamento de sistemas e ajudam
a resolver problemas de forma eficiente. Se você estiver trabalhando com sistemas Linux, dominar
o uso de logs é essencial para garantir a estabilidade e a segurança do ambiente.

TUDO SOBRE SSH


Sim, é possível ter acesso total a outro computador através do SSH (Secure Shell),
mesmo tendo criado apenas uma conta de usuário no outro computador com Linux
Ubuntu. No entanto, o nível de acesso dependerá das permissões concedidas ao
usuário. Vamos explorar como isso funciona e como você pode obter acesso total
(root) se necessário.

1. Acesso como Usuário Comum


Quando você cria uma conta de usuário em um computador Linux e se conecta via
SSH, você terá acesso às permissões desse usuário. Por exemplo:
• Se o usuário for um usuário comum (não root), você poderá:
• Acessar arquivos e diretórios pertencentes ao usuário.
• Executar comandos com as permissões do usuário.
• Não poderá modificar arquivos do sistema ou executar comandos que
exigem privilégios de root.
Exemplo de conexão SSH como usuário comum:
bash
Copy
ssh usuario@ip_do_outro_computador
2. Acesso como Root (Acesso Total)
Para obter acesso total ao sistema, você precisa de privilégios de superusuário
(root). Existem duas maneiras principais de fazer isso:

a) Conectar-se diretamente como root via SSH


• Por padrão, o acesso SSH como root é desabilitado no Ubuntu por motivos de
segurança. Para habilitá-lo:
1. Edite o arquivo de configuração do SSH:
bash
Copy
sudo nano /etc/ssh/sshd_config

2. Localize a linha:
Copy
#PermitRootLogin prohibit-password

Altere para:
Copy
PermitRootLogin yes

3. Reinicie o serviço SSH:


bash
Copy
sudo systemctl restart ssh

4. Conecte-se como root:


bash
Copy
ssh root@ip_do_outro_computador

b) Usar sudo para obter privilégios de root


• Se você não quiser habilitar o acesso direto como root, pode usar o comando sudo para
executar comandos com privilégios de root após se conectar como um usuário comum.
1. Adicione o usuário ao grupo sudo (se ainda não estiver):

bash
Copy
sudo usermod -aG sudo usuario

2. Conecte-se via SSH como usuário comum:


bash
Copy
ssh usuario@ip_do_outro_computador

3. Use sudo para executar comandos como root:

bash
Copy
sudo comando

Exemplo:
bash
Copy
sudo apt update

3. Acesso Total sem Senha de Root


Se você não tem a senha do root, mas tem acesso a um usuário com permissões sudo, pode
redefinir a senha do root ou obter acesso total da seguinte forma:

a) Redefinir a senha do root


1. Conecte-se via SSH como um usuário com permissões sudo.

2. Execute o comando para redefinir a senha do root:


bash
Copy
sudo passwd root

3. Insira uma nova senha para o root.

b) Acessar uma shell como root


1. Conecte-se via SSH como um usuário com permissões sudo.

2. Execute o comando para obter uma shell como root:


bash
Copy
sudo -i

ou
bash
Copy
sudo su
4. Considerações de Segurança
• Acesso root via SSH: Habilitar o acesso root via SSH pode ser perigoso, pois expõe o
sistema a ataques. Recomenda-se usar sudo em vez de habilitar o acesso direto ao root.

• Chaves SSH: Para maior segurança, use autenticação por chaves SSH em vez de senhas.
• Firewall: Configure um firewall (como ufw) para restringir o acesso SSH a IPs confiáveis.

Resumo
• Acesso como usuário comum: Você pode acessar o sistema via SSH com as permissões do
usuário criado.
• Acesso total (root): É possível obter acesso total ao sistema via SSH, seja conectando-se
diretamente como root (se habilitado) ou usando sudo a partir de um usuário comum.

• Segurança: Tome cuidado ao habilitar o acesso root via SSH e sempre priorize o uso de
sudo e chaves SSH para autenticação.

ADICIONAR ATALHO NO
LINUX UBUNTU
Sim, é possível criar um ícone no Linux Ubuntu que, quando clicado, execute um
shell script. Isso pode ser feito criando um atalho (.desktop) na área de trabalho ou no
menu de aplicativos. Vou te guiar passo a passo para criar esse ícone.

Passo a Passo para Criar um Ícone que Executa um Shell Script


1. Crie o Shell Script
Primeiro, certifique-se de que o shell script está pronto e funcionando. Por exemplo, vamos criar um
script simples chamado meu_script.sh:

bash
Copy
#!/bin/bash
# Exibe uma mensagem
zenity --info --text="Olá, este é o meu script!"
Salve o script em um local acessível, como
/home/seu_usuario/scripts/meu_script.sh.

• Torne o script executável:


bash
Copy
chmod +x /home/seu_usuario/scripts/meu_script.sh

2. Crie um Arquivo .desktop


Os arquivos .desktop são usados para criar atalhos no Linux. Eles podem ser colocados na área
de trabalho ou no menu de aplicativos.
• Crie um arquivo .desktop no diretório ~/.local/share/applications/ (para o
usuário atual) ou /usr/share/applications/ (para todos os usuários). Vamos criar
um para o usuário atual:
bash
Copy
nano ~/.local/share/applications/meu_script.desktop

• Adicione o seguinte conteúdo ao arquivo:


ini
Copy
[Desktop Entry]
Version=1.0
Type=Application
Name=Meu Script
Comment=Executa o meu script personalizado
Exec=/home/seu_usuario/scripts/meu_script.sh
Icon=/caminho/para/um/icone.png
Terminal=false
Categories=Utility;Application;

• Name: Nome do atalho.


• Comment: Descrição do atalho.
• Exec: Caminho completo para o script.
• Icon: Caminho para um ícone personalizado (opcional).
• Terminal: Define se o script deve ser executado em um terminal (true ou false).

• Salve e feche o arquivo.

3. Torne o Arquivo .desktop Executável


Para que o ícone funcione, o arquivo .desktop precisa ter permissão de execução:

bash
Copy
chmod +x ~/.local/share/applications/meu_script.desktop

4. Coloque o Ícone na Área de Trabalho (Opcional)


Se você quiser que o ícone apareça na área de trabalho, copie o arquivo .desktop para o diretório
~/Área de Trabalho/ (ou ~/Desktop/, dependendo do idioma do sistema):

bash
Copy
cp ~/.local/share/applications/meu_script.desktop ~/Área\ de\ Trabalho/

5. Teste o Ícone
• Na área de trabalho ou no menu de aplicativos, procure pelo ícone "Meu Script".
• Clique nele e o script será executado.

Exemplo Completo
Shell Script (meu_script.sh):
bash
Copy
#!/bin/bash
zenity --info --text="Script executado com sucesso!"

Arquivo .desktop (meu_script.desktop):


ini
Copy
[Desktop Entry]
Version=1.0
Type=Application
Name=Meu Script
Comment=Executa o meu script personalizado
Exec=/home/seu_usuario/scripts/meu_script.sh
Icon=/usr/share/icons/gnome/48x48/apps/utilities-terminal.png
Terminal=false
Categories=Utility;Application;

Dicas Adicionais
1. Ícones Personalizados:
• Você pode usar ícones personalizados baixados da internet ou ícones do sistema. No
exemplo acima, usei um ícone do tema GNOME.
• Coloque o ícone em um diretório acessível e referencie o caminho completo no
campo Icon.

2. Executar Scripts com Terminal:


• Se o script exigir interação com o terminal, defina Terminal=true no arquivo
.desktop.

3. Permissões:
• Certifique-se de que o script e o arquivo .desktop tenham permissões de
execução.
4. Menu de Aplicativos:
• Se o arquivo .desktop estiver em ~/.local/share/applications/ ou
/usr/share/applications/, ele aparecerá no menu de aplicativos.

Conclusão
Agora você tem um ícone na área de trabalho ou no menu de aplicativos que, quando clicado,
executa o seu shell script. Isso é útil para automatizar tarefas e tornar o acesso a scripts mais
conveniente.

ADICIONAR ATALHO NO
LINUX UBUNTU(A partir de
um único diretorio)
Sem problemas! Vamos adaptar o passo a passo para o seu ambiente,
considerando que o seu sistema está em português e que você está trabalhando
no diretório "/Secretária" (que equivale ao diretório "Desktop" em inglês).

Passo a Passo Adaptado


1. Crie o Shell Script
Vamos criar um script simples chamado meu_script.sh no diretório /Secretária.

• Abra o terminal e navegue até o diretório /Secretária:

bash
Copy
cd ~/Secretária
• Crie o script:
bash
Copy
nano meu_script.sh

• Adicione o seguinte conteúdo ao script:


bash
Copy
#!/bin/bash
# Exibe uma mensagem
zenity --info --text="Olá, este é o meu script!"

• Salve e feche o arquivo (Ctrl + O para salvar, Enter para confirmar, e Ctrl + X para
sair).
• Torne o script executável:
bash
Copy
chmod +x meu_script.sh

2. Crie um Arquivo .desktop


Agora, vamos criar um arquivo .desktop no diretório /Secretária para que o ícone apareça
na sua área de trabalho.
• Crie o arquivo .desktop:

bash
Copy
nano Meu_Script.desktop

• Adicione o seguinte conteúdo ao arquivo:


ini
Copy
[Desktop Entry]
Version=1.0
Type=Application
Name=Meu Script
Comment=Executa o meu script personalizado
Exec=/home/seu_usuario/Secretária/meu_script.sh
Icon=/usr/share/icons/gnome/48x48/apps/utilities-terminal.png
Terminal=false
Categories=Utility;Application;

Substitua seu_usuario pelo seu nome de usuário real. Por exemplo, se o seu usuário for
joao, o caminho ficaria:

ini
Copy
Exec=/home/joao/Secretária/meu_script.sh

• Salve e feche o arquivo.

3. Torne o Arquivo .desktop Executável


Para que o ícone funcione, o arquivo .desktop precisa ter permissão de execução:

bash
Copy
chmod +x Meu_Script.desktop

4. Teste o Ícone
• Agora, você verá um ícone chamado "Meu Script" na sua área de trabalho
(/Secretária).

• Clique duas vezes no ícone e o script será executado, exibindo a mensagem: "Olá, este é o
meu script!".

Exemplo Completo
Shell Script (meu_script.sh):
bash
Copy
#!/bin/bash
zenity --info --text="Script executado com sucesso!"

Arquivo .desktop (Meu_Script.desktop):


ini
Copy
[Desktop Entry]
Version=1.0
Type=Application
Name=Meu Script
Comment=Executa o meu script personalizado
Exec=/home/seu_usuario/Secretária/meu_script.sh
Icon=/usr/share/icons/gnome/48x48/apps/utilities-terminal.png
Terminal=false
Categories=Utility;Application;

Dicas Adicionais
1. Ícones Personalizados:
• Se você quiser usar um ícone personalizado, coloque o arquivo do ícone (por
exemplo, meu_icone.png) no diretório /Secretária e referencie o caminho
completo no campo Icon:
ini
Copy
Icon=/home/seu_usuario/Secretária/meu_icone.png

2. Executar Scripts com Terminal:


• Se o script exigir interação com o terminal, defina Terminal=true no arquivo
.desktop.

3. Renomear o Ícone:
• Se quiser renomear o ícone, basta alterar o campo Name no arquivo .desktop.

4. Mover para o Menu de Aplicativos:


• Se você quiser que o ícone apareça no menu de aplicativos, mova o arquivo
.desktop para o diretório ~/.local/share/applications/:

bash
Copy
mv Meu_Script.desktop ~/.local/share/applications/

Conclusão
Agora você tem um ícone na sua área de trabalho (/Secretária) que, quando clicado, executa o
seu shell script. Isso é ideal para automatizar tarefas e tornar o acesso a scripts mais conveniente.
PERMIÇÃO NO LINUX
UBUNTU
As permissões no Linux Ubuntu (e em outros sistemas Unix-like) são um mecanismo
fundamental para controlar o acesso a arquivos e diretórios. Elas definem quem pode
ler, escrever ou executar um arquivo ou diretório. Vou explicar como elas funcionam
de forma clara e detalhada.

1. Tipos de Permissões
No Linux, existem três tipos básicos de permissões:
1. Leitura (Read - r):

• Para arquivos: Permite visualizar o conteúdo do arquivo.


• Para diretórios: Permite listar os arquivos dentro do diretório.
2. Escrita (Write - w):

• Para arquivos: Permite modificar o conteúdo do arquivo.


• Para diretórios: Permite criar, renomear ou excluir arquivos dentro do diretório.
3. Execução (Execute - x):

• Para arquivos: Permite executar o arquivo como um programa ou script.


• Para diretórios: Permite acessar o diretório e seus arquivos (ou seja, usar cd para
entrar no diretório).

2. Donos e Grupos
Cada arquivo e diretório no Linux pertence a:
1. Um usuário (Owner):
• O usuário que criou o arquivo ou diretório.
• O dono tem permissões específicas sobre o arquivo/diretório.
2. Um grupo (Group):
• Um grupo de usuários que compartilham as mesmas permissões.
• Útil para conceder acesso a múltiplos usuários de uma vez.
3. Outros (Others):
• Todos os usuários que não são o dono nem fazem parte do grupo.

3. Visualizando Permissões
Para ver as permissões de um arquivo ou diretório, use o comando ls -l:

bash
Copy
ls -l arquivo.txt

A saída será algo como:


Copy
-rw-r--r-- 1 usuario grupo 1024 Out 10 14:22 arquivo.txt

Aqui está o que cada parte significa:


• -rw-r--r--: As permissões (explicadas abaixo).

• 1: Número de links.

• usuario: O dono do arquivo.

• grupo: O grupo do arquivo.

• 1024: Tamanho do arquivo em bytes.

• Out 10 14:22: Data e hora da última modificação.

• arquivo.txt: Nome do arquivo.

4. Entendendo as Permissões
As permissões são representadas por 10 caracteres. Por exemplo:
Copy
-rw-r--r--

Vamos dividir isso:


1. Primeiro caractere (-):

• Indica o tipo de arquivo:


• -: Arquivo regular.

• d: Diretório.

• l: Link simbólico.

2. Próximos 9 caracteres:
• Divididos em 3 grupos de 3 caracteres cada:
• Primeiro grupo (rw-): Permissões do dono (usuário).

• Segundo grupo (r--): Permissões do grupo.

• Terceiro grupo (r--): Permissões para outros.

Cada grupo de 3 caracteres representa:


• r: Leitura.

• w: Escrita.

• x: Execução.

• -: Permissão ausente.

No exemplo acima (-rw-r--r--):

• O dono tem permissão de leitura (r) e escrita (w), mas não de execução (-).

• O grupo e outros têm apenas permissão de leitura (r--).

5. Alterando Permissões
Para alterar permissões, use o comando chmod. Existem duas formas de usar o chmod:

a) Modo Numérico (Octal)


Cada permissão é representada por um número:
• 4: Leitura (r).

• 2: Escrita (w).

• 1: Execução (x).

Some os números para definir as permissões. Por exemplo:


• 7: Leitura + Escrita + Execução (rwx).

• 6: Leitura + Escrita (rw-).

• 5: Leitura + Execução (r-x).

Exemplo: Definir permissões rwxr-xr-- (754) para um arquivo:

bash
Copy
chmod 754 arquivo.txt

b) Modo Simbólico
Use letras para adicionar (+), remover (-) ou definir (=) permissões:

• u: Dono (usuário).
• g: Grupo.
• o: Outros.
• a: Todos (equivalente a ugo).

Exemplos:
• Adicionar permissão de execução para o dono:
bash
Copy
chmod u+x arquivo.txt

• Remover permissão de escrita para o grupo e outros:


bash
Copy
chmod go-w arquivo.txt

• Definir permissões rwxr-xr-- (754) de forma simbólica:

bash
Copy
chmod u=rwx,g=rx,o=r arquivo.txt

6. Alterando Dono e Grupo


Para alterar o dono ou grupo de um arquivo/diretório, use os comandos chown e chgrp.

a) Alterar Dono
bash
Copy
sudo chown novo_usuario arquivo.txt

b) Alterar Grupo
bash
Copy
sudo chgrp novo_grupo arquivo.txt

c) Alterar Dono e Grupo ao Mesmo Tempo


bash
Copy
sudo chown novo_usuario:novo_grupo arquivo.txt
7. Permissões Especiais
Além das permissões básicas, existem permissões especiais:
1. SUID (Set User ID):
• Quando aplicado a um arquivo executável, o arquivo é executado com as permissões
do dono, não do usuário que o executou.
• Representado por s no lugar do x do dono.

• Exemplo: chmod u+s arquivo.

2. SGID (Set Group ID):


• Similar ao SUID, mas aplicado ao grupo.
• Representado por s no lugar do x do grupo.

• Exemplo: chmod g+s arquivo.

3. Sticky Bit:
• Aplicado a diretórios, permite que apenas o dono do arquivo ou o root exclua ou
renomeie arquivos dentro do diretório.
• Representado por t no lugar do x de outros.

• Exemplo: chmod +t diretorio.

8. Exemplo Prático
Suponha que você tenha um script chamado meu_script.sh e queira:

• Definir permissões rwxr-xr-- (754).

• Alterar o dono para joao e o grupo para devs.

Siga os passos:
1. Defina as permissões:
bash
Copy
chmod 754 meu_script.sh

2. Altere o dono e o grupo:


bash
Copy
sudo chown joao:devs meu_script.sh

3. Verifique as permissões:
bash
Copy
ls -l meu_script.sh

Saída esperada:
Copy
-rwxr-xr-- 1 joao devs 1024 Out 10 14:22 meu_script.sh

Conclusão
As permissões no Linux são uma forma poderosa de controlar o acesso a arquivos e diretórios. Com
os comandos chmod, chown e chgrp, você pode gerenciar permissões de forma eficiente.

CRIAÇÃO DE USUARIOS E
GRUPOS NO LINUX
A criação de usuários e grupos no Linux Ubuntu é uma tarefa comum para
administradores de sistemas. Vou te guiar passo a passo para criar usuários e grupos,
além de explicar como associar usuários a grupos e gerenciar permissões.

1. Criação de Usuários
a) Comando adduser
O comando adduser é a forma mais simples e interativa de criar um usuário. Ele cria o usuário, o
diretório home e solicita informações adicionais, como senha e nome completo.
1. Crie um usuário:
bash
Copy
sudo adduser nome_do_usuario

2. Siga as instruções para definir a senha e outras informações (opcionais).

b) Comando useradd
O comando useradd é mais avançado e não é interativo. Ele permite criar um usuário com opções
específicas.
1. Crie um usuário sem diretório home:
bash
Copy
sudo useradd nome_do_usuario

2. Crie um usuário com diretório home:


bash
Copy
sudo useradd -m nome_do_usuario

3. Defina uma senha para o usuário:


bash
Copy
sudo passwd nome_do_usuario

c) Excluir um Usuário
Para excluir um usuário, use o comando deluser:

bash
Copy
sudo deluser nome_do_usuario

• Para remover o diretório home do usuário:


bash
Copy
sudo deluser --remove-home nome_do_usuario

2. Criação de Grupos
a) Comando addgroup
O comando addgroup cria um novo grupo.

1. Crie um grupo:
bash
Copy
sudo addgroup nome_do_grupo

b) Comando groupadd
O comando groupadd é uma alternativa para criar grupos.

1. Crie um grupo:
bash
Copy
sudo groupadd nome_do_grupo

c) Excluir um Grupo
Para excluir um grupo, use o comando delgroup:

bash
Copy
sudo delgroup nome_do_grupo

3. Associar Usuários a Grupos


a) Adicionar um Usuário a um Grupo
Use o comando usermod para adicionar um usuário a um grupo existente.

1. Adicione o usuário ao grupo:


bash
Copy
sudo usermod -aG nome_do_grupo nome_do_usuario

• O parâmetro -aG garante que o usuário seja adicionado ao grupo sem remover
outros grupos aos quais ele pertence.
2. Verifique os grupos do usuário:
bash
Copy
groups nome_do_usuario

b) Remover um Usuário de um Grupo


Use o comando gpasswd para remover um usuário de um grupo.

1. Remova o usuário do grupo:


bash
Copy
sudo gpasswd -d nome_do_usuario nome_do_grupo

4. Gerenciamento de Permissões com Grupos


Após associar usuários a grupos, você pode gerenciar permissões de arquivos e diretórios para
grupos.
a) Definir o Grupo de um Arquivo/Diretório
Use o comando chgrp para alterar o grupo de um arquivo ou diretório.

1. Altere o grupo:
bash
Copy
sudo chgrp nome_do_grupo arquivo_ou_diretorio

b) Definir Permissões para o Grupo


Use o comando chmod para definir permissões para o grupo.

1. Dê permissão de leitura e escrita ao grupo:


bash
Copy
chmod 770 arquivo_ou_diretorio

• 770 significa:

• 7: Permissões do dono (leitura, escrita e execução).

• 7: Permissões do grupo (leitura, escrita e execução).

• 0: Sem permissões para outros.

5. Exemplo Prático
Suponha que você queira:
1. Criar um usuário chamado joao.

2. Criar um grupo chamado devs.

3. Adicionar joao ao grupo devs.

4. Criar um diretório /projetos e definir permissões para o grupo devs.

Siga os passos:
1. Crie o usuário joao:

bash
Copy
sudo adduser joao

2. Crie o grupo devs:

bash
Copy
sudo addgroup devs
3. Adicione joao ao grupo devs:

bash
Copy
sudo usermod -aG devs joao

4. Crie o diretório /projetos:

bash
Copy
sudo mkdir /projetos

5. Altere o grupo do diretório para devs:

bash
Copy
sudo chgrp devs /projetos

6. Defina permissões para o diretório:


bash
Copy
sudo chmod 770 /projetos

7. Verifique as permissões:
bash
Copy
ls -ld /projetos

Saída esperada:
Copy
drwxrwx--- 2 root devs 4096 Out 10 14:22 /projetos

6. Verificando Informações de Usuários e Grupos


a) Listar Usuários
Para listar todos os usuários do sistema:
bash
Copy
cut -d: -f1 /etc/passwd

b) Listar Grupos
Para listar todos os grupos do sistema:
bash
Copy
cut -d: -f1 /etc/group

c) Verificar Grupos de um Usuário


Para ver os grupos aos quais um usuário pertence:
bash
Copy
groups nome_do_usuario

d) Verificar Membros de um Grupo


Para ver os membros de um grupo:
bash
Copy
getent group nome_do_grupo

Conclusão
A criação e gerenciamento de usuários e grupos no Linux Ubuntu são tarefas essenciais para
administrar sistemas multi-usuários. Com os comandos adduser, useradd, addgroup,
usermod e chgrp, você pode configurar permissões e controlar o acesso a arquivos e diretórios
de forma eficiente.

Você também pode gostar