iankelling.org
/
git
/
distro-setup
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mostly fix mail bugs
[distro-setup]
/
rootsshsync
diff --git
a/rootsshsync
b/rootsshsync
index aef668a7b61b9bb9e80bf8af26b76f8705028b84..e962f19295b9b1918b70cd8f3ed48f788939fbef 100755
(executable)
--- a/
rootsshsync
+++ b/
rootsshsync
@@
-1,4
+1,4
@@
-#!/bin/bash
-l
+#!/bin/bash
# Copyright (C) 2016 Ian Kelling
# Licensed under the Apache License, Version 2.0 (the "License");
# Copyright (C) 2016 Ian Kelling
# Licensed under the Apache License, Version 2.0 (the "License");
@@
-13,10
+13,20
@@
# See the License for the specific language governing permissions and
# limitations under the License.
# See the License for the specific language governing permissions and
# limitations under the License.
-if s test -e /q/root/.ssh; then
- s lnf /q/root/.ssh /root
+set -eE -o pipefail
+trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
+
+[[ $EUID == 0 ]] || exec sudo "$BASH_SOURCE" "$@"
+
+if test -e /q/root/.ssh; then
+ dest=/q/root/.ssh
+ /a/exe/lnf $dest /root
else
else
- mkdir /root/.ssh
+ dest=/root/.ssh
+ mkdir -p /root/.ssh
+ chmod 700 /root/.ssh
fi
fi
-s cp -rL $(eval echo ~${SUDO_USER:-$USER})/.ssh/* /root/.ssh
-s chown -R root:root /root/.ssh
+# -t times, so it won't rewrite the file every time,
+# -L resolve links
+rsync -rtL $(eval echo ~${SUDO_USER:-$USER})/.ssh $dest
+chown -R root:root /root/.ssh