tfeature-ssh - coffin - secure lan file storage on a device
HTML git clone git://parazyd.org/coffin.git
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
tfeature-ssh (1684B)
---
1 #!/usr/bin/env zsh
2 #
3 # Copyright (c) 2016 Dyne.org Foundation
4 # coffin is written and maintained by Ivan J. <parazyd@dyne.org>
5 #
6 # This file is part of coffin
7 #
8 # This source code is free software: you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation, either version 3 of the License, or
11 # (at your option) any later version.
12 #
13 # This software is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this source code. If not, see <http://www.gnu.org/licenses/>.
20
21 create-sshfs-hook() {
22 fn create-sshfs-hook
23 req=(entry tombid COFFINDOT undertaker)
24 ckreq || return 1
25
26 if [[ $entry =~ sshfs && -f $COFFINDOT/$tombid.pub ]]; then
27 act "Found SSH data. Setting up..."
28
29 [[ -d /home/$undertaker/.ssh ]] || mkdir -p /home/$undertaker/.ssh
30 cat $COFFINDOT/$tombid.pub >> /home/$undertaker/.ssh/authorized_keys
31 chown -R $undertaker:$undertaker /home/$undertaker/.ssh
32 chmod 700 /home/$undertaker/.ssh && chmod 600 /home/$undertaker/.ssh/authorized_keys
33
34 ## NOTE: maybe remove SSH key from usb, consider deletion
35 else
36 act "No SSH data found"
37 fi
38 }
39
40 delete-sshfs-hook() {
41 fn delete-sshfs-hook $*
42 req=(undertaker tombid)
43 local undertaker="$1"
44 local tombid="$2"
45 ckreq || return 1
46
47 local authkeys="/home/$undertaker/.ssh/authorized_keys"
48
49 grep -v $tombid $authkeys > $authkeys.tmp
50 mv $authkeys.tmp $authkeys
51
52 act "Deleted SSH data"
53 }