A senha de Linux ou UNIX protege arquivos?
# ----------------
Como protejo arquivos com senha?
# ----------------
O GNU/Linux e outros sistemas Unix oferecem fortes permissões de arquivo e o conceito de ACL (lista de controle de acesso) na segurança do computador Linux/UNIX, usada para forçar a separação de privilégios. No entanto, nenhum deles oferece uma senha para proteger arquivos.
Você pode usar a ferramenta de criptografia e assinatura GNU gpg (GNU Privacy Guard).
É um conjunto de software criptográfico.
# ----------------
Muitos novos usuários de UNIX/Linux ficam confusos com esse fato.
A solução é usar os seguintes comandos para criptografar ou descriptografar arquivos com uma senha.
Use o comando GNU gpg.
Use o comando mcrypt.
Use o comando openssl.
# ----------------
MCRYPT COMANDO
Mcrypt é um programa simples de criptografia, um substituto para a antiga criptografia unix. Ao criptografar ou descriptografar um arquivo, um novo arquivo é criado com a extensão .nc e modo 0600. Istale pelo software center do seu sistema GNU/Linux.
O novo arquivo mantém a data de modificação do original. O arquivo original pode ser excluído especificando o parâmetro -u.
---
EXEMPLOS:
Encriptar data.txt file:
$ mcrypt data.txt
Output:
Enter the passphrase (maximum of 512 characters)
Please use a combination of upper and lower case letters and numbers.
Enter passphrase:
Enter passphrase:
A new file is created with the extension .nc i.e. data.txt.nc:
$ ls data.txt.nc
$ cat data.txt.nc
Descritografar data.txt.nc file:
$ mcrypt -d data.txt.nc
Output:
Enter passphrase:
File data.txt.nc was decrypted.
Verify that file was decrypted:
$ ls data.txt
$ cat data.txt
# ----------------
COMANDO OPENSSL
O OpenSSL é um kit de ferramentas de criptografia que implementa os protocolos de rede Secure Sockets Layer (SSL v2 / v3) e Transport Layer Security (TLS v1) e os padrões de criptografia relacionados exigidos por eles.
Você pode usar o programa openssl, que é uma ferramenta de linha de comando para usar as várias funções de criptografia da biblioteca de criptografia do OpenSSL a partir do shell.
Pode ser usado para criptografar e descriptografar arquivos com uma senha.
# ----------------
Por exemplo vou criptografar file.txt para file.out usando AES de 256 bits no modo CBC
$ openssl enc-aes-256-cbc -salt -in file.txt -out file.out.
# ----------------
Descriptografe o arquivo criptografado file.out
$ openssl enc-d -es-256-cbc -in file.out
Onde, enc: codificação com cifras.
# ----------------
Uma opção bem fácil também, é usar o SEAHORSE-NAUTILUS. Instale pelo software center do seu sistema GNU/Linux.
# ----------------
Teste com arquivos copiados, até pegar prática.
# ----------------
Você pode até criar um bash shel script para facilitar mais ainda...
#!/usr/bin/env bash
########################
# autor: Arceu Valenti_1000%
# test_cryptografar_mcrypt.sh
# data: 29042020
# versão: 0.0
# uso: ./test_cryptografar_mcrypt.sh
#######################
clear
echo -e "\nAbra o terminal onde está o arquivo a ser criptografado e tecle\
Enter.\nPara sair tecle Ctrl+c"
sleep 2
echo ""
# ------------------------ #
echo -e "\nListando os primeiros arquivos...\n"
sleep 2
ls -tCF | head -15
echo ""
# ------------------------ #
read -p "Digite o nome completo do arquivo : " FILE # armazena URL
echo -e "Você digitou: $FILE" # imprime a FILE
# ------------------------ #
echo "" # parágrafo
# ------------------------ #
echo -e "\e[1mPara criptografar digite um (1), descriptografar dois (2)\e[0m"
while : # loop while
do # fechamento de do é done
read DIGITE # armazena digito 1 ou 2
case $DIGITE in # caso o digito seja...
# fechamento de case é esac
# ------------------------ #
1) # dígito 1 executa...
echo -e "Você digitou: $DIGITE, critografando... "
mcrypt "$FILE" # comando 1
break # sai após executar comando
;;
# ------------------------ #
2) # dígito 2 executa...
echo -e "Você digitou $DIGITE, descriptografando... "
mcrypt -d "$FILE" # comando 2
break # sai após executar comando
;;
# ------------------------- #
*)
echo -e "Desculpe eu só entendo 1 e 2." # se não for nem 1 nem 2...
;;
esac # fechamento de case e sai
# ------------------------ #
done # fechamento de do e acabou
# ------------------------ #
echo ""
read -p "Para deletar o arquivo original Tecle Enter.\
Para sair tecle Ctrl+c."
rm -f "$FILE"
# ------------------------ #
echo -e "\n:Confere a lista de arquivos:\n"
sleep 2
ls -tCF | head -15
# ------------------------ #
echo -e "\n\e[1;33;40m*** E tá tudo resolvido! ***\e[0m\n" # mensagem final
# ------------------------ #
# fim do script
---
Até Breve!
---