Thread (6 messages) 6 messages, 3 authors, 2007-08-02

Re: VT_PROCESS, VT_LOCKSWITCH capabilities

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2007-08-01 04:49:54

On Wed, 01 Aug 2007 00:22:38 +0200 Frank Benkstein [off-list ref] wrote:
I wonder why there are different permissions needed for VT_PROCESS
(access to the current virtual console) and VT_LOCKSWITCH
(CAP_SYS_TTY_CONFIG).

The first one lets the calling process decide if console switching is
allowed, the second one simply disables it.  If a program wants to
forbid console switching the only technical difference I can see is that
switching is automatically reenabled when the program exits when using
VT_PROCESS.  When using VT_LOCKSWITCH it must be manually reenabled.
When the program uses the first method and disables terminal signals and
SysRQ is disabled, too, I see no practical difference between the two.
It'd take some kernel archaeology to work out how things got the way they
are.

Perhaps the issue with VT_LOCKSWITCH is that its effects will persist after
the user has logged out?  So user A is effectively altering user B's
console, hence suitable capabilities are needed?

Is the current code actually causing any observable problem?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help