Организация удалленной блокировки

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

shapiro
Сообщения: 4

Организация удалленной блокировки

Сообщение shapiro »

Добрый день. Второй день пытаюсь написать необходимый мне скрипт. Мне нужно удаленно послать команду клиенту, которая спустя заданное колличество времени вызовит графический экран смены пользователя и заблокирует юзера.

Так как я в большей степени веб кодер, а линукс осваиваю недавно, решил организовать следующим образом.

Поставил на клиент апачь. на сервере клиента лежит php скрипт, к которому я обращаюсь удаленно, через браузер.

пхп скрипт запускает шелл скрипт примерно следующего содержания:

sudo usermod -U
user1 sleep ${1}m
export DISPLAY=:0.0
gdmflexiserver --startnew
sudo usermod -L user1

Локально и под рутом скрипт работает как надо (правда тогда я убираю sudo для usermod) но удаленно работать не хочет

Во первых, ругается что "sorry, you must have tty to run sudo" (как я понял я не нахожусь в tty и не могу запустить судо..а где тогда выполняется скрипт?)

во вторых при запуске gdmflexiserver --startnew, ругается на cannot open display, хотя ведь export делается..

Попробовал следующие: Установил на скрипт suid бит.. права на файл как положенно стали -rwsrwx--- root apache

Но когда запускаю файл, команда id (я прописал ее в скрипте) все равно возвращает айди апача. тоесть права рута апачь не получает...

возможность удаленной блокировки мне нужно реализовать сегодня. помогите пожалуйста, что я не так делаю...может я вообще изобретаю велосипед?

Но очень желателньо оставить удаленное управление через браузер...
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Организация удалленной блокировки

Сообщение rm_ »

Вроде бы если просто gdm перезапустить, он убъёт текущего юзера и его Иксы, и запустит всё заново (до диалога логина).

Код: Выделить всё

/etc/init.d/gdm restart
Спасибо сказали: