All of lore.kernel.org
 help / color / mirror / Atom feed
* [refpolicy] chsh (chfn_t) to access /etc/.pwd.lock (shadow_t) ?
@ 2012-03-27 19:24 Sven Vermeulen
  2012-03-27 20:31 ` Daniel J Walsh
  2012-03-27 23:47 ` Russell Coker
  0 siblings, 2 replies; 7+ messages in thread
From: Sven Vermeulen @ 2012-03-27 19:24 UTC (permalink / raw)
  To: refpolicy

In Gentoo, we notice that recent shadow package (version 4.1.5) has a change
in behavior for changing account information through chsh. Although the
application only edits /etc/passwd entries, it now uses the /etc/.pwd.lock
file to prevent concurrent changes to the /etc/passwd (and other
account-related files). 

In the current policy however, /etc/.pwd.lock is marked as shadow_t, so the
chsh application (running in chfn_t) does not have the proper privileges to
work on this. As a result, it fails to update /etc/passwd entries.

As I'm not going to give it read/write access to shadow_t files, one other
possibility would be to mark /etc/.pwd.lock as etc_t. But I can imagine that
it was given shadow_t on purpose previously, probably to prevent a malicious
program (that has write access to etc_t) to update the lock file so
concurrent write operations on /etc/shadow could result in corruption...

Another solution would be to patch chsh itself to use a different lock file,
but unless it's accepted upstream, it's only a "local" remedy.

A third solution would be to create and use a different type for it, like
etc_auth_lock_t or whatever imagination can bring to life, and update the
policies of all domains that need access to it towards it.

Any thoughts on this?

Wkr,
	Sven Vermeulen

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

end of thread, other threads:[~2012-03-28 17:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-27 19:24 [refpolicy] chsh (chfn_t) to access /etc/.pwd.lock (shadow_t) ? Sven Vermeulen
2012-03-27 20:31 ` Daniel J Walsh
2012-03-28 16:52   ` Sven Vermeulen
2012-03-28 17:15     ` Daniel J Walsh
2012-03-27 23:47 ` Russell Coker
2012-03-27 23:51   ` Russell Coker
2012-03-28 16:53     ` Sven Vermeulen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.