itmiddleman shell for webadmin - coffin - secure lan file storage on a device Err parazyd.org 70 hgit clone git://parazyd.org/coffin.git URL:git://parazyd.org/coffin.git parazyd.org 70 1Log /git/coffin/log.gph parazyd.org 70 1Files /git/coffin/files.gph parazyd.org 70 1Refs /git/coffin/refs.gph parazyd.org 70 1Submodules /git/coffin/file/.gitmodules.gph parazyd.org 70 1README /git/coffin/file/README.md.gph parazyd.org 70 1LICENSE /git/coffin/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit c72765a0c46be65f742dca8abf3cf2ae2f0ba319 /git/coffin/commit/c72765a0c46be65f742dca8abf3cf2ae2f0ba319.gph parazyd.org 70 1parent e93d938346c05f829aead9ef59febf0afa9f9403 /git/coffin/commit/e93d938346c05f829aead9ef59febf0afa9f9403.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Sat, 6 Feb 2016 16:20:12 +0100 Err parazyd.org 70 i Err parazyd.org 70 imiddleman shell for webadmin Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i A web/undertaker | 47 +++++++++++++++++++++++++++++++ Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 47 insertions(+), 0 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/web/undertaker b/web/undertaker /git/coffin/file/web/undertaker.gph parazyd.org 70 it@@ -0,0 +1,47 @@ Err parazyd.org 70 i+#!/usr/bin/env zsh Err parazyd.org 70 i+# Err parazyd.org 70 i+# Shell script for webadmin to work as a middleman between the web and Err parazyd.org 70 i+# rest of the tombox Err parazyd.org 70 i+# Err parazyd.org 70 i+# ~ parazyd Err parazyd.org 70 i+ Err parazyd.org 70 i+keymount="/media/tombkey" Err parazyd.org 70 i+coffindot=".coffin" Err parazyd.org 70 i+ Err parazyd.org 70 i+happenz=$1 Err parazyd.org 70 i+device=$2 Err parazyd.org 70 i+user=$3 Err parazyd.org 70 i+size=$4 Err parazyd.org 70 i+ Err parazyd.org 70 i+if [[ $happenz == "CREATE" ]]; then Err parazyd.org 70 i+ Err parazyd.org 70 i+ if [[ -d /home/$user ]]; then Err parazyd.org 70 i+ echo "User already exists. Exiting..."; exit Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ Err parazyd.org 70 i+ sudo useradd -G tombox -m -s /bin/bash $user; echo "Added user: $user
" Err parazyd.org 70 i+ sudo -u $user tomb dig -s $size /home/$user/$user; echo "Finished digging tomb
" Err parazyd.org 70 i+ Err parazyd.org 70 i+ sudo mkdir -p $keymount; echo "mkdir $keymount
" Err parazyd.org 70 i+ sudo mount $device $keymount; echo "Mounted $device to $keymount
" Err parazyd.org 70 i+ sudo mkdir $keymount/$coffindot; echo "mkdir $keymount/$coffindot
" Err parazyd.org 70 i+ sudo chown -R $user:$user $keymount; echo "chown on those
" Err parazyd.org 70 i+ Err parazyd.org 70 i+ sudo -u $user tomb forge $keymount/$coffindot/$user.key --unsafe --tomb-pwd lalala ; \ Err parazyd.org 70 i+ echo "Forged tomb's key at $keymount/$coffindot/$user.key
" Err parazyd.org 70 i+ sudo -u $user tomb lock /home/$user/$user -k $keymount/$coffindot/$user.key --unsafe --tomb-pwd lalala ; \ Err parazyd.org 70 i+ echo "Locked tomb with the key
" Err parazyd.org 70 i+ Err parazyd.org 70 i+ sudo umount $keymount; sudo rmdir $keymount; echo "Unmounted usb key
" Err parazyd.org 70 i+fi Err parazyd.org 70 i+ Err parazyd.org 70 i+if [[ $happenz == "REVOKE" ]]; then Err parazyd.org 70 i+ Err parazyd.org 70 i+ sudo mount $device $keymount Err parazyd.org 70 i+ if ! [[ -d $keymount/$coffindot ]]; then Err parazyd.org 70 i+ echo "No valid $coffindot dir. Exiting..."; exit Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ Err parazyd.org 70 i+ Err parazyd.org 70 i+ Err parazyd.org 70 i+fi Err parazyd.org 70 .