Skip to content

Instantly share code, notes, and snippets.

@bdombro
Last active November 29, 2023 17:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bdombro/abd441b8c52bddb0083a3292a5679ff5 to your computer and use it in GitHub Desktop.
Save bdombro/abd441b8c52bddb0083a3292a5679ff5 to your computer and use it in GitHub Desktop.
ADMIN_USER=manjaro
echo "*******Creating $ADMIN_USER with encrypted home*******"
# Enable user home encryption features (doesnt actually encrypt anything, just enables the features
sudo pacman -Sy lsof
sudo modprobe ecryptfs
if [ $(grep pam_ecryptfs /etc/pam.d/system-auth | wc -l) = "0" ]; then
sudo sed -i '/^auth\s*\[default=die\]\s*pam_faillock.so\s*authfail/a auth [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet\nauth required pam_ecryptfs.so unwrap' /etc/pam.d/system-auth
sudo sed -i '/^-password\s*\[success=1\s*default=ignore\]\s*pam_systemd_home.so/i password optional pam_ecryptfs.so' /etc/pam.d/system-auth
sudo sed -i '/^session\s*required\s*pam_unix.so/a session [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet\nsession optional pam_ecryptfs.so unwrap' /etc/pam.d/system-auth
fi
# sudo userdel $ADMIN_USER; sudo rm -rf /home/$ADMIN_USER*; sudo rm -rf /home/.ecryptfs/$ADMIN_USER
if [ -d /home/$ADMIN_USER ]; then
echo "User "$ADMIN_USER"'s home directory already exists!"; exit
fi
if [ -d /home/.ecryptfs/$ADMIN_USER ]; then
echo "User "$ADMIN_USER"'s home directory already encrypted!"; exit
fi
sudo useradd -mG wheel $ADMIN_USER && sudo passwd $ADMIN_USER && sudo rsync -r ~/ /home/$ADMIN_USER && sudo chown -R $ADMIN_USER:$ADMIN_USER /home/$ADMIN_USER
sudo ecryptfs-migrate-home -u $ADMIN_USER && sudo rm -rf /home/$ADMIN_USER.*
echo "
Next Steps:
- login to new user
- enable location services once logged in:
`gsettings set org.gnome.system.location enabled true`
"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment