Compartilhando um terminal com vários usuários (com tela ou não)

6

Estou configurando um servidor no qual vários desenvolvedores trabalham em vários aplicativos.

Eu descobri como dar a alguns desenvolvedores acesso compartilhado aos diretórios de aplicativos necessários usando setgid bit e default ACLs para conceder acesso a qualquer um em grupo.

Muitos desses aplicativos são executados em um terminal durante o desenvolvimento para facilitar o acesso. Quando trabalho sozinho, configurei um usuário para um aplicativo e executei a tela como esse usuário. Isso tem a desvantagem de que todo desenvolvedor usar o screen session precisa saber a senha e é mais difícil manter as contas do usuário e do aplicativo separadas.

Uma maneira de trabalhar é usar os recursos de vários usuários da tela. Eles não funcionam imediatamente, mas a tela reclama da necessidade de suid root . Dar isso tem alguma desvantagem? Eu sou muito cuidadoso ao usar suid root anything. Talvez haja uma razão pela qual não é o padrão?

Devo fazê-lo com screen ou existe alguma outra maneira inteligente de fazer o que eu quero?

    
por varesa 23.10.2014 / 22:43

1 resposta

11

Sim, você pode fazer isso com screen , que tem suporte a vários usuários.

Primeiro, crie uma nova sessão:

screen -d -m -S multisession

Anexe a ele:

screen -r multisession

Ativar suporte a vários usuários:

Pressione Ctrl-a e digite

:multiuser on
:acladd USER ← use username of user you want to give access to your screen

Agora, Ctrl-a d e liste as sessões:

$ screen -ls
There is a screen on:
    4791.multisession   (Multi, detached)

Agora você tem uma sessão de tela multiusuário. Dê o nome multisession ao usuário acl'd, para que ele possa anexar a ele:

screen -x youruser/multisession

E é isso.

A única desvantagem é que screen deve ser executado como suid root. Mas o AFAIK é a situação normal e padrão.

HTH

    
por 23.10.2014 / 23:31