Make Luks
Publicado por Daniel R. (última atualização em 01/12/2020)
[ Hits: 1.427 ]
Homepage: danrtavares.blogspot.com
Este script facilita o uso de arquivos ou dispositivos criptografados com o "cryptsetup". Com ele é possível:
- criar arquivos criptografados
- criptografar drives / pendrives
- montar arquivos, drives e pendrives
Você pode inclusive associar arquivos com extensão "luks" (que ele cria automaticamente) para ser aberto com este script, bastando dar 2x cliques nele para ser facilmente montado, para isso marque a opção "executar no terminal".
#!/bin/bash
#Versao: 1.5
#Define a cifra, pode ser: twofish, aes, serpent
ciph=twofish
#Define o sistema de arquivo a ser usado
form=ext2
#Rótulo padrão, caso não informado
label=pdcrypt
#####################################################################################
checksudo(){
echo "Entre com a senha do usuario:"
if [ $(sudo id -u) != 0 ]
then
echo "Parece que tem algo errado com a senha do usuário"
echo "Tente novamente quando tiver certeza sobre isso"
exit
fi
}
crypt(){
pass=$(mktemp)
chmod 600 "$pass"
cont=true
while $cont
do
read -s -p "Defina a senha de criptografia: " pwf
echo
if [ $pwf ]
then
read -s -p "Confirme a senha: " pwf2
if [ $pwf == $pwf2 ]
then
echo -n $pwf > "$pass"
cont=false
echo
else
echo
echo "Senhas não conferem, tente novamente"
fi
else
echo
echo "Senha em branco não!"
fi
done
read -p "Defina o nome do volume: " label
checksudo
echo "Iniciando o processo, aguarde..." ;
sudo cryptsetup luksFormat -q -c "$ciph"-xts-plain64 -s 512 -h sha512 -i 5000 -y "$pcrypt" --key-file "$pass" --type luks2
sudo cryptsetup luksOpen "$pcrypt" pdcrypt --key-file "$pass"
sudo mkfs.$form -L $label /dev/mapper/pdcrypt
sleep 5
sudo cryptsetup luksClose pdcrypt
shred -u "$pass"
echo "Tudo pronto! Para montar e desmontar, especifique o dispositivo ou arquivo como parâmetro"
echo "Ex: ./mk-luks.sh /dev/sdc1 ou ./mk-luks.sh teste.luks"
echo "Você pode associar arquivos *.luks para ser aberto com este script, mas marque a opção abrir no console"
exit
}
makedrive(){
clear
ls /dev/sd*
read -p "Entre com o dispositivo a ser formatado: /dev/" pcrypt
pcrypt=/dev/$pcrypt
clear
echo "Dispositivo selecionado: "$pcrypt
echo "Cifra a ser usada: "$ciph
echo "Sistema de arquivo a ser usado: "$form
while true; do
read -p "Tem certeza que deseja continuar? Dados poderão ser perdidos S ou N: " sn
case $sn in
[Ss]* ) crypt;;
[Nn]* ) exit;;
* ) echo "Responda S(sim) ou N(não): ";;
esac
done
}
makefile(){
clear
pcrypt=sem_nome
read -p "Defina o nome do arquivo: " pcrypt
pcrypt=$pcrypt.luks
read -p "Defina o tamanho do arquivo Ex: 100M, 1G : " size
clear
echo "Nome do arquivo: "$pcrypt
echo "Tamanho do arquivo: "$size
echo "Cifra a ser usada: "$ciph
echo "Sistema de arquivo a ser usado: "$form
echo "Aguarde..."
fallocate -l $size ~/$pcrypt
mv ~/$pcrypt $(dirname "$SCRIPT")/
crypt
}
if [[ $1 == "" ]]
then
while true; do
read -p "Deseja criar um arquivo(A) ou um drive(D) criptografado? " ad
case $ad in
[Aa]* ) makefile;;
[Dd]* ) makedrive;;
* ) echo "Responda A(arquivo) ou D(drive): ";;
esac
done
else
pcrypt=$1
if [[ -f $pcrypt || -e $pcrypt ]]
then
cryptsetup isLuks $pcrypt
if [ $? == 0 ]
then
UUID=$(cryptsetup luksUUID $pcrypt)
else
echo "Não é um arquivo ou dispositivo LUKS"
exit
fi
if [ -e /dev/mapper/$UUID ]
then
echo "Pronto para desmontar "$pcrypt
read -p "Enter para continuar ou Control+C para cancelar"
checksudo
sudo umount /dev/mapper/$UUID
sudo rm -r /mnt/$UUID
sudo cryptsetup luksClose $UUID
exit
else
checksudo
sudo cryptsetup luksOpen "$pcrypt" $UUID
sudo mkdir /mnt/$UUID
sudo mount /dev/mapper/$UUID /mnt/$UUID
sudo chmod 777 /mnt/$UUID
fi
else
echo "Houve um erro"
exit
fi
fi
Papéis de parede aleatórios direto da internet
RWm4aMp3 - converter arquivos de música m4a para mp3
Medir tempo de acesso a internet no log do Squid
Script para liberar acesso ao PC-Anywhere para pc da rede interna
Xqemu! Uma interface gráfica simples para o qemu.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









