Index: /trunk/src/VBox/Additions/solaris/Installer/postinstall.sh
===================================================================
--- /trunk/src/VBox/Additions/solaris/Installer/postinstall.sh	(revision 92502)
+++ /trunk/src/VBox/Additions/solaris/Installer/postinstall.sh	(revision 92503)
@@ -98,6 +98,21 @@
     $vboxadditions_path/vboxguest.sh start
 
+    # Figure out group to use for /etc/devlink.tab (before Solaris 11 SRU6
+    # it was always using group sys)
+    group=sys
+    if [ -f /etc/dev/reserved_devnames ]; then
+        # Solaris 11 SRU6 and later use group root (check a file which isn't
+        # tainted by VirtualBox install scripts and allow no other group)
+        refgroup=$(LC_ALL=C /usr/bin/ls -lL /etc/dev/reserved_devnames | awk '{ print $4 }' 2>/dev/null)
+        if [ $? -eq 0 -a "x$refgroup" = "xroot" ]; then
+            group=root
+        fi
+        unset refgroup
+    fi
+
     sed -e '/name=vboxguest/d' /etc/devlink.tab > /etc/devlink.vbox
     echo "type=ddi_pseudo;name=vboxguest	\D" >> /etc/devlink.vbox
+    chmod 0644 /etc/devlink.vbox
+    chown root:$group /etc/devlink.vbox
     mv -f /etc/devlink.vbox /etc/devlink.tab
 
Index: /trunk/src/VBox/Additions/solaris/Installer/preremove.sh
===================================================================
--- /trunk/src/VBox/Additions/solaris/Installer/preremove.sh	(revision 92502)
+++ /trunk/src/VBox/Additions/solaris/Installer/preremove.sh	(revision 92503)
@@ -48,7 +48,21 @@
 /opt/VirtualBoxAdditions/vboxguest.sh stopall silentunload
 
+# Figure out group to use for /etc/devlink.tab (before Solaris 11 SRU6
+# it was always using group sys)
+group=sys
+if [ -f /etc/dev/reserved_devnames ]; then
+    # Solaris 11 SRU6 and later use group root (check a file which isn't
+    # tainted by VirtualBox install scripts and allow no other group)
+    refgroup=$(LC_ALL=C /usr/bin/ls -lL /etc/dev/reserved_devnames | awk '{ print $4 }' 2>/dev/null)
+    if [ $? -eq 0 -a "x$refgroup" = "xroot" ]; then
+        group=root
+    fi
+    unset refgroup
+fi
+
 # remove devlink.tab entry for vboxguest
-sed -e '
-/name=vboxguest/d' /etc/devlink.tab > /etc/devlink.vbox
+sed -e '/name=vboxguest/d' /etc/devlink.tab > /etc/devlink.vbox
+chmod 0644 /etc/devlink.vbox
+chown root:$group /etc/devlink.vbox
 mv -f /etc/devlink.vbox /etc/devlink.tab
 
Index: /trunk/src/VBox/Installer/solaris/vboxconfig.sh
===================================================================
--- /trunk/src/VBox/Installer/solaris/vboxconfig.sh	(revision 92502)
+++ /trunk/src/VBox/Installer/solaris/vboxconfig.sh	(revision 92503)
@@ -674,4 +674,17 @@
     fi
 
+    # Figure out group to use for /etc/devlink.tab (before Solaris 11 SRU6
+    # it was always using group sys)
+    group=sys
+    if [ -f "$PKG_INSTALL_ROOT/etc/dev/reserved_devnames" ]; then
+        # Solaris 11 SRU6 and later use group root (check a file which isn't
+        # tainted by VirtualBox install scripts and allow no other group)
+        refgroup=$(LC_ALL=C /usr/bin/ls -lL "$PKG_INSTALL_ROOT/etc/dev/reserved_devnames" | awk '{ print $4 }' 2>/dev/null)
+        if [ $? -eq 0 -a "x$refgroup" = "xroot" ]; then
+            group=root
+        fi
+        unset refgroup
+    fi
+
     ## Add vboxdrv to devlink.tab (KEEP TABS!)
     if test -f "$PKG_INSTALL_ROOT/etc/devlink.tab"; then
@@ -679,4 +692,6 @@
         echo "type=ddi_pseudo;name=vboxdrv;minor=vboxdrv	\D"  >> "$PKG_INSTALL_ROOT/etc/devlink.vbox"
         echo "type=ddi_pseudo;name=vboxdrv;minor=vboxdrvu	\M0" >> "$PKG_INSTALL_ROOT/etc/devlink.vbox"
+        chmod 0644 "$PKG_INSTALL_ROOT/etc/devlink.vbox"
+        chown root:$group "$PKG_INSTALL_ROOT/etc/devlink.vbox"
         mv -f "$PKG_INSTALL_ROOT/etc/devlink.vbox" "$PKG_INSTALL_ROOT/etc/devlink.tab"
     else
@@ -755,4 +770,6 @@
         sed -e '/name=vboxusbmon/d' "$PKG_INSTALL_ROOT/etc/devlink.tab" > "$PKG_INSTALL_ROOT/etc/devlink.vbox"
         echo "type=ddi_pseudo;name=vboxusbmon	\D" >> "$PKG_INSTALL_ROOT/etc/devlink.vbox"
+        chmod 0644 "$PKG_INSTALL_ROOT/etc/devlink.vbox"
+        chown root:$group "$PKG_INSTALL_ROOT/etc/devlink.vbox"
         mv -f "$PKG_INSTALL_ROOT/etc/devlink.vbox" "$PKG_INSTALL_ROOT/etc/devlink.tab"
 
@@ -785,4 +802,17 @@
     fatal=$1
 
+    # Figure out group to use for /etc/devlink.tab (before Solaris 11 SRU6
+    # it was always using group sys)
+    group=sys
+    if [ -f "$PKG_INSTALL_ROOT/etc/dev/reserved_devnames" ]; then
+        # Solaris 11 SRU6 and later use group root (check a file which isn't
+        # tainted by VirtualBox install scripts and allow no other group)
+        refgroup=$(LC_ALL=C /usr/bin/ls -lL "$PKG_INSTALL_ROOT/etc/dev/reserved_devnames" | awk '{ print $4 }' 2>/dev/null)
+        if [ $? -eq 0 -a "x$refgroup" = "xroot" ]; then
+            group=root
+        fi
+        unset refgroup
+    fi
+
     # Remove vboxdrv[u] from devlink.tab
     if test -f "$PKG_INSTALL_ROOT/etc/devlink.tab"; then
@@ -790,4 +820,6 @@
         if test -n "$devlinkfound"; then
             sed -e '/name=vboxdrv/d' -e '/name=vboxdrvu/d' "$PKG_INSTALL_ROOT/etc/devlink.tab" > "$PKG_INSTALL_ROOT/etc/devlink.vbox"
+            chmod 0644 "$PKG_INSTALL_ROOT/etc/devlink.vbox"
+            chown root:$group "$PKG_INSTALL_ROOT/etc/devlink.vbox"
             mv -f "$PKG_INSTALL_ROOT/etc/devlink.vbox" "$PKG_INSTALL_ROOT/etc/devlink.tab"
         fi
@@ -797,4 +829,6 @@
         if test -n "$devlinkfound"; then
             sed -e '/name=vboxusbmon/d' "$PKG_INSTALL_ROOT/etc/devlink.tab" > "$PKG_INSTALL_ROOT/etc/devlink.vbox"
+            chmod 0644 "$PKG_INSTALL_ROOT/etc/devlink.vbox"
+            chown root:$group "$PKG_INSTALL_ROOT/etc/devlink.vbox"
             mv -f "$PKG_INSTALL_ROOT/etc/devlink.vbox" "$PKG_INSTALL_ROOT/etc/devlink.tab"
         fi
