X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/dc2a8f704fb1cf452e11fc1c80c2f5e39ea8f30f..refs/heads/b-3.5.6.1:/debian/kivitendo.postinst diff --git a/debian/kivitendo.postinst b/debian/kivitendo.postinst index 1999d3049..7307ac840 100755 --- a/debian/kivitendo.postinst +++ b/debian/kivitendo.postinst @@ -12,14 +12,48 @@ then fi # test DB login -if ! echo "\q" | psql kivitendo_auth kivitendo +if ! su postgres -c "psql -c '\du'" | grep kivitendo >/dev/null then - # create kivitendo user - su postgres -c "createuser -dPs kivitendo" + echo "No user named 'kivitendo' found. It is now created." + if [ -n "$a" ] + then + # password is given + su postgres -c "createuser -ds kivitendo ; psql -c \"ALTER USER kivitendo WITH PASSWORD '$a';\"" + else + su postgres -c "createuser -dPs kivitendo" + fi fi -if ! grep kivitendo /etc/postgresql/*/main/pg_hba.conf >/dev/null +main=$(ls -d /etc/postgresql/*/main/) +if ! grep kivitendo $main/pg_hba.conf >/dev/null then - echo "local all kivitendo md5" >> /etc/postgresql/*/main/pg_hba.conf + echo "adding kivitendo user access to $main/pg_hba.conf" + awk 'BEGIN { + found=0; } + /# "local/ { + if (found == 0) { + print; + print "local all kivitendo md5"; + found=1; + next; + }} + /^local.*all.*all/ { + if (found == 0) { + print "local all kivitendo md5"; + print; + found=1; + next; + }} + /^host/ { + if (found == 0) { + print "local all kivitendo md5"; + print; + found=1; + next; + }} + {print;} + ' $main/pg_hba.conf > /tmp/pg_hba.conf + mv /tmp/pg_hba.conf $main/pg_hba.conf + chown postgres:postgres $main/pg_hba.conf systemctl reload postgresql fi