a985096b50
pam_mount is supposed to check that as well, but it seems to get confused by the "command#path" syntax used for FUSE. Let's do it here.
38 lines
807 B
Bash
Executable File
38 lines
807 B
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Simple bash script to transform the command-line arguments that
|
|
# pam_mount passes to gocryptfs into something that gocryptfs
|
|
# understands.
|
|
#
|
|
# Currently understood: nonempty,allow_other,quiet.
|
|
# Unknown options are ignored.
|
|
|
|
exec >&2
|
|
set -eu
|
|
MYNAME=$(basename $0)
|
|
|
|
if [[ $# != 4 ]]; then
|
|
echo "$MYNAME: expected 4 arguments, got $#"
|
|
echo "Example: $MYNAME /home/user.crypt /home/user.plain -o allow_other"
|
|
echo "Example: $MYNAME /home/user.crypt /home/user.plain -o defaults"
|
|
exit 1
|
|
fi
|
|
|
|
SRC=$1
|
|
DST=$2
|
|
|
|
if mountpoint "$DST" > /dev/null; then
|
|
echo "$MYNAME: something is already mounted on $DST, refusing"
|
|
exit 2
|
|
fi
|
|
|
|
GOPTS=""
|
|
for OPT in nonempty allow_other quiet; do
|
|
if [[ $4 == *$OPT* ]]; then
|
|
GOPTS="$GOPTS -$OPT"
|
|
fi
|
|
done
|
|
|
|
cd "$(dirname "$0")"
|
|
exec ./gocryptfs $GOPTS $SRC $DST
|