Re: udevadm etc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/9/20 7:02 PM, Russell Coker wrote:
On Thursday, 10 December 2020 9:00:38 AM AEDT Chris PeBenito wrote:
On 12/9/20 7:38 AM, Russell Coker wrote:
In systemd verision 247.1 (which is in Debian/Unstable now) systemd-udevd
is a symlink to udevadm.  In systemd version 241 (in Debian/Buster) it's
not a symlink.  The systemd changelog doesn't mention this change so I
don't know exactly when it happened.

type_transition init_t udevadm_exec_t:process udevadm_t;
type_transition initrc_t udevadm_exec_t:process udevadm_t;
type_transition sysadm_t udevadm_exec_t:process udevadm_t;
type_transition consolekit_t udev_exec_t:process udev_t;
type_transition devicekit_disk_t udev_exec_t:process udev_t;
type_transition hald_t udev_exec_t:process udev_t;
type_transition hotplug_t udev_exec_t:process udev_t;
type_transition init_t udev_exec_t:process udev_t;
type_transition initrc_t udev_exec_t:process udev_t;
type_transition kernel_t udev_exec_t:process udev_t;
type_transition virtd_t udev_exec_t:process udev_t;

Above is a list of the relevant type_transition rules from refpolicy taken
from git 3 days ago (there don't appear to be any udev changes since
then).

I think that the only thing to do is to have init_t and initrc_t run
udevadm in the udev_t domain.

Is it worth having a udevadm_t domain just for running it from sysadm_t or
should we have that run as udev_t too?

The udevadm_t domain is much smaller than udev_t, and critically doesn't
have all the device access udev_t has.  Systemd merging the binaries into
one doesn't necessarily mean the policy has to merge too.

Currently only 3 domains can transition to udevadm_t.  2 of those 3 also
transition to udev_t so they can't use udevadm_t without code changes.  The
only remaining domain is sysadm_t.

The question is not "do we have to merge the policy because systemd merges
binaries" but "should we have a separate domain only used for sysadm_t"?

Ah, I misunderstood. The alternate question is, should any of these domains that transition to udev_t actually transition to udevadm_t instead? For a long time udevadm was labeled udev_exec_t.

I did some cursory searching in devicekit and I see udisks execs udevadm. I couldn't find any instance of it executing udev, so there is a possibility of udevadm_t being more useful.

If it ends up with sysadm_t being the only one that only execs udevadm, then I agree that udevadm_t doesn't provide the hoped benefits.

--
Chris PeBenito



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux