Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Apr 2013 21:30:00 GMT
From:      Jilles Tjoelker <jilles@stack.nl>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/61355: login(1) does not restore terminal ownership on exit
Message-ID:  <201304282130.r3SLU0NK051329@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/61355; it has been noted by GNATS.

From: Jilles Tjoelker <jilles@stack.nl>
To: bug-followup@FreeBSD.org, eugen@kuzbass.ru
Cc:  
Subject: Re: bin/61355: login(1) does not restore terminal ownership on exit
Date: Sun, 28 Apr 2013 23:23:05 +0200

 > [nested login(1) does not restore tty ownership]
 
 If it didn't break anything, I would like to "solve" this problem by
 removing /usr/bin/login's setuid bit. You can use su (or sudo from
 ports) to become another user temporarily.
 
 With utmpx, I think the corruption of those files is solved. The utmpx
 code can handle overlapping sessions on the same tty.
 
 The tty ownership is normally reset to root:wheel by the new getty (for
 ttys managed via /etc/ttys) or by the destruction of the tty (for pseudo
 terminals). So it is probably safe to remember the old uid/gid and
 restore it later.
 
 Even with that, there is no isolation between the two users. Since there
 is no new session or revocation (and there cannot be), the nested user
 can continue to access the tty after the "logout". For the same reason,
 the setlogin() call affects both the old and the new user's processes;
 this is not undone afterwards either.
 
 -- 
 Jilles Tjoelker



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304282130.r3SLU0NK051329>