SELinux-Refpolicy Archive on lore.kernel.org
 help / color / Atom feed
* udevadm etc
@ 2020-12-09 12:38 Russell Coker
  2020-12-09 22:00 ` Chris PeBenito
  0 siblings, 1 reply; 4+ messages in thread
From: Russell Coker @ 2020-12-09 12:38 UTC (permalink / raw)
  To: selinux-refpolicy

# ls -l /usr/lib/systemd/systemd-udevd
lrwxrwxrwx. 1 root root 12 Dec  3 22:53 /usr/lib/systemd/systemd-udevd -> /
bin/udevadm

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?

-- 
My Main Blog         http://etbe.coker.com.au/
My Documents Blog    http://doc.coker.com.au/




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: udevadm etc
  2020-12-09 12:38 udevadm etc Russell Coker
@ 2020-12-09 22:00 ` Chris PeBenito
  2020-12-10  0:02   ` Russell Coker
  0 siblings, 1 reply; 4+ messages in thread
From: Chris PeBenito @ 2020-12-09 22:00 UTC (permalink / raw)
  To: Russell Coker, selinux-refpolicy

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.

-- 
Chris PeBenito

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: udevadm etc
  2020-12-09 22:00 ` Chris PeBenito
@ 2020-12-10  0:02   ` Russell Coker
  2020-12-10 16:29     ` Chris PeBenito
  0 siblings, 1 reply; 4+ messages in thread
From: Russell Coker @ 2020-12-10  0:02 UTC (permalink / raw)
  To: Chris PeBenito; +Cc: selinux-refpolicy

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"?

-- 
My Main Blog         http://etbe.coker.com.au/
My Documents Blog    http://doc.coker.com.au/




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: udevadm etc
  2020-12-10  0:02   ` Russell Coker
@ 2020-12-10 16:29     ` Chris PeBenito
  0 siblings, 0 replies; 4+ messages in thread
From: Chris PeBenito @ 2020-12-10 16:29 UTC (permalink / raw)
  To: Russell Coker; +Cc: selinux-refpolicy

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-09 12:38 udevadm etc Russell Coker
2020-12-09 22:00 ` Chris PeBenito
2020-12-10  0:02   ` Russell Coker
2020-12-10 16:29     ` Chris PeBenito

SELinux-Refpolicy Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/selinux-refpolicy/0 selinux-refpolicy/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 selinux-refpolicy selinux-refpolicy/ https://lore.kernel.org/selinux-refpolicy \
		selinux-refpolicy@vger.kernel.org
	public-inbox-index selinux-refpolicy

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.selinux-refpolicy


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git