A quick note on how to encrypt a folder with encfs and then mount it on boot via a systemd startup script. In my case the folder is located on a network drive and I wanted it to happen whether I was logged in or not.
Create encfs folder:
encfs <path to encrypted folder> <path to mount decrypted folder>
Follow the prompts to create the folder and set a password.
Next create a file which will contain your decryption password
echo "YOUR_PASSWORD" > /home/user/super_secret_password_location chmod 700 /home/user/super_secret_password_location
Create a simple script to be called by systemd on startup using cat to pass your password over to encfs
#!/bin/bash cat super_secret_password_location | encfs -S path_to_encrypted_folder path_to_mount_decrypted_folder
Finally create a systemd unit to run your script on startup:
vim /etc/systemd/system/mount-encrypted.service
[Unit] Description=Mount encrypted folder After=network.target [Service] User=<YOUR USER> Type=oneshot ExecStartPre=/bin/sleep 20 ExecStart=PATH_TO_SCRIPT TimeoutStopSec=30 KillMode=process [Install] WantedBy=multi-user.target
Then enable the unit:
sudo systemctl daemon-reload sudo systemctl enable mount-encrypted.service
hi there,
there is a typo in the
systemctl enable mountt-encrypted.service
it should be
systemctl enable mount-encrypted.service
thanks for the idea! have a nice day
Good catch, thanks! I fixed the typo.