28e0b081b476e4dd9f043527f1e62d9c737f8fed
[platform/upstream/ecryptfs-utils.git] / src / utils / ecryptfs-umount-private
1 #!/bin/sh -e
2 # This script unmounts a user's private ecryptfs folder
3 # and clears the kernel keyring of the relevant keys
4 #
5 # Original by Michael Halcrow, IBM
6 # Extracted to a stand-alone script by Dustin Kirkland <kirkland@ubuntu.com>
7
8 TEXTDOMAIN="ecryptfs-utils"
9
10 if grep -qs "$HOME/.Private $PWD ecryptfs " /proc/mounts 2>/dev/null; then
11         pwd_mounted=1
12 fi
13 if /sbin/umount.ecryptfs_private; then
14         for sig in `cat "$HOME/.ecryptfs/Private.sig"`; do
15                 for key_id in `keyctl list @u | grep "$sig$" | awk -F: '{print $1}'`; do
16                         keyctl unlink "$key_id" @u
17                 done
18         done
19         if [ "$pwd_mounted" = "1" ]; then
20                 echo
21                 echo `gettext "INFO:"` `gettext "Your private directory has been unmounted."`
22                 echo `gettext "INFO:"` `gettext "To see this change in your current shell:"`
23                 echo "  cd $PWD"
24                 echo
25         fi
26 fi