Red Hat Makes A Suid Root Wrapper For Xorg
Thanks to recent work on systemd's logind, it's now possible to install the X.Org Server binary without suid root rights while having everything work correctly, assuming you are using KMS drivers.
Hans de Goede of Red Hat published a patch today to the X.Org developers that adds a suid root wrapper for checking if the system needs root rights by the X.Org Server -- if you're using a driver that doesn't utilize kernel mode-setting. If root rights aren't needed, the rights elevation is dropped and the xorg-server will be started as a user. If you're using a binary driver or other configuration still needing a X.Org Server with root privileges, the wrapper will let the server run as root. The NVIDIA binary driver and VESA driver are among the configurations that still need a root-level X.Org Server.
The design of this suid root wrapper is modular and makes it easy to package. Hans de Goede wrote, "This allows distributions to put the wrapper binary in a separate package, and will allow users to remove this package. IE the plan with Fedora is to make 'legacy' drivers depend on the wrapper pkg, and since our default install contains some legacy drivers it will be part of the default install, but users can later yum remove it (which will also automatically remove the legacy driver packages as those won't work without it anyways)."
This wrapper that amounts to just over 100 lines of new code can be found on the Xorg-devel mailing list. Fedora 21 has been looking to drop support for older GPUs, particularly removing support for non-KMS GPU drivers, so this wrapper is a nice transitional process in letting the KMS-enabled Fedora users run their X.Org Server more securely but not removing the ability to run legacy/binary drivers.
Hans de Goede of Red Hat published a patch today to the X.Org developers that adds a suid root wrapper for checking if the system needs root rights by the X.Org Server -- if you're using a driver that doesn't utilize kernel mode-setting. If root rights aren't needed, the rights elevation is dropped and the xorg-server will be started as a user. If you're using a binary driver or other configuration still needing a X.Org Server with root privileges, the wrapper will let the server run as root. The NVIDIA binary driver and VESA driver are among the configurations that still need a root-level X.Org Server.
The design of this suid root wrapper is modular and makes it easy to package. Hans de Goede wrote, "This allows distributions to put the wrapper binary in a separate package, and will allow users to remove this package. IE the plan with Fedora is to make 'legacy' drivers depend on the wrapper pkg, and since our default install contains some legacy drivers it will be part of the default install, but users can later yum remove it (which will also automatically remove the legacy driver packages as those won't work without it anyways)."
This wrapper that amounts to just over 100 lines of new code can be found on the Xorg-devel mailing list. Fedora 21 has been looking to drop support for older GPUs, particularly removing support for non-KMS GPU drivers, so this wrapper is a nice transitional process in letting the KMS-enabled Fedora users run their X.Org Server more securely but not removing the ability to run legacy/binary drivers.
8 Comments