Gnu-Screen

使用 su 在另一個使用者中使用螢幕

  • June 7, 2016

所以,如果我這樣做:

su -c 'screen -dmS screenname script to run' - user to run as

它行不通。如果從 root 執行螢幕命令正在工作,所以那裡沒有問題。

如果我做:

su - user
screen

我得到:

Cannot open your terminal '/dev/pts/0' - please check.

怎麼了?

編輯:我一直在四處尋找,似乎找不到任何好的解決方案來解決這個問題。

我會去做下一個最好的事情:以 root 身份執行螢幕。

原因是當您登錄時,您會得到一個 tty,在您的情況下,它目前稱為 /dev/pts/0。您是唯一可以訪問該 tty 的人,否則其他使用者可能會在您工作時擾亂您的會話。(當然,root 也有訪問權限,因為 root 始終可以訪問所有內容。)

當你 su 給別人時,你仍然保留你自己的 tty - 因為那是你的東西將被顯示的地方。但是現在您希望您正在起訴的其他使用者能夠接管您的 tty 並開始在其中顯示他們自己的東西。

如果您信任伺服器上的其他所有人,或者至少信任您要起訴的其他使用者,您可以使您的 tty 對所有人都可寫,或者將您自己和該其他使用者添加到一個組並使其對該組可寫。或者您可以以自己的身份啟動螢幕,然後從其中 su 代替。

引用自:https://serverfault.com/questions/432870