«Экран заканчивается» для не-root


14

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

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

Это на недавно установленном 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 ..

Бегать screen -ls; он должен дать имя каталога в первой строке. Затем запустите ls -la <above directory name>и поставьте вывод в свой вопрос.
BenjiWiebe

Хорошо, добавил это к вопросу.
Роб

Хммммм ... Я ожидал увидеть проблему с разрешениями, но все выглядит хорошо.
BenjiWiebe

Я пытаюсь получить виртуальную машину CentOS 7, чтобы увидеть, есть ли у нее эта проблема, но я не могу сделать это до завтра ...
BenjiWiebe

Есть ли причина, по которой вам нужен CentOS 7? Похоже, что это связано с тем, что CentOS 7 был только что выпущен. Возможно, вы могли бы использовать CentOS 6 еще несколько недель?
BenjiWiebe

Ответы:


13

У меня была эта проблема на выделенном сервере CentOS 7, и я нашел исправление, описанное в этом отчете об ошибке: bugs.centos.org/view.php?id=7395

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

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

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

В терминале:

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

Этот ответ решил проблему для меня, Ubuntu 18.04 работает на контейнере
openvz

3

Убедитесь, что никто другой screenне использует это устройство

Это может быть достигнуто с помощью Как я могу определить, какой процесс имеет файл, открытый в Linux? :

sudo lsof /dev/ttyS0

А затем убить этот процесс, если это так.

По какой-то причине, при этом условии, sudo screenвсе еще может получить доступ к устройству, но тогда это соединение пропустит символы, которые потребляются другим screen.

Убедитесь, что у пользователя есть права на чтение и запись в файл

Например, в Ubuntu вы хотите добавить пользователя в dialoutгруппу: /ubuntu//a/133244/52975


1
спасибо lsof, я не знал, что у меня уже есть два screensбегущих в фоновом режиме
Marecky

-2

Это может быть ошибка в вашем конфигурационном файле

~ / .Screenrc

Попробуйте проверить это или создайте тусклый.


Это действительно комментарий, а не ответ на оригинальный вопрос. Вы всегда можете комментировать свои собственные сообщения, и как только у вас будет достаточно репутации, вы сможете комментировать любые сообщения . Пожалуйста, прочитайте Почему мне нужно 50 репутации, чтобы комментировать? Что я могу сделать вместо этого?
DavidPostill
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.