Ubuntu Nearing X Server Not Running as Root

Based upon a recent email to the X.Org developers’ mailing list, Canonical is nearing the point of one of their goals for Ubuntu 10.10 of a rootless X Server, or being able to run the X.Org Server without root privileges.

All that’s left to accomplish within the Ubuntu land according to Canonical’s Christopher James Rogers is working out a /dev/backlight device interface that udev would set the appropriate permissions on for the user. The /proc/mtrr may also need to be handled too, but Rogers doesn’t believe any of the drivers (at least the main KMS drivers) are using this interface.

With all of the necessary prerequisites addressed, when starting the X Server they will have a check to see if kernel mode-setting is being used, if /dev/backlight exists, and if /dev/input/* has appropriate user permissions. If all conditions are true, the X.Org Server would not be run as the root user, which leads to better security. Of course, this feat has already been achieved by other Linux distributions such as Moblin and now MeeGo.

This would largely help out those with the open-source ATI, Intel, and Nouveau drivers that use kernel mode-setting while those using non-KMS drivers, including the binary drivers from ATI and NVIDIA, would still be running their X Server as root.

The mailing list thread discussing this can be found on xorg-devel.
There is also the Maverick blueprint discussing this likely feature of Ubuntu 10.10. Other details can also be found on the Ubuntu Wiki.

91 Comments

  1. diegoviola 2010-06-26 12:35 am EST
    • SlackerJack 2010-06-26 1:08 am EST
  2. Ventajou 2010-06-26 2:05 am EST
    • ozonehole 2010-06-26 3:08 am EST
      • bert64 2010-06-26 7:37 am EST
    • Elv13 2010-06-26 3:49 am EST
      • robojerk 2010-06-26 5:48 am EST
      • vivainio 2010-06-26 7:04 am EST
        • Moochman 2010-06-26 8:09 am EST
          • UltraZelda64 2010-06-26 8:27 am EST
          • vivainio 2010-06-26 10:08 am EST
          • Moochman 2010-06-26 12:49 pm EST
          • vivainio 2010-06-26 3:32 pm EST
          • Moochman 2010-06-26 4:31 pm EST
          • Elv13 2010-06-26 4:58 pm EST
          • Moochman 2010-06-26 9:48 pm EST
          • Elv13 2010-06-26 11:00 pm EST
          • siride 2010-06-26 5:24 pm EST
          • UltraZelda64 2010-06-27 8:43 am EST
          • vivainio 2010-06-27 8:17 pm EST
          • UltraZelda64 2010-06-27 9:42 pm EST
          • Delgarde 2010-06-27 9:26 pm EST
          • UltraZelda64 2010-06-27 10:03 pm EST
          • Elv13 2010-06-27 10:37 pm EST
          • UltraZelda64 2010-06-28 7:17 am EST
          • Neolander 2010-06-28 8:12 am EST
          • UltraZelda64 2010-06-28 9:12 am EST
          • Elv13 2010-06-28 5:53 pm EST
          • siride 2010-06-26 5:23 pm EST
          • _txf_ 2010-06-26 8:42 pm EST
          • sbergman27 2010-06-26 10:29 pm EST
      • Neolander 2010-06-26 1:59 pm EST
        • Zifre 2010-06-26 2:12 pm EST
          • Neolander 2010-06-26 2:59 pm EST
          • Zifre 2010-06-26 3:39 pm EST
          • Elv13 2010-06-26 5:18 pm EST
          • Zifre 2010-06-26 6:57 pm EST
          • Neolander 2010-06-27 3:24 pm EST
          • vivainio 2010-06-26 3:42 pm EST
          • farfromhome 2010-06-26 4:57 pm EST
          • WereCatf 2010-06-26 4:26 pm EST
          • ichi 2010-06-26 7:01 pm EST
          • Zifre 2010-06-26 7:04 pm EST
          • phoenix 2010-06-26 7:16 pm EST
          • Zifre 2010-06-26 8:30 pm EST
          • Savior 2010-06-26 10:09 pm EST
          • phoenix 2010-06-26 10:57 pm EST
          • Zifre 2010-06-27 1:07 am EST
          • phoenix 2010-06-27 1:33 am EST
          • Zan Lynx 2010-06-28 5:29 am EST
          • Elv13 2010-06-27 3:01 am EST
          • Lunitik 2010-06-26 3:02 pm EST
          • Zifre 2010-06-26 3:17 pm EST
          • phoenix 2010-06-26 7:20 pm EST
          • Zifre 2010-06-26 8:35 pm EST
          • Elv13 2010-06-26 10:30 pm EST
          • spiderman 2010-06-28 9:02 am EST
          • fanboi_fanboi 2010-06-30 2:11 pm EST
          • Neolander 2010-06-30 8:26 pm EST
        • phoenix 2010-06-26 7:13 pm EST
          • Zifre 2010-06-27 1:27 am EST
          • Zan Lynx 2010-06-28 5:37 am EST
      • werpu 2010-06-26 7:23 pm EST
        • Zan Lynx 2010-06-28 5:39 am EST
    • ggeldenhuys 2010-06-26 9:03 am EST
      • steogede2 2010-06-26 9:40 am EST
      • Toad 2010-06-26 9:43 am EST
        • Zifre 2010-06-26 2:29 pm EST
          • Toad 2010-06-27 9:19 pm EST
        • ggeldenhuys 2010-06-29 7:47 pm EST
      • siride 2010-06-26 5:30 pm EST
      • werpu 2010-06-26 7:21 pm EST
        • siride 2010-06-27 12:15 am EST
          • ggeldenhuys 2010-06-29 8:02 pm EST
          • siride 2010-06-29 8:12 pm EST
          • spiderman 2010-06-30 5:34 am EST
      • spiderman 2010-06-28 5:53 am EST
      • fithisux 2010-06-28 8:39 am EST
    • yoko-t 2010-06-26 3:15 pm EST
      • _txf_ 2010-06-26 8:52 pm EST
    • FooBarWidget 2010-06-29 7:50 am EST
  3. philip.may 2010-06-26 8:41 am EST
  4. marcp 2010-06-26 9:33 am EST
    • lucas_maximus 2010-06-26 9:59 am EST
      • Lazarus 2010-06-27 3:30 am EST
        • marcp 2010-06-27 7:01 am EST
  5. cheemosabe 2010-06-26 10:11 am EST
  6. Zifre 2010-06-26 2:16 pm EST
    • Zan Lynx 2010-06-28 5:43 am EST
  7. el.pescado 2010-06-29 10:36 am EST