hu, May 26, 2011 at 07:09, John K. Sherwood <jsher...@stetson.edu> wrote:
> The situation I was talking about was the first one:
>
>        user$ sudo bash
>        password:
>        root# screen
>
> I understand that if it is run by root you might expect it to spawn shells
> as the user root; however, if you run the utility 'w' you can see that the
> system maintains a distinction between users escalated to root via sudo
> bash or vs users actually logged in as root, as follows:
>
>        user$ sudo bash
>        Password:
>        root# w
>         10:00:55 up 18:43, 3 users, load average: 0.00, 0.00, 0.00
>        USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
>        imauser pts/1 machine.domain. 08:43 0.00s 0.01s 0.00s sshd: imauser 
> [priv]
>
>        root# screen
>        root# w
>         10:03:07 up 18:45,  4 users,  load average: 0.00, 0.00, 0.00
>        USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
>        root     pts/4    machine:S.1      10:03    0.00s  0.00s  0.00s w
>
>
> I guess that the bottom line is that you lose the sshd task somehow when
> you run screen, removing the indication of who is logged in and using sudo
> bash currently.

sshd is still running and the user is still logged in through it. Even
the tty (pts) for sshd is still there.

Screen creates a new pts tty; because screen was launched by root,
root owns that new tty (notice it's pts/4, where the user's was
pts/1).
What I find interesting here is that the user's tty isn't showing up
while running screen. When screen exits, it should show again (as it
does for me). I found that similar happens without sudo, it's just
more subtle--that is:

user$ who
user tty1         May 20 19:33
user tty7         May 20 19:25 (:0)
user pts/0        May 21 06:00 (:0.0)
user pts/1        May 26 08:04 (:0.0)

user$ tty
/dev/pts/1

user$ ls -l /dev/pts
crw--w---- 1 user tty  136, 6 May 21 06:00 0
crw--w---- 1 user tty  136, 6 May 26 08:04 1
c--------- 1 root     root   5, 2 May 20 19:23 ptmx

user$ screen

user$ who
user tty1         May 20 19:33
user tty7         May 20 19:25 (:0)
user pts/0        May 21 06:00 (:0.0)
user pts/2        May 26 08:04 (:0.0)

user$ tty
/dev/pts/2

user$ ls -l /dev/pts
crw--w---- 1 user tty  136, 6 May 21 06:00 0
crw--w---- 1 user tty  136, 6 May 26 08:04 1
crw--w---- 1 root tty  136, 6 May 26 08:04 2
c--------- 1 root     root   5, 2 May 20 19:23 ptmx

user$ exit

user$ who
user tty1         May 20 19:33
user tty7         May 20 19:25 (:0)
user pts/0        May 21 06:00 (:0.0)
user pts/1        May 26 08:04 (:0.0)

user$ tty
/dev/pts/1

user$ ls -l /dev/pts
crw--w---- 1 user tty  136, 6 May 21 06:00 0
crw--w---- 1 user tty  136, 6 May 26 08:04 1
c--------- 1 root     root   5, 2 May 20 19:23 ptmx

While screen is running, the tty (at least if it's a pts) from which
screen was launched still exists (and is still owned by user, not
root) but isn't listed by w or who. Perhaps it's something to do with
how w and who work or what happens on the tty from which screen was
launched while screen is running.
I would recommend investigating w and who (unless someone else on the
screen list has a suggestion).

> On 5/25/11 2:57 PM, "Kipling Inscore" <k...@bijna.net> wrote:
>
>>On Tue, May 24, 2011 at 11:54, John K. Sherwood <jsher...@stetson.edu>
>>wrote:
>>> Hello all,
>>> I've been using screen for a while, but recently one of our system
>>> administrators noticed an interesting quirk of screen that made me
>>>wonder.
>>>  It seems that if you run 'screen' after running 'sudo bash', the
>>>system (as
>>
>>Without exit after sudo bash, i.e. as below?
>>
>>user$ sudo bash
>>password:
>>root# screen
>>
>>or after lowering your privileges again?
>>
>>user$ sudo bash
>>password:
>>root# exit
>>user$ screen
>>
>>> shown by the utilities 'w' and 'who') no longer sees you as "username
>>> [priv]", but instead as "root" directly.  Is this intentional?  It
>>>seems as
>>
>>It seems to be the default behavior of running anything after 'sudo
>>bash' (and before exit), since this command runs bash as root. Check
>>'whoami' after 'sudo bash', do you get 'root'?
>>I don't think screen is doing anything differently from other commands
>>in this regard, unless you still get root after exiting from 'sudo
>>bash' (I don't).
>>
>>> though screen should maintain your identity unless expressly instructed
>>>to
>>> log you in as someone else.  Maybe I'm missing something though?
>>
>>by running 'sudo bash', you've essentially logged in as root, thus
>>your identity to is root and screen is maintaining this.
>>If you want to run screen (or any command) as yourself, I don't think
>>you should be running 'sudo bash' first.
>
>

_______________________________________________
screen-users mailing list
screen-users@gnu.org
https://lists.gnu.org/mailman/listinfo/screen-users

Reply via email to