summaryrefslogtreecommitdiff
path: root/src/login/70-uaccess.rules
AgeCommit message (Collapse)Author
2016-06-09Revert "rules: allow users to access frame buffer devices" (#3333)Zbigniew Jędrzejewski-Szmek
This reverts commit 483d8bbb4c0190f419bf9fba57fb0feb1a56bea6. In [1] Michel Dänzer and Daniel Vetter wrote: >> The scenario you describe isn't possible if the Wayland compositor >> directly uses the KMS API of /dev/dri/card*, but it may be possible if >> the Wayland compositor uses the fbdev API of /dev/fb* instead (e.g. if >> weston uses its fbdev backend). > > Yeah, if both weston and your screen grabber uses native fbdev API you can > now screenshot your desktop. And since fbdev has no concept of "current > owner of the display hw" like the drm master, I think this is not fixable. > At least not just in userspace. Also even with native KMS compositors > fbdev still doesn't have the concept of ownership, which is why it doesn't > bother clearing it's buffer before KMS takes over. I agree that this > should be reverted or at least hidden better. TBH, I think that privilege separation between processes running under the same UID is tenuous. Even with drm, in common setups any user process can ptrace the "current owner of the display" and call DROP_MASTER or do whatever. It *is* possible to prevent that, e.g. by disabling ptrace using yama.ptrace_scope, or selinux, and so on, but afaik this is not commonly done. E.g. all Fedora systems pull in elfutils-default-yama-scope.rpm through dependencies which sets yama.ptrace_scope=0. And even assuming that ptrace was disabled, it is trivial to modify files on disk, communicate through dbus, etc; there is just to many ways for a non-sandboxed process to interact maliciously with the display shell to close them all off. To achieve real protection, some sort of sandboxing must be implemented, and in that case there is no need to rely on access mode on the device files, since much more stringent measures have to be implemented anyway. The situation is similar for framebuffer devices. It is common to add framebuffer users to video group to allow them unlimited access to /dev/fb*. Using uaccess would be better solution in that case. Also, since there is no "current owner" limitation like in DRM, processes running under the same UID should be able to access /proc/<pid-of-display-server>/fd/* and gain access to the devices. Nevertheless, weston implements a suid wrapper to access the devices and then drop privileges, and this patch would make this daemon pointless. So if the weston developers feel that this change reduces security, I prefer to revert it. [1] https://lists.freedesktop.org/archives/wayland-devel/2016-May/029017.html
2016-03-22Merge pull request #2844 from yarda/uaccess-3dprintersZbigniew Jędrzejewski-Szmek
Add support for 3D printers to uaccess (ID_3DPRINTER).
2016-03-22Added support for 3D printers to uaccess (ID_MAKER_TOOL)Jaroslav Škarvada
This is to support 3D printers, CNCs, laser cutters, 3D scanners, etc.
2016-03-17rules: allow users to access frame buffer devicesZbigniew Jędrzejewski-Szmek
For example it allows weston to be started unprivileged. Related discussion: https://bugs.freedesktop.org/show_bug.cgi?id=73782 https://lists.freedesktop.org/archives/wayland-devel/2015-May/022005.html https://bugzilla.redhat.com/show_bug.cgi?id=1226680
2014-07-15rules: uaccess - add ID_SOFTWARE_RADIOKay Sievers
On Tue, Jul 15, 2014 at 1:52 PM, Alick Zhao <alick9188@gmail.com> wrote: >>> >>> So maybe ID_SOFTWARE_RADIO ? >> >> Hmm, SDR is more a term for a generic technology than for a device >> class. To me it does not really sound like an administrator would know >> what this is. >> >> What exactly is the device or subsystem you want to make accessible to >> locally logged-in users only? > > Initially it is bladeRF, but many more are of interest: USRP, rtl-sdr, > HackRF, ... [1] > > I agree an administrator might not know what SDR is, since it is > currently still not widely known, and makes sense only for amateurs > and researchers. But as a SDR fan, I see many new SDR peripherals > are created recently, and expect to see more. So a generic ID seems > reasonable to me. > > [1] http://en.wikipedia.org/wiki/List_of_software-defined_radios
2014-07-15rules: consistently use "?*" instead of "*?"Kay Sievers
2013-11-12uaccess: Add new DRM render nodesKristian Høgsberg
2013-07-16udev: export tags of "dead" device nodes to /run/udev/static_node-tags/Tom Gundersen
Based on a patch by Kay Sievers. A tag is exported at boot as a symlinks to the device node in the folder /run/udev/static_node-tags/<tagname>/, if the device node exists. These tags are cleaned up by udevadm info --cleanup-db, but are otherwise never removed.
2013-03-23uaccess: remove needless usb_id call from udev rulesKay Sievers
2012-07-24uaccess: add ID_SECURITY_TOKEN device class for USB authentication keysKay Sievers
2012-04-12relicense to LGPLv2.1 (with exceptions)Lennart Poettering
We finally got the OK from all contributors with non-trivial commits to relicense systemd from GPL2+ to LGPL2.1+. Some udev bits continue to be GPL2+ for now, but we are looking into relicensing them too, to allow free copy/paste of all code within systemd. The bits that used to be MIT continue to be MIT. The big benefit of the relicensing is that closed source code may now link against libsystemd-login.so and friends.
2012-04-09udev: convert 'uaccess' to a builtinKay Sievers
2012-01-22login: move seat udev rules to login subdirKay Sievers