У меня есть несколько начальных экранных сессий машин для отдельных пользователей. Я делаю это путем выполнения
su news -c "screen -d -m -S news /usr/local/bin/newstask"
Обычно, я могу присоединить к такому экранному использованию
screen -r news/newstask
Однако на одной машине, это производит ошибку:
# screen -r news/newstask
There is a screen on:
2341.newstask (07.08.2016 11:28:33) (Private)
There is no screen to be attached matching newstask.
То, что является странным, - то, что сессию показывают как" (Частную").
Как правило, они отмечены" (Много, отсоединенный"). От другой машины:
# screen -ls news/
There are several suitable screens on:
8973.newstask (07.08.2016 11:16:46) (Multi, detached)
1864.newsclient (07.08.2016 03:03:23) (Multi, detached)
1850.newsserver (07.08.2016 03:03:23) (Multi, detached)
3 Sockets in /var/run/screen/S-news.
Какова могла быть причина того, почему эти сессии отмечены (Частные), и как я могу присоединить к ним? Или как я мог избежать сессий, являющихся частным?
Спасибо.
Возможно, этот https://superuser.com/questions/193798/is-it-possible-to-make-a-screen-session-private - то, что Вы поражаете. Экран GNU может иметь защищенные паролем сессии.
По умолчанию, screen
не позволяет Вам присоединить к сессии от другого пользователя. Чтобы сделать так, необходимо использовать команды multiuser
и addacl
(см. screen(1)
страница руководства).
В Вашем случае, принимая Вы хотите, чтобы пользователь root
смог получить доступ, скрывает от пользователя news
, необходимо будет добавить эти строки к ~news/.screenrc
:
multiuser on
addacl root