diff --git a/etc/init.d/dm-postgresql b/etc/init.d/dm-postgresql index ee883962488a603061b95ada81a2649b85363c9a..99c9ffa4a8131bc057f63c22ae43b0658a137eaa 100755 --- a/etc/init.d/dm-postgresql +++ b/etc/init.d/dm-postgresql @@ -72,6 +72,8 @@ PGROOT=$DM_SUPPORT_DIR/postgresql/$DM_HOST_ARCH PGENGINE=$PGROOT/bin #PGUSER=dm PGUSER=`whoami` +PGGROUPID=`id $PGUSER | cut -f1` +PGGROUP=`getent group $PGGROUPID | cut -d: -f1` PGPORT=11136 # 111-DM PGDATA=$PGROOT/data @@ -82,9 +84,9 @@ PGSTARTUPLOG=$PGLOGDIR/postgresql PGPIDFILE=$PGRUNDIR/postmaster.pid PGLOCKFILE=$PGRUNDIR/postmaster.lock -mkdir -p $PGDATA && chown -R $PGUSER:$PGUSER $PGDATA -mkdir -p $PGRUNDIR && chown -R $PGUSER:$PGUSER $PGRUNDIR -mkdir -p $PGLOGDIR && chown -R $PGUSER:$PGUSER $PGLOGDIR +mkdir -p $PGDATA && chown -R $PGUSER:$PGGROUP $PGDATA +mkdir -p $PGRUNDIR && chown -R $PGUSER:$PGGROUP $PGRUNDIR +mkdir -p $PGLOGDIR && chown -R $PGUSER:$PGGROUP $PGLOGDIR export PGDATA export PGPORT @@ -104,7 +106,7 @@ start() { # Make sure startup-time log file is valid if [ ! -e "$PGSTARTUPLOG" -a ! -h "$PGSTARTUPLOG" ]; then touch "$PGSTARTUPLOG" || exit 1 - chown $PGUSER:$PGUSER "$PGSTARTUPLOG" + chown $PGUSER:$PGGROUP "$PGSTARTUPLOG" chmod go-rwx "$PGSTARTUPLOG" [ -x /sbin/restorecon ] && /sbin/restorecon "$PGSTARTUPLOG" fi @@ -191,7 +193,7 @@ initdb() { echo -n $"Initializing database: " if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ]; then mkdir -p "$PGDATA" || exit 1 - chown $PGUSER:$PGUSER "$PGDATA" + chown $PGUSER:$PGGROUP "$PGDATA" chmod go-rwx "$PGDATA" fi @@ -201,7 +203,7 @@ initdb() { # Make sure the startup-time log file is OK, too if [ ! -e "$PGSTARTUPLOG" -a ! -h "$PGSTARTUPLOG" ]; then touch "$PGSTARTUPLOG" || exit 1 - chown $PGUSER:$PGUSER "$PGSTARTUPLOG" + chown $PGUSER:$PGGROUP "$PGSTARTUPLOG" chmod go-rwx "$PGSTARTUPLOG" [ -x /sbin/restorecon ] && /sbin/restorecon "$PGSTARTUPLOG" fi @@ -212,7 +214,7 @@ initdb() { # Create directory for postmaster log mkdir -p "$PGDATA/pg_log" - chown $PGUSER:$PGUSER "$PGDATA/pg_log" + chown $PGUSER:$PGGROUP "$PGDATA/pg_log" chmod go-rwx "$PGDATA/pg_log" if [ -f "$PGDATA/PG_VERSION" ]; then