Запрет на выключение ПК (конкретному юзеру)
Модераторы: SLEDopit, Модераторы разделов
-
Mahoney
- Сообщения: 200
- ОС: Fedora
Запрет на выключение ПК
Как сделать, чтобы конкретный юзер не мог выключить ПК? Он работает в KDE и знает два способа выключить: кнопкой на корпусе и через меню. Нужно запретить оба способа. Но настройка должна быть локальна для данного юзера, т.к. сам я хочу выключать кнопкой 
I code, therefore I am...
-
SergM
- Сообщения: 50
- ОС: WinXP, SuSe 10.3
Re: Запрет на выключение ПК
Mahoney
Кнопка на корпусе - она, видите ли, ОС-независима... Кина не будет.
Кнопка на корпусе - она, видите ли, ОС-независима... Кина не будет.
-
petyanamlt
- Сообщения: 1773
- ОС: Kubuntu 16.04(x86-64)KDE 5.8.7
Re: Запрет на выключение ПК
Кнопку на корпусе и на бп. залить эпоксидкой,вилку припаять к розетке.
Ну а в кедах,убрать к-меню и поставить в автозапуск только те проги которыми юзер пользуеться.
MSI 990FXA-GD80 SocketAM3+ / FX 8350 / Geforce gtx670 4GB / 4xHDD - 2000 -2х500 (Velociraptor) - 240ssd под Kubuntu / 16Gb RAM DDR3 1600 / TV TBS 6281. Ну и разгон естественно, жить без этого не могу.
(mail agent) petyanamlt собака маил.ру
(mail agent) petyanamlt собака маил.ру
-
Voice
- Сообщения: 1073
- Статус: столлманист
- ОС: Debian GNU/Linux
Re: Запрет на выключение ПК
Personal Settings -> System Administration -> Login Manager -> Shutdown -> Allow Shutdown
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
М. В. Ломоносов
-
Black
- Сообщения: 1104
- ОС: ArchLinux
Re: Запрет на выключение ПК
Кнопкой на корпусе заведует acpid, который отлавливает событя через /proc/acpi/events и, при наличии соответствующего действия в /etc/acpi/*.sh, запускает его. acpid запускается от root, поэтому определить кто нажал на кнопку он не может :-). Поэтому здесь только отключением действия.
А через меню - это запросто. Для начала надо определить, что прописано для этого пункта меню. Если на /sbin/shutdown или /sbin/halt есть suid-бит, убрать. Если разрешено через sudo, тоже убрать. Далее добавить в /etc/sudoers запись:
И вместо того, что было в меню, себе вписать "sudo poweroff" себе, юзеру - "xmessage Работай, не халтурь!".
А через меню - это запросто. Для начала надо определить, что прописано для этого пункта меню. Если на /sbin/shutdown или /sbin/halt есть suid-бит, убрать. Если разрешено через sudo, тоже убрать. Далее добавить в /etc/sudoers запись:
Код: Выделить всё
your_name your_hostname=NOPASSWD:/sbin/poweroffИ вместо того, что было в меню, себе вписать "sudo poweroff" себе, юзеру - "xmessage Работай, не халтурь!".
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
-
Mahoney
- Сообщения: 200
- ОС: Fedora
Re: Запрет на выключение ПК
Ты про какое меню? Я про KDEшный диалог завершения работы. Там, как я понял, задаётся раз и навсегда какая команда вызывается и кому её можно вызвать.
I code, therefore I am...
-
Black
- Сообщения: 1104
- ОС: ArchLinux
Re: Запрет на выключение ПК
А, вот оно как. Ну тогда либо где-то должна быть галочка, либо надо лезть в исходники
. Я уж года два как в kde не сижу, поэтому не помню, как там всё делается.
А по поводу кнопки придумал ещё одно топорное решение: если acpid не используется ни для чего, кроме кнопки выключения, то можно убрать его запуск при старте, а себе добавить в ~/.kde/autostart (или как там его) такой скриптик (предварительно разрешив в /etc/sudoers без пароля):
Правда, остаётся вопрос с его остановкой после логаута. Если в kde есть что-то типа ~/.kde/autostop
, то туда надо добавить скрипт:
Если такого нет, то придётся эту команду выполнять вручную.
А по поводу кнопки придумал ещё одно топорное решение: если acpid не используется ни для чего, кроме кнопки выключения, то можно убрать его запуск при старте, а себе добавить в ~/.kde/autostart (или как там его) такой скриптик (предварительно разрешив в /etc/sudoers без пароля):
Код: Выделить всё
sudo /etc/init.d/acpid startПравда, остаётся вопрос с его остановкой после логаута. Если в kde есть что-то типа ~/.kde/autostop
Код: Выделить всё
sudo /etc/init.d/acpid stopЕсли такого нет, то придётся эту команду выполнять вручную.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало