zoukankan      html  css  js  c++  java
  • 解决Screen出现Cannot open your terminal ‘/dev/pts/0’问题

    在通过 su - user 命令切换用户后,使用 screen 会出现 “Cannot open your terminal ‘/dev/pts/0’ – please check.” 错误。

     

    解决方法:

    切换用户后,执行下列语句即可:

    script /dev/null

    虽然说直接 chmod 777 /dev/pts/0 也能解决问题,但是会有安全隐患!

     

     

    原理:

    我们使用 root 用户和 test 用户举例,先以 root 身份登陆系统。

    [root@localhost ~]# tty
    /dev/pts/0
    [root@localhost ~]# ls -l /dev/pts/0
    crw--w---- 1 root tty 136, 0 Jan 24 17:49 /dev/pts/0
    [root@localhost ~]# screen

    用 tty 命令查看系统为 root 分配的 tty,为 “/dev/pts/0″,再确认权限,权限为 620,所有者为 root。表示仅有 root 用户有读取及写入权限,tty 组拥有写入权限,其他人无任何权限。此时执行 screen 不报错。

    [root@localhost ~]# su - test
    [test@localhost ~]$ tty
    /dev/pts/0
    [test@localhost ~]$ ls -l /dev/pts/0
    crw--w---- 1 root tty 136, 0 Jan 24 17:55 /dev/pts/0
    [test@localhost ~]$ screen
    Cannot open your terminal '/dev/pts/0' - please check.

    以 test 用户登录系统,同样查看 tty 和权限,发现即使切换了用户,但是终端的 tty 依旧没改变,所有者是 root,然而 test 用户相对 root 用户是其他人,没有任何权限,于是执行 screen 出现无法打开终端的报错提示。

    [test@localhost ~]$ script /dev/null
    Script started, file is /dev/null
    [test@localhost ~]$ tty
    /dev/pts/1
    [test@localhost ~]$ ls -l /dev/pts/1
    crw--w---- 1 test tty 136, 1 Jan 24 18:01 /dev/pts/1
    [test@localhost ~]$ screen

    执行 script /dev/null 命令后,查看 tty,发现 test 用户使用了新的 tty,所有者也成为了 test,test 用户拥有了完整的权限,执行 screen 就不会出现错误信息了。

    在通过 su - user 命令切换用户后,使用 screen 会出现 “Cannot open your terminal ‘/dev/pts/0’ – please check.” 错误。

     

    解决方法:

    切换用户后,执行下列语句即可:

    script /dev/null

    虽然说直接 chmod 777 /dev/pts/0 也能解决问题,但是会有安全隐患!

     

     

    原理:

    我们使用 root 用户和 test 用户举例,先以 root 身份登陆系统。

    [root@localhost ~]# tty
    /dev/pts/0
    [root@localhost ~]# ls -l /dev/pts/0
    crw--w---- 1 root tty 136, 0 Jan 24 17:49 /dev/pts/0
    [root@localhost ~]# screen

    用 tty 命令查看系统为 root 分配的 tty,为 “/dev/pts/0″,再确认权限,权限为 620,所有者为 root。表示仅有 root 用户有读取及写入权限,tty 组拥有写入权限,其他人无任何权限。此时执行 screen 不报错。

    [root@localhost ~]# su - test
    [test@localhost ~]$ tty
    /dev/pts/0
    [test@localhost ~]$ ls -l /dev/pts/0
    crw--w---- 1 root tty 136, 0 Jan 24 17:55 /dev/pts/0
    [test@localhost ~]$ screen
    Cannot open your terminal '/dev/pts/0' - please check.

    以 test 用户登录系统,同样查看 tty 和权限,发现即使切换了用户,但是终端的 tty 依旧没改变,所有者是 root,然而 test 用户相对 root 用户是其他人,没有任何权限,于是执行 screen 出现无法打开终端的报错提示。

    [test@localhost ~]$ script /dev/null
    Script started, file is /dev/null
    [test@localhost ~]$ tty
    /dev/pts/1
    [test@localhost ~]$ ls -l /dev/pts/1
    crw--w---- 1 test tty 136, 1 Jan 24 18:01 /dev/pts/1
    [test@localhost ~]$ screen

    执行 script /dev/null 命令后,查看 tty,发现 test 用户使用了新的 tty,所有者也成为了 test,test 用户拥有了完整的权限,执行 screen 就不会出现错误信息了。

  • 相关阅读:
    变量与常量
    .面向过程和面向对象的区别
    .JDK,JRE,JVM三者关系
    DEV C++, 利用链表实现目录内所有文件列表显示
    swith的用法和注意事项?
    Java排序(一)实现类的排序
    C++数据结构——树(基础知识篇)
    杀进程
    监控 monitor java 代码
    putty 直接连 快捷键方式
  • 原文地址:https://www.cnblogs.com/lkj371/p/14271944.html
Copyright © 2011-2022 走看看