루트가 아닌 경우 "화면이 종료됩니다"

루트가 아닌 경우 "화면이 종료됩니다"

루트가 아닌 사용자로 screen을 실행하려고 하면 다음과 같은 결과가 나타납니다.

screen

[screen is terminating]

즉시, 루트에서는 잘 작동하지만

ls -alh /usr/bin/screen
-rwxr-sr-x 1 root screen 465K Jun  9 20:30 /usr/bin/screen

인터넷 검색을 하다가 /etc/fstab에 대한 언급을 발견했습니다. 여기에 내 내용이 있습니다.

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/md1        /       ext4    errors=remount-ro       0       1
/dev/md2        /home   ext4    defaults        1       2
/dev/sda3       swap    swap    defaults        0       0
/dev/sdb3       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0
devpts          /dev/pts        devpts  defaults        0       0

SSH를 통해 액세스되는 전용 서버에 새로 설치된 Centos 7에서 발생합니다(TTY는 pts).

어떤 도움이라도 주시면 감사하겠습니다.

screen -ls    
No Sockets found in /var/run/screen/S-user.

ls -la /var/run/screen/S-user
total 0
drwx------ 2 user user 40 Jul 10 18:23 .
drwxrwxr-t 4 root     screen   80 Jul 10 17:59 ..

답변1

전용 CentOS 7 서버에서 이 문제가 발생했으며 이 버그 보고서에 설명된 수정 사항을 발견했습니다. bugs.centos.org/view.php?id=7395

gid=5이는 fstab의 devpts에 추가하는 Dedicated의 훌륭한 솔루션이었습니다 . screen이제 모든 사용자가 예상대로 작동합니다.

그러나 CentOS 7의 OpenVZ 컨테이너에서 문제를 해결하려고 할 때 이 스레드를 발견했습니다. (찾을 수 있는 한) 서버의 fstab을 편집할 수 있는 방법이 없기 때문에 다음을 발견했습니다. 해결 방법으로 문제가 해결되었습니다.

나는 이 방법으로 돌아와서 그것이 다른 사람에게 도움이 될 수 있는지 알아보겠다고 생각했습니다. (비록 그다지 좋은 방법은 아니지만요.)

터미널에서:

chmod u+s /usr/bin/screen
chmod 755 /var/run/screen

답변2

screen다른 사람이 해당 장치를 사용하고 있지 않은지 확인하세요.

이는 다음을 사용하여 달성할 수 있습니다.Linux에서 파일이 열려 있는 프로세스를 어떻게 확인할 수 있습니까?:

sudo lsof /dev/ttyS0

그런 다음 해당 프로세스를 종료하십시오.

어떤 이유로 이 조건에서는 sudo screen여전히 장치에 액세스할 수 있지만 해당 연결에서는 다른 연결에서 사용되는 문자가 누락됩니다 screen.

사용자에게 파일에 대한 읽기 및 쓰기 권한이 있는지 확인하십시오.

예를 들어 Ubuntu에서는 사용자를 그룹에 추가하려고 합니다 dialout.https://askubuntu.com/a/133244/52975

답변3

구성 파일에 오류가 있을 수 있습니다.

~/.screenrc

그것을 확인하거나 희미한 것을 만들어 보십시오.

관련 정보