From: Michal Ruprich <mruprich@redhat.com>
diff --git a/redhat/bgpd.service b/redhat/bgpd.service
index a50bfff..2eda1b8 100644
--- a/redhat/bgpd.service
+++ b/redhat/bgpd.service
@@ -11,7 +11,7 @@ Documentation=man:bgpd
Type=forking
EnvironmentFile=/etc/sysconfig/quagga
ExecStartPre=-/bin/chmod -f 640 /etc/quagga/bgpd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/bgpd.conf
+ExecStartPre=-/bin/chown -f ${QUAGGA_USER}:${QUAGGA_GROUP} /etc/quagga/bgpd.conf
ExecStart=/usr/sbin/bgpd -d $BGPD_OPTS -f /etc/quagga/bgpd.conf
Restart=on-abort
diff --git a/redhat/isisd.service b/redhat/isisd.service
index 93663aa..db33281 100644
--- a/redhat/isisd.service
+++ b/redhat/isisd.service
@@ -11,7 +11,7 @@ Documentation=man:isisd
Type=forking
EnvironmentFile=/etc/sysconfig/quagga
ExecStartPre=-/bin/chmod -f 640 /etc/quagga/isisd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/isisd.conf
+ExecStartPre=-/bin/chown -f ${QUAGGA_USER}:${QUAGGA_GROUP} /etc/quagga/isisd.conf
ExecStart=/usr/sbin/isisd -d $ISISD_OPTS -f /etc/quagga/isisd.conf
Restart=on-abort
diff --git a/redhat/nhrpd.service b/redhat/nhrpd.service
index 5b4120d..043c220 100644
--- a/redhat/nhrpd.service
+++ b/redhat/nhrpd.service
@@ -11,7 +11,7 @@ Documentation=man:nhrpd
Type=forking
EnvironmentFile=/etc/sysconfig/quagga
ExecStartPre=-/bin/chmod -f 640 /etc/quagga/nhrpd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/nhrpd.conf
+ExecStartPre=-/bin/chown -f ${QUAGGA_USER}:${QUAGGA_GROUP} /etc/quagga/nhrpd.conf
ExecStart=/usr/sbin/nhrpd -d $NHRPD_OPTS -f /etc/quagga/nhrpdd.conf
Restart=on-abort
diff --git a/redhat/ospf6d.service b/redhat/ospf6d.service
index 3c1c978..a0d6223 100644
--- a/redhat/ospf6d.service
+++ b/redhat/ospf6d.service
@@ -11,7 +11,7 @@ Documentation=man:ospf6d
Type=forking
EnvironmentFile=/etc/sysconfig/quagga
ExecStartPre=-/bin/chmod -f 640 /etc/quagga/ospf6d.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/ospf6d.conf
+ExecStartPre=-/bin/chown -f ${QUAGGA_USER}:${QUAGGA_GROUP} /etc/quagga/ospf6d.conf
ExecStart=/usr/sbin/ospf6d -d $OSPF6D_OPTS -f /etc/quagga/ospf6d.conf
Restart=on-abort
diff --git a/redhat/ospfd.service b/redhat/ospfd.service
index 0084b6c..ffc048a 100644
--- a/redhat/ospfd.service
+++ b/redhat/ospfd.service
@@ -11,7 +11,7 @@ Documentation=man:ospfd
Type=forking
EnvironmentFile=/etc/sysconfig/quagga
ExecStartPre=-/bin/chmod -f 640 /etc/quagga/ospfd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/ospfd.conf
+ExecStartPre=-/bin/chown -f ${QUAGGA_USER}:${QUAGGA_GROUP} /etc/quagga/ospfd.conf
ExecStart=/usr/sbin/ospfd -d $OSPFD_OPTS -f /etc/quagga/ospfd.conf
Restart=on-abort
diff --git a/redhat/pimd.service b/redhat/pimd.service
index 1916846..ae30f16 100644
--- a/redhat/pimd.service
+++ b/redhat/pimd.service
@@ -9,7 +9,7 @@ Documentation=man:pimd
Type=forking
EnvironmentFile=/etc/sysconfig/quagga
ExecStartPre=-/bin/chmod -f 640 /etc/quagga/pimd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/pimd.conf
+ExecStartPre=-/bin/chown -f ${QUAGGA_USER}:${QUAGGA_GROUP} /etc/quagga/pimd.conf
ExecStart=/usr/sbin/pimd -d $PIMD_OPTS -f /etc/quagga/pimd.conf
Restart=on-abort
diff --git a/redhat/ripd.service b/redhat/ripd.service
index 103b5a9..56e885a 100644
--- a/redhat/ripd.service
+++ b/redhat/ripd.service
@@ -11,7 +11,7 @@ Documentation=man:ripd
Type=forking
EnvironmentFile=/etc/sysconfig/quagga
ExecStartPre=-/bin/chmod -f 640 /etc/quagga/ripd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/ripd.conf
+ExecStartPre=-/bin/chown -f ${QUAGGA_USER}:${QUAGGA_GROUP} /etc/quagga/ripd.conf
ExecStart=/usr/sbin/ripd -d $RIPD_OPTS -f /etc/quagga/ripd.conf
Restart=on-abort
diff --git a/redhat/ripngd.service b/redhat/ripngd.service
index 6fe6ba8..c0defa0 100644
--- a/redhat/ripngd.service
+++ b/redhat/ripngd.service
@@ -11,7 +11,7 @@ Documentation=man:ripngd
Type=forking
EnvironmentFile=/etc/sysconfig/quagga
ExecStartPre=-/bin/chmod -f 640 /etc/quagga/ripngd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/ripngd.conf
+ExecStartPre=-/bin/chown -f ${QUAGGA_USER}:${QUAGGA_GROUP} /etc/quagga/ripngd.conf
ExecStart=/usr/sbin/ripngd -d $RIPNGD_OPTS -f /etc/quagga/ripngd.conf
Restart=on-abort
diff --git a/redhat/zebra.service b/redhat/zebra.service
index fa5a004..d4ba5ea 100644
--- a/redhat/zebra.service
+++ b/redhat/zebra.service
@@ -11,8 +11,8 @@ Type=forking
EnvironmentFile=-/etc/sysconfig/quagga
ExecStartPre=/sbin/ip route flush proto zebra
ExecStartPre=-/bin/chmod -f 640 /etc/quagga/vtysh.conf /etc/quagga/zebra.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /run/quagga /etc/quagga/zebra.conf
-ExecStartPre=-/bin/chown -f ${QUAGGA_USER}${VTY_GROUP:+":$VTY_GROUP"} quaggavty /etc/quagga/vtysh.conf
+ExecStartPre=-/bin/chown -f ${QUAGGA_USER}:${QUAGGA_GROUP} /run/quagga /etc/quagga/zebra.conf
+ExecStartPre=-/bin/sh -c '/bin/chown -f ${QUAGGA_USER}${VTY_GROUP:+":$VTY_GROUP"} /etc/quagga/vtysh.conf'
ExecStart=/usr/sbin/zebra -d $ZEBRA_OPTS -f /etc/quagga/zebra.conf
Restart=on-abort