Gnu-Screen

與多個使用者共享終端(使用螢幕或其他方式)

  • January 12, 2021

我正在設置一個伺服器,其中有多個開發人員在多個應用程序上工作。

我已經想出如何使用 和 授予某些開發人員對必要應用程序目錄的共享訪問權限,setgid bitdefault ACLs授予組中的任何人訪問權限。

許多這些應用程序在開發過程中在終端下執行,以便於訪問。當我獨自工作時,我為應用程序設置了一個使用者並以該使用者身份執行螢幕。這樣做的缺點是每個開發人員都screen session需要知道密碼,並且很難將使用者和應用程序帳戶分開。

一種可行的方法是使用螢幕多使用者功能。但是,它們不能開箱即用,螢幕抱怨需要suid root. 付出有什麼壞處嗎?我對使用suid root任何東西都很小心。也許它不是預設值是有原因的?

我應該這樣做screen還是有其他一些聰明的方式來做我想做的事?

是的,您可以使用screen多使用者支持來做到這一點。

首先,創建一個新會話:

screen -d -m -S multisession

附加到它:

screen -r multisession

打開多使用者支持:

按下Ctrl-a並輸入(注意: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)

您現在有一個多使用者螢幕會話。將名稱指定multisession給 acl’d 使用者,以便他可以附加到該使用者:

screen -x youruser/multisession

就是這樣。

唯一的缺點是screen必須以suidroot 身份執行。但據我所知是預設的,正常的情況。

另一種選擇screen -S $screen_id -X multiuser onscreen -S $screen_id -X acladd authorized_user

希望這可以幫助。

引用自:https://unix.stackexchange.com/questions/163872