Gnu-Screen
與多個使用者共享終端(使用螢幕或其他方式)
我正在設置一個伺服器,其中有多個開發人員在多個應用程序上工作。
我已經想出如何使用 和 授予某些開發人員對必要應用程序目錄的共享訪問權限,
setgid bit
並default 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
必須以suid
root 身份執行。但據我所知是預設的,正常的情況。另一種選擇
screen -S $screen_id -X multiuser on
是screen -S $screen_id -X acladd authorized_user
希望這可以幫助。