Добрый день. Второй день пытаюсь написать необходимый мне скрипт. Мне нужно удаленно послать команду клиенту, которая спустя заданное колличество времени вызовит графический экран смены пользователя и заблокирует юзера.
Так как я в большей степени веб кодер, а линукс осваиваю недавно, решил организовать следующим образом.
Поставил на клиент апачь. на сервере клиента лежит 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 (я прописал ее в скрипте) все равно возвращает айди апача. тоесть права рута апачь не получает...
возможность удаленной блокировки мне нужно реализовать сегодня. помогите пожалуйста, что я не так делаю...может я вообще изобретаю велосипед?
Но очень желателньо оставить удаленное управление через браузер...
Организация удалленной блокировки
Модераторы: SLEDopit, Модераторы разделов
-
rm_
- Сообщения: 3340
- Статус: It's the GNU Age
- ОС: Debian
Re: Организация удалленной блокировки
Вроде бы если просто gdm перезапустить, он убъёт текущего юзера и его Иксы, и запустит всё заново (до диалога логина).
Код: Выделить всё
/etc/init.d/gdm restart