Optimized shellcheck hints

This commit is contained in:
Kevin Veen-Birkenbach 2020-12-20 21:58:11 +01:00
parent bc1b9e84a7
commit fa8c972296
10 changed files with 55 additions and 27 deletions

View File

@ -1,2 +1,4 @@
# Storage
For security reasons storages **SHOULD** be encrypted with [LUKS](https://de.wikipedia.org/wiki/Dm-crypt#Erweiterung_mit_LUKS). To keep it standardized and easy this scripts will use [btrfs](https://de.wikipedia.org/wiki/Btrfs) as file system.
@todo create mount folder

View File

@ -1,4 +1,9 @@
#!/bin/bash
# shellcheck disable=SC2015 # Deactivating bool hint
# shellcheck disable=SC2034 # Unused variables
# shellcheck disable=SC2154 # Referenced but not assigned
# shellcheck disable=SC1090 # Can't follow non-constant source. Use a directive to specify location.
# shellcheck disable=SC2001 # See if you can use ${variable//search/replace} instead
source "$(dirname "$(readlink -f "${0}")")/../../base.sh" || (echo "Loading base.sh failed." && exit 1)
set_device_mount_partition_and_mapper_paths(){
@ -26,13 +31,13 @@ create_luks_key_and_update_cryptab(){
then
warning "File allready exist. Overwritting!"
fi
sudo dd if=/dev/urandom of=$secret_key_path bs=512 count=8 &&
sudo cryptsetup -v luksAddKey $2 $secret_key_path &&
sudo dd if=/dev/urandom of="$secret_key_path" bs=512 count=8 &&
sudo cryptsetup -v luksAddKey "$2" "$secret_key_path" &&
info "Opening and closing device to verify that that everything works fine..." &&
sudo cryptsetup -v luksOpen $2 $1 --key-file=$secret_key_path &&
sudo cryptsetup -v luksClose $1 &&
sudo cryptsetup -v luksOpen "$2" "$1" --key-file="$secret_key_path" &&
sudo cryptsetup -v luksClose "$1" &&
info "Reading UUID..." &&
uuid_line=$(sudo cryptsetup luksDump $2 | grep "UUID") &&
uuid_line=$(sudo cryptsetup luksDump "$2" | grep "UUID") &&
uuid=$(echo "${uuid_line/UUID:/""}"|sed -e "s/[[:space:]]\+//g") &&
crypttab_path="/etc/crypttab" &&
crypttab_entry="$1 UUID=$uuid $secret_key_path luks" &&

View File

@ -1,4 +1,8 @@
#!/bin/bash
# shellcheck disable=SC1090 # Can't follow non-constant source. Use a directive to specify location.
# shellcheck disable=SC2015 # Deactivating bool hint
# shellcheck disable=SC2034 # Unused variables
# shellcheck disable=SC2154 # Referenced but not assigned
source "$(dirname "$(readlink -f "${0}")")/../base.sh" || (echo "Loading base.sh failed." && exit 1)
set_raid1_devices_mount_partition_and_mapper_paths(){
info "RAID1 partition 1..." &&

View File

@ -1,7 +1,9 @@
#!/bin/bash
# shellcheck disable=SC1090 # Can't follow non-constant source. Use a directive to specify location.
# shellcheck disable=SC2154 # Referenced but not assigned
source "$(dirname "$(readlink -f "${0}")")/base.sh" || (echo "Loading base.sh failed." && exit 1)
info "Automount raid1 encrypted storages..."
create_luks_key_and_update_cryptab $mapper_name_1 $partition_path_1
create_luks_key_and_update_cryptab $mapper_name_2 $partition_path_2
update_fstab $mapper_path_1 $mount_path_1
create_luks_key_and_update_cryptab "$mapper_name_1" "$partition_path_1"
create_luks_key_and_update_cryptab "$mapper_name_2" "$partition_path_2"
update_fstab "$mapper_path_1" "$mount_path_1"
success "Installation finished. Please restart :)"

View File

@ -2,19 +2,22 @@
# @author Kevin Veen-Birkenbach [kevin@veen.world]
# @see https://balaskas.gr/btrfs/raid1.html
# @see https://mutschler.eu/linux/install-guides/ubuntu-btrfs-raid1/
# shellcheck disable=SC1090 # Can't follow non-constant source. Use a directive to specify location.
# shellcheck disable=SC2015 # Deactivating bool hint
# shellcheck disable=SC2154 # Referenced but not assigned
source "$(dirname "$(readlink -f "${0}")")/base.sh" || (echo "Loading base.sh failed." && exit 1)
set_raid1_devices_mount_partition_and_mapper_paths
info "Encrypting $partition_path_1..." &&
cryptsetup luksFormat $partition_path_1 &&
cryptsetup luksFormat "$partition_path_1" &&
info "Encrypting $partition_path_2..." &&
cryptsetup luksFormat $partition_path_2 &&
cryptsetup luksFormat "$partition_path_2" &&
blkid | tail -2 &&
cryptsetup luksOpen $partition_path_1 $mapper_name_1 &&
cryptsetup luksOpen $partition_path_2 $mapper_name_2 &&
cryptsetup status $mapper_path_1 &&
cryptsetup status $mapper_path_2 &&
mkfs.btrfs -L $label -m raid1 -d raid1 $mapper_path_1 $mapper_path_2 &&
cryptsetup luksOpen "$partition_path_1" "$mapper_name_1" &&
cryptsetup luksOpen "$partition_path_2" "$mapper_name_2" &&
cryptsetup status "$mapper_path_1" &&
cryptsetup status "$mapper_path_2" &&
mkfs.btrfs -m raid1 -d raid1 "$mapper_path_1" "$mapper_path_2" &&
success "Encryption successfull :)" ||
error

View File

@ -1,2 +1,3 @@
#!/bin/bash
# shellcheck disable=SC1090 # Can't follow non-constant source. Use a directive to specify location.
source "$(dirname "$(readlink -f "${0}")")/../base.sh" || (echo "Loading base.sh failed." && exit 1)

View File

@ -1,15 +1,18 @@
#!/bin/bash
# shellcheck disable=SC1090 # Can't follow non-constant source. Use a directive to specify location.
# shellcheck disable=SC2015 # Deactivating bool hint
# shellcheck disable=SC2154 # Referenced but not assigned
source "$(dirname "$(readlink -f "${0}")")/base.sh" || (echo "Loading base.sh failed." && exit 1)
echo "Mounts encrypted storages"
set_device_mount_partition_and_mapper_paths
info "Unlock partition..." &&
sudo cryptsetup luksOpen $partition_path $mapper_name ||
sudo cryptsetup luksOpen "$partition_path" "$mapper_name" ||
error
info "Mount partition..." &&
sudo mount $mapper_path $mount_path ||
sudo mount "$mapper_path" "$mount_path" ||
error
success "Mounting successfull :)"

View File

@ -1,11 +1,13 @@
#!/bin/bash
# shellcheck disable=SC1090 # Can't follow non-constant source. Use a directive to specify location.
# shellcheck disable=SC2154 # Referenced but not assigned
source "$(dirname "$(readlink -f "${0}")")/base.sh" || (echo "Loading base.sh failed." && exit 1)
echo "Automount encrypted storages"
echo
set_device_mount_partition_and_mapper_paths
create_luks_key_and_update_cryptab $mapper_name $partition_path
create_luks_key_and_update_cryptab "$mapper_name" "$partition_path"
update_fstab $mapper_path $mount_path
update_fstab "$mapper_path" "$mount_path"
success "Installation finished. Please restart :)"

View File

@ -1,4 +1,7 @@
#!/bin/bash
# shellcheck disable=SC1090 # Can't follow non-constant source. Use a directive to specify location.
# shellcheck disable=SC2015 # Deactivating bool hint
# shellcheck disable=SC2154 # Referenced but not assigned
source "$(dirname "$(readlink -f "${0}")")/base.sh" || (echo "Loading base.sh failed." && exit 1)
echo "Setups disk encryption"
@ -23,25 +26,25 @@ info "Creating partition table..."
error
info "Encrypt $device_path..." &&
sudo cryptsetup -v -y luksFormat $partition_path ||
sudo cryptsetup -v -y luksFormat "$partition_path" ||
error
info "Unlock partition..." &&
sudo cryptsetup luksOpen $partition_path $mapper_name ||
sudo cryptsetup luksOpen "$partition_path" "$mapper_name" ||
error
info "Create btrfs file system..." &&
sudo mkfs.btrfs $mapper_path || error
sudo mkfs.btrfs "$mapper_path" || error
info "Creating mount folder unter \"$mount_path\"..." &&
sudo mkdir -p $mount_path || error
sudo mkdir -p "$mount_path" || error
info "Mount partition..." &&
sudo mount $mapper_path $mount_path ||
sudo mount "$mapper_path" "$mount_path" ||
error
info "Own partition by user..." &&
sudo chown -R $USER:$USER $mount_path ||
sudo chown -R "$USER":"$USER" "$mount_path" ||
error
success "Encryption successfull :)"

View File

@ -1,12 +1,15 @@
#!/bin/bash
# shellcheck disable=SC1090 # Can't follow non-constant source. Use a directive to specify location.
# shellcheck disable=SC2015 # Deactivating bool hint
# shellcheck disable=SC2154 # Referenced but not assigned
source "$(dirname "$(readlink -f "${0}")")/base.sh" || (echo "Loading base.sh failed." && exit 1)
echo "Unmount encrypted storages"
set_device_mount_partition_and_mapper_paths
info "Unmount $mapper_path..."
sudo umount $mapper_path &&
sudo cryptsetup luksClose $mapper_path ||
sudo umount "$mapper_path" &&
sudo cryptsetup luksClose "$mapper_path" ||
error
success "Successfull :)"