Sudo
sudo 作為不同的使用者和執行螢幕
今天發現作為我 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
我可能想要使用的所有選項和參數。我正在考慮將此功能放在系統範圍內。