summaryrefslogtreecommitdiff
blob: e50b4406646d9af3c7daf178782cf627ceeb5fd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash -e

cd "${MY_INSTALLDIR}"

if [[ $1 = install ]]; then
	# We need to lock down cache/ for the operations below to be
	# safe. The permissions match the webapp-config defaults but these
	# can be changed and existing installations may also differ.
	chown root:root cache/
	chmod 00755 cache/

	chgrp --no-dereference ttrssd feed-icons/ lock/ cache/*/
	chmod g+ws feed-icons/ lock/ cache/*/

	# Files within lock/ are exclusively written by the update daemon.
	# feed-icons/ and cache/ holds files that are modified in place by both
	# processes and therefore ACLs are required to ensure that the files
	# themselves are created as group writable.
	if ! setfacl --modify d:g::rwX feed-icons/ cache/*/; then
		echo "WARNING: ACLs are not available on this filesystem. Either enable them or set TTRSSD_USER to your PHP user in /etc/conf.d/ttrssd to avoid permission issues."
	elif [[ -n $(find feed-icons/ cache/ -type f ! -name ".*" ! -name index.html ! \( -group ttrssd -perm -020 \) -print -quit) ]]; then
		echo "WARNING: Files that are not writable by the ttrssd group found within the cache or feed-icons directories. Either delete them or correct their permissions."
	fi
fi