itssh(fs) implementation - 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 936eaabdf97d76a188d416cb1addb41247fa44f5 /git/coffin/commit/936eaabdf97d76a188d416cb1addb41247fa44f5.gph parazyd.org 70 1parent 490b71a2cd862f90538d3cf1ea5b26d6124881c4 /git/coffin/commit/490b71a2cd862f90538d3cf1ea5b26d6124881c4.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Mon, 7 Mar 2016 21:13:51 +0100 Err parazyd.org 70 i Err parazyd.org 70 issh(fs) implementation Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M bin/sacrist | 24 ++++++++++++++++++++---- Err parazyd.org 70 i M gmakehook | 16 ++++++++++++++++ Err parazyd.org 70 i Err parazyd.org 70 i2 files changed, 36 insertions(+), 4 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/bin/sacrist b/bin/sacrist /git/coffin/file/bin/sacrist.gph parazyd.org 70 it@@ -145,18 +145,34 @@ _create_new_tomb() { Err parazyd.org 70 i Err parazyd.org 70 i if [[ $entry =~ webdav && -f $coffindot/webdav.conf ]]; then Err parazyd.org 70 i _msg info "Found WebDAV data. Setting up..." Err parazyd.org 70 i- cat $coffindot/davinfo >> /etc/apache2/davpasswd Err parazyd.org 70 i- _msg info "Wrote to davpasswd" Err parazyd.org 70 i+ if [[ -f $coffindot/davinfo ]]; then Err parazyd.org 70 i+ cat $coffindot/davinfo >> /etc/apache2/davpasswd Err parazyd.org 70 i+ rm $coffindot/davinfo Err parazyd.org 70 i+ gpasswd -a www-data $undertaker Err parazyd.org 70 i+ _msg info "Wrote to davpasswd" Err parazyd.org 70 i+ fi Err parazyd.org 70 i sed -i -e :a -e '$d;N;2,3ba' -e 'P;D' /etc/apache2/sites-available/tomboxdav.conf Err parazyd.org 70 i- cat webdav.conf >> /etc/apache2/sites-available/tomboxdav.conf Err parazyd.org 70 i+ cat $coffindot/webdav.conf >> /etc/apache2/sites-available/tomboxdav.conf Err parazyd.org 70 i _msg info "Wrote to tomboxdav.conf" Err parazyd.org 70 i- gpasswd -a www-data $undertaker Err parazyd.org 70 i+ rm $coffindot/webdav.conf Err parazyd.org 70 i /etc/init.d/apache2 restart Err parazyd.org 70 i _msg info "Done setting up WebDAV!" Err parazyd.org 70 i else Err parazyd.org 70 i _msg info "No WebDAV data found. Continuing..." Err parazyd.org 70 i fi Err parazyd.org 70 i Err parazyd.org 70 i+ if [[ $entry =~ sshfs && -f $coffindot/sshpubkey ]]; then Err parazyd.org 70 i+ _msg info "Found SSH info. Setting up..." Err parazyd.org 70 i+ mkdir -p /home/$undertaker/.ssh Err parazyd.org 70 i+ cat $coffindot/sshpubkey >> /home/$undertaker/.ssh/authorized_keys Err parazyd.org 70 i+ chown -R $undertaker:$undertaker /home/$undertaker/.ssh Err parazyd.org 70 i+ _msg info "Wrote to authorized_keys" Err parazyd.org 70 i+ rm $coffindot/sshpubkey Err parazyd.org 70 i+ _msg info "Done setting up SSH." Err parazyd.org 70 i+ else Err parazyd.org 70 i+ _msg info "No SSH data found. Continuing..." Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ Err parazyd.org 70 i sudo -u $undertaker $tomb dig -s $tombsize $graveyard/$tombid.tomb Err parazyd.org 70 i sudo -u $undertaker $tomb forge $graveyard/$tombid.key --unsafe --tomb-pwd "$keypass" Err parazyd.org 70 i sudo -u $undertaker $tomb lock $graveyard/$tombid.tomb -k $graveyard/$tombid.key \ Err parazyd.org 70 1diff --git a/gmakehook b/gmakehook /git/coffin/file/gmakehook.gph parazyd.org 70 it@@ -173,6 +173,11 @@ function _clean { Err parazyd.org 70 i # }}} Err parazyd.org 70 i Err parazyd.org 70 i # {{{ zenity dialogs Err parazyd.org 70 i+function _fsel { Err parazyd.org 70 i+ --window-icon="$MONMORT" \ Err parazyd.org 70 i+ --file-selection \ Err parazyd.org 70 i+ --title="$1" Err parazyd.org 70 i+} Err parazyd.org 70 i function _zenques { Err parazyd.org 70 i zenity \ Err parazyd.org 70 i --window-icon="$MONMORT" \ Err parazyd.org 70 it@@ -334,6 +339,15 @@ function _create { Err parazyd.org 70 i fi Err parazyd.org 70 i fi Err parazyd.org 70 i Err parazyd.org 70 i+ if [[ $feats =~ "sshfs" ]]; then Err parazyd.org 70 i+ _zenques "Do you already have an SSH key setup for your user?" Err parazyd.org 70 i+ if [[ $? = 1 ]]; then Err parazyd.org 70 i+ sshpubkey=$(_fsel "Select your SSH pubkey you want to use.") Err parazyd.org 70 i+ else Err parazyd.org 70 i+ sshpubkey="" Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ Err parazyd.org 70 i TOMBHOOKS=$(_zenques "Choose 'Yes' if you want to edit your tomb's bind-hooks and post-hooks") Err parazyd.org 70 i if [[ $? = 0 ]]; then Err parazyd.org 70 i bindhook=$(zenity \ Err parazyd.org 70 it@@ -376,6 +390,7 @@ function _create { Err parazyd.org 70 i else Err parazyd.org 70 i print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${feats}" | sudo tee $hooks Err parazyd.org 70 i if [[ $feats =~ "webdav" ]]; then; _writedavinfo; fi Err parazyd.org 70 i+ if [[ -n $sshpubkey ]]; then; cp $sshpubkey ./sshpubkey ; fi Err parazyd.org 70 i if [[ -n $bindhook ]]; then Err parazyd.org 70 i print "$bindhook" | sudo tee $coffindot/bindhooks Err parazyd.org 70 i fi Err parazyd.org 70 it@@ -388,6 +403,7 @@ function _create { Err parazyd.org 70 i else Err parazyd.org 70 i print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${feats}" | sudo tee $hooks Err parazyd.org 70 i if [[ $feats =~ "webdav" ]]; then; _writedavinfo; fi Err parazyd.org 70 i+ if [[ -n $sshpubkey ]]; then; cp $sshpubkey $coffindot/sshpubkey ; fi Err parazyd.org 70 i if [[ -n $bindhook ]]; then Err parazyd.org 70 i print "$bindhook" | sudo tee $coffindot/bindhooks Err parazyd.org 70 i fi Err parazyd.org 70 .