Я керую мережевим середовищем, і в мене вчора виникла цікава ситуація. Якщо хост вимагає відключення звичайного користувача, він відмовляється це робити, якщо інші користувачі входять в систему на локальному рівні. Однак це не так, коли інші користувачі входять у систему через SSH. Якщо один користувач увійшов локально, а один користувач увійшов через SSH і локально ввійшов у систему користувач, спроби відключити його, це не вдасться навіть без попередження, а SSH-з'єднання іншого користувача різко припиняється. Моє запитання, чи є спосіб запобігти цьому, як це робить політика для місцевих користувачів? Я вже переглянув сторінку чоловіка sshd_config
і не зміг знайти нічого, що здається пов'язаним.
EDIT (Додаткова інформація.):
У мережі є 4 ОС: Mandriva 2009, Mandriva 2010.2, Mandriva 2011 та Ubuntu 11.04. Конкретний випадок, з яким я маю на увазі, був користувач SSH на хості Mandriva 2009 і локальний користувач на хості Mandriva 2011.
Хости Mandriva 2009 використовують середовище GNOME 2.28, хости 2010.2 використовують GNOME 2.32, 2011 хости використовують KDE Plasma, а хости Ubuntu 11.04 використовують Unity.
Оновлення
Як я зазначив у цьому питанні , я розглядав polkit
дії під /usr/share/polkit-1/actions/
і знаходив (у файлі org.freedesktop.consolekit.policy
) дію, яка називається, org.freedesktop.consolekit.system.stop-multiple-users
яка кидає повідомлення
System policy prevents stopping the system when other users are logged in
Я думаю (завдяки org.freedesktop.*
умові іменування), що це якийсь сигнал, що надсилається до ДМ через D-BUS. Я думаю, що якщо я можу дізнатися, який сигнал викликає цю polkit
дію, я маю змогу змінити його поведінку. Будь-які ідеї?
Оновлення 2
Я спробував сьогодні трохи експериментувати, і це дало мені дуже дивні результати. Я спробував увійти через SSH в одне поле і переконався, що жоден користувач не входив на жодні VT. Якщо я вибираю в Shutdown
меню "Дії" в GDM, я отримую довгоочікуване повідомлення про політику, яке повідомляє мені, що це неможливо зробити без автентифікації, оскільки інші користувачі входять у систему. Однак , якщо я використовую GDM для локального входу та вибору щоб вимкнути вікно з меню GNOME, SSH-сеанс клобується, як і раніше. Як це можливо? Чи відрізняється поведінка, коли я ініціюю shutdown
запит від GDM, ніж коли я ініціюю його зсередини gnome-session
? Чи говорить це комусь, що може допомогти мені вирішити проблему?