tomb

the crypto undertaker
git clone git://parazyd.org/tomb.git
Log | Files | Refs | README | LICENSE

commit 8e9cc7d5c23dee8cd2df2bd67958e4b59b8b3070
parent 0ca70509cf3176da3e881b2d9676cf9cd3646524
Author: Jaromil <jaromil@dyne.org>
Date:   Thu, 19 Sep 2013 15:37:21 +0200

more post-hooks documentation and second argument passed with mountpoint

Diffstat:
Mdoc/tomb.1 | 47+++++++++++++++++++++++++++++------------------
Mtomb | 2+-
2 files changed, 30 insertions(+), 19 deletions(-)

diff --git a/doc/tomb.1 b/doc/tomb.1 @@ -237,8 +237,11 @@ example: .B .IP "post-hooks" This hook file gets executed as user by tomb right after opening it; -it can consist of a shell script of a binary executable that performs -batch operations every time a tomb is opened. +it should be a regular shell script, starting with a shell bang. Tomb +executes this hook as user (dropping root priviledges) and giving it +two arguments: "$1" is "open" or "close" depending from the tomb +command given, "$2" is the full path to the mountpoint where the tomb +is open. .SH PRIVILEGE ESCALATION @@ -306,36 +309,44 @@ the tomb will be opened: .EX tomb open GPG.tomb -k GPG.tomb.key - echo ".gnupg .gnupg" > /media/GPG.tomb/bind-hooks - mv ~/.gnupg /media/GPG.tomb/.gnupg && mkdir ~/.gnupg - tomb close GPG && tomb open GPG.tomb -k GPG.tomb.key .EE .IP \(bu -Create an exec post hook that launches a Firefox browser every time -the tomb will be opened, keeping all its profile data inside it: +Script a tomb to launch the Firefox browser every time is opened, +keeping all its profile data inside it: .EX tomb open FOX.tomb -k FOX.tomb.key - - touch /media/FOX.tomb/post-hooks - + cat <<EOF > /media/FOX.tomb/post-hooks +#!/bin/sh +if [ "$1" = "open" ]; then + firefox -no-remote -profile "$2"/firefox-pro & +fi +EOF chmod +x /media/FOX.tomb/post-hooks +.EE - cat <<EOF >> /media/FOX.tomb/post-hooks - -#!/usr/bin/env bash - -if [ "$1" == open ]; then - - firefox -no-remote -profile $(dirname $0)/firefox_prof & +.IP \(bu +Script a tomb to archive Pictures using Shotwell, launching it on open: +.EX + tomb open Pictures.tomb -k Pictures.tomb.key + cat <<EOF > /media/Pictures.tomb/bind-hooks +Pictures Pictures +EOF + cat <<EOF > /media/Pictures.tomb/post-hooks +#!/bin/sh +if [ "$1" = "open" ]; then + which shotwell > /dev/null + if [ "$?" = "0" ]; then + shotwell -d "$2"/Pictures/.shotwell & + fi fi - EOF + chmod +x /media/Pictures.tomb/post-hooks .EE .SH BUGS diff --git a/tomb b/tomb @@ -1553,7 +1553,7 @@ exec_safe_post_hooks() { cat ${mnt}/post-hooks | head -n1 | grep '^#!/' if [ $? = 0 ]; then _success "post hooks found, executing as user $SUDO_USER" - exec_as_user ${mnt}/post-hooks $2 + exec_as_user ${mnt}/post-hooks "$2" "$1" fi }