"экран завершает работу" для не-root

"экран завершает работу" для не-root

Когда я пытаюсь запустить screen как пользователь без прав root, я получаю:

screen

[screen is terminating]

немедленно, хотя это работает нормально для root

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

Это на свежеустановленном CentOS 7 на выделенном сервере, доступном через SSH (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

Это было прекрасным решением для Dedicated — добавить gid=5devpts в fstab. screenТеперь работает так, как и ожидалось, для всех пользователей.

Однако я наткнулся на эту ветку, когда пытался решить проблему на контейнере OpenVZ CentOS 7. Поскольку способа редактировать fstab для сервера не существует (насколько я смог найти), я нашел следующий обходной путь, который исправил проблему.

Я решил заскочить сюда и посмотреть, может, это поможет кому-то еще. (Хотя это не очень красивый способ.)

In terminal:

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

Попробуйте проверить его или создать более темный.

Связанный контент