여러 사용자와 터미널 공유 (화면 또는 기타)


11

여러 응용 프로그램에서 작업하는 여러 개발자가있는 서버를 설정하고 있습니다.

나는를 사용하여 특정 개발자들에게 필요한 응용 프로그램 디렉토리에 대한 공유 액세스 권한을 부여하는 방법을 알아 낸 setgid bitdefault ACLs그룹 액세스에 누구를 제공 할 수 있습니다.

이러한 응용 프로그램의 대부분은 개발 중에 터미널에서 실행되므로 쉽게 액세스 할 수 있습니다. 혼자 일할 때 응용 프로그램의 사용자를 설정하고 해당 사용자로 화면을 실행합니다. 이것은 모든 개발자가 screen session암호를 알아야 할 필요가 있다는 단점이 있으며 사용자와 응용 프로그램 계정을 별도로 유지하기가 더 어렵습니다.

작동 할 수있는 한 가지 방법은 화면 다중 사용자 기능을 사용하는 것입니다. 그러나 기본적으로 작동하지는 않지만 화면에 필요에 대해 불평 suid root합니다. 그에게 단점이 있습니까? 나는 suid root아무것도 사용하는 것에 대해 매우 조심 합니다. 아마도 이것이 기본값이 아닌 이유가 있습니까?

나는 그것으로 무엇을해야 screen하거나 내가 원하는 일을 다른 지능적인 방법은 무엇입니까?

답변:


24

예, screen다중 사용자 지원이 있는 작업을 수행 할 수 있습니다 .

먼저 새 세션을 만듭니다.

screen -d -m -S multisession

그것에 첨부하십시오 :

screen -r multisession

다중 사용자 지원을 켜십시오.

누르고 Ctrl-a입력

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

이제 Ctrl-a d세션을 나열하십시오.

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

이제 다중 사용자 화면 세션이 있습니다. multisessionacl'd 사용자 에게 이름 을 지정 하여 첨부 할 수 있도록하십시오.

screen -x youruser/multisession

그리고 그게 다야.

유일한 단점은 루트로 screen실행해야 한다는 것입니다 suid. 그러나 내가 아는 한 기본적이고 정상적인 상황입니다.

또 다른 옵션은 screen -S $screen_id -X multiuser on,screen -S $screen_id -X acladd authorized_user

도움이 되었기를 바랍니다.


1
이것은 화면이 필요에 대해 불평하는 위치까지 시도한 것 suid root입니다. 나는이 기본적으로 그들을하지 않는 프로그램에 루트 권한을 추가하기 전에 일을 선호하는 방법이었다 만약 내가 물어 줄 알아 냈
varesa

이상한. 내는 screen것입니다 suid루트.
Scyld de Fraud

나는 그것이 distro-dependant 일 수 있다고 생각합니다. CentOS 6 또는 7에서 확인했습니다 (확인해야 함)
varesa

그 가치 에 대해서는 Ubuntu 16.04 screen에도 없습니다 suid root.
icedwater

6
screen -S $screen_id -X multiuser on, screen -S $screen_id -X acladd authorized_user 대신 제어-A 명령은 대답에 좋은 추가 될 것이다
ribamar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.