日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

解决screen Cannot open your terminal '/dev/pts/1'问题

發(fā)布時(shí)間:2025/7/25 编程问答 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决screen Cannot open your terminal '/dev/pts/1'问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

from:http://blog.sina.com.cn/s/blog_704836f401010osn.html

解決screen?Cannot?open?your?terminal?'/dev/pts/1'問題


問題描述:

?

??userA首先登錄系統(tǒng),使用screen開啟了一個(gè)session,然后detach這個(gè)窗口。

??userB然后登錄系統(tǒng),通過su -userA 變成userA,然后使用screen-r 恢復(fù)之前detached窗口,這時(shí)系統(tǒng)報(bào)如下錯(cuò)誤:

?

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

?

解決方法:

?

??userB在su -userA以后,執(zhí)行如下命令即可:

?

??script /dev/null

?

注意: 有人提到 chmod 777/dev/pts/1,這么干的人真是誤人子弟,雖然這么做的確能解決這個(gè)問題,但是會(huì)帶來極大的安全問題!!!

?

為什么這條命令能解決問題?

?

一般人看到上面這里估計(jì)就馬上回去試驗(yàn)了,但是,等等,你不想知道為什么這個(gè)命令會(huì)有作用嗎?它是怎么起作用的呢?

?

我們來過一遍整個(gè)的操作步驟:

?

首先,usera登錄到系統(tǒng)中,我們使用tty命令查看一下分配給他的tty,然后看一下這個(gè)tty的權(quán)限,然后用戶執(zhí)行screen命令。

?

usera@localhost ~ $ ssh usera@remotehost
usera@remotehost ~ $ tty
/dev/pts/1
usera@remotehost ~ $ ls -l /dev/pts/1
crw--w---- 1 usera tty 136, 12011-01-09 20:14 /dev/pts/1
usera@remotehost ~ $ screen

?

我們觀察上邊的輸出,發(fā)現(xiàn)usera對(duì)于/dev/pts/1具有讀寫權(quán)限,它所在組成員對(duì)這個(gè)tty具有寫權(quán)限,其他用戶不能訪問這個(gè)tty。

?

然后,userb也登錄到系統(tǒng)中,同樣我們使用tty命令查看一下分配給他的tty,然后看一下這個(gè)tty的權(quán)限

userb@localhost ~ $ ssh userb@remotehost
userb@remotehost ~ $ tty
/dev/pts/2
userb@remotehost ~ $ ls -l /dev/pts/2
crw--w---- 1 userb tty 136, 22011-01-09 20:20 /dev/pts/2

?

觀察輸出,userb被分配了/dev/pts/2,也是對(duì)于/dev/pts/2具有讀寫權(quán)限,它所在組成員對(duì)這個(gè)tty具有寫權(quán)限,其他用戶不能訪問這個(gè)tty。

?

然后userb通過su -usera命令變成usera,同樣我們使用tty命令查看一下分配給他的tty,然后看一下這個(gè)tty的權(quán)限

userb@remotehost ~ $ sudo su - usera
[sudo] password for userb:
usera@remotehost ~ $ tty
/dev/pts/2
usera@remotehost ~ $ ls -l /dev/pts/2
crw--w---- 1 userb tty 136, 22011-01-09 20:20 /dev/pts/2

?

AHA!!? 注意了,我們看到雖然userb已經(jīng)變成了usera,但是他所使用的tty并沒有改變,仍然是/dev/pts/2。這就是為什么執(zhí)行screen命令會(huì)報(bào)錯(cuò)的原因了,因?yàn)樗忻畲藭r(shí)是使用usera帳戶執(zhí)行的,但是/dev/pts/2的讀寫權(quán)限屬于userb,所以所有試圖控制/dev/pts/2的訪問都被拒絕了!

?

那么我們接下來看一下 script/dev/null做了些什么,使得screen命令能執(zhí)行呢?

?

usera@remotehost ~ $ script /dev/null
Script started, file is /dev/null
usera@remotehost ~ $ tty
/dev/pts/3
usera@remotehost ~ $ ls -l /dev/pts/3
crw--w---- 1 usera tty 136, 32011-01-09 20:36 /dev/pts/3

?

AHA!!! 看到了嗎?我們實(shí)際上是得到了一個(gè)新的tty ---> /dev/pts/3,因此screen命令能夠執(zhí)行了,因?yàn)?/dev/pts/3這個(gè)tty的所有者是usera!


參考文檔:

Sharing a screen sessionwith another administrator on a Linux system

總結(jié)

以上是生活随笔為你收集整理的解决screen Cannot open your terminal '/dev/pts/1'问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。