/
install_nexcloud_user_access.sh
executable file
·43 lines (30 loc) · 1.26 KB
/
install_nexcloud_user_access.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
# Prepare users environment to mount a nextcloud instance via
# davfs2
# Released under the GPLv3, Copyright 2018 Felix Wolfsetller
set -euo pipefail
main() {
local nextcloud_hostname=nexcloud.mydomain
local nextcloud_username=username
local nextcloud_password=password
local nextcloud_user_mountpoint="$HOME/server-mount-point"
# Prepare directories needed by user davfs2 mount
mkdir -p ${nextcloud_user_mountpoint} $HOME/.davfs2/certs
# Configure credentials for davfs/nextcloud
echo https://${nextcloud_hostname}/remote.php/webdav ${nextcloud_username} ${nextcloud_password} > $HOME/.davfs2/secrets
# Restrict access to secrets
chmod 600 ~/.davfs2/secrets
# Fetch server certificate
echo | \
openssl s_client -servername ${nextcloud_hostname} -connect ${nextcloud_hostname}:443 2>/dev/null | \
openssl x509 -outform pem > $HOME/.davfs2/certs/cloud.pem
# Register server certificate
echo trust_server_cert $HOME/.davfs2/certs/cloud.pem > $HOME/.davfs2/davfs2.conf
# Add user to davfs2 group
sudo -S usermod -a -G davfs2 $USER
# Add fstab entry
echo "https://${nextcloud_hostname}/remote.php/webdav ${nextcloud_user_mountpoint} davs auto,user,_netdev 0 0" | sudo tee -a /etc/fstab
}
main
# Graceful exit
exit 0