Sudo

sudo 作為不同的使用者和執行螢幕

  • January 9, 2020

今天發現作為我 sudo 進入的不同使用者的執行螢幕將不起作用!

IE

ssh bob@server         # ssh into server as bob
sudo su "monitor" -
screen                 # fails: Cannot open your terminal '/dev/pts/0'

我有一個以“監視器”使用者身份執行的腳本。我們在螢幕會話中執行它,以便在螢幕上查看輸出。問題是,我們有許多使用者使用自己的帳戶(即 bob、james、susie 等)登錄,然後他們 sudo 進入“監控”使用者。讓他們訪問“監控”使用者是不可能的。

在啟動螢幕之前嘗試script /dev/null以您的使用者身份執行su- 這是一個貧民窟的小黑客,但它應該讓螢幕快樂。

我正在為我要使用screen的使用者使用包裝函式sudo su。這是我添加到使用者的包裝函式~/.bashrc

功能螢幕(){
/usr/bin/script -q -c "/usr/bin/screen ${*}" /dev/null
}

這使我可以使用screen我可能想要使用的所有選項和參數。我正在考慮將此功能放在系統範圍內。

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