Как запретить выключение linux

Как в ОС ROSA запретить пользователям отключать компьютер

В некоторых случаях необходимо запретить выключение компьютера обычным пользователям. Практически в каждой операционной системе можно это настроить. Даже в отечественной ОС ROSA Desktop Fresh R11 можно запретить пользователям это делать. Причин по которым обычному пользователя нельзя отключать ПК может быть очень много, рассказывать о них нет особого смысла. Давайте лучше посмотрим как это можно реализовать в данной ОС.

Благодаря своему понятному и удобному интерфейсу данная операционная система становиться все популярней. ROSA можно использовать в качестве домашней ОС. Я уже написал несколько статей на тему её настройки рекомендую прочитать.

ROSA Desktop Fresh R11 запрещаем выключать компьютер

Первым делам необходимо открыть «Параметры системы», в ROSA Desktop Fresh R11 соответствующий значок расположен на панели задач, найти его можно также и в пуске. Далее ищем раздел «Системное администрирование» и выбираем «Вход в систему».

ROSA Desktop Fresh R11 параметры системы

В открывшемся окне переходим во вкладку «Выключение» и в раздели «Разрешить выключать компьютер» выбираем «Только администратору» жмем «Применить».

Как в ОС ROSA запретить пользователям отключать компьютер

Вводим пароль суперпользователя.

ROSA Desktop Fresh R11 запрещаем выключать компьютер

Все теперь при попытке обычным пользователям выключить компьютер будет появляться вот такое сообщение.

Как запретить пользователям выключать компьютер ОС ROSA

Вот таким образом реализована функция запрета выключения компьютера обычным пользователям.

Источник

Запретить или требовать пароль для выключения/перезагрузки компьютера

В современных системах какая-то модная дичь, позволяющая любому активному пользователю выключать, суспендить или перезагружать компьютер. Правила эти прописаны в /usr/share/polkit-1/actions/org.freedesktop.login1.policy . Редактировать этот файл не рекомендуется, т.к. он перезапишется при обновлении. Вместо этого они предлагают создать .rules файл, например в /usr/share/polkit-1/rules.d/ .
Ок, создал файл /usr/share/polkit-1/rules.d/local.shutdown.rules

polkit.addRule(function(action, subject) < if ( action.id == "org.freedesktop.login1.reboot" || action.id == "org.freedesktop.login1.reboot-ignore-inhibit" || action.id == "org.freedesktop.login1.reboot-multiple-sessions" || action.id == "org.freedesktop.login1.power-off" || action.id == "org.freedesktop.login1.power-off-ignore-inhibit" || action.id == "org.freedesktop.login1.power-off-multiple-sessions" || action.id == "org.freedesktop.login1.halt" || action.id == "org.freedesktop.login1.halt-multiple-sessions" || action.id == "org.freedesktop.login1.halt-ignore-inhibit" || action.id == "org.freedesktop.login1.suspend" || action.id == "org.freedesktop.login1.suspend-multiple-sessions" || action.id == "org.freedesktop.login1.suspend-ignore-inhibit" || action.id == "org.freedesktop.login1.hibernate" || action.id == "org.freedesktop.login1.hibernate-multiple-sessions" || action.id == "org.freedesktop.login1.hibernate-ignore-inhibit" ) < return polkit.Result.AUTH_ADMIN; >>); 

Однако нифига, по прежнему из диалога входа SDDM и из меню KDE залогиненного пользователя по прежнему можно перезагрузить и выключить без запроса прав. Что за фигня?

Понавыдумали всякую дичь переусложнённую.

Система Ubuntu 18.04, если это что-то значит.

ЗЫ как бе логично что залогиненный в графический сеанс может выключать свой комп не спрашивая у себя самого пароль рута лол)))

Вопрос в том как сделать чтобы работало как хочется.

ЗЫ как бе логично что залогиненный в графический сеанс может выключать свой комп не спрашивая у себя самого пароль рута лол)))

Да не важно, настройки на то и настройки чтобы их можно было менять, если дефолт по каким-то причинам не подходит. Или линукс уже до такой степени скатился что дефолт нельзя поменять?

Читайте также:  Puppy linux sfs пакеты

Разве группу не надо указать?

Нет. Это нужно если ты хочешь разрешить эти действия без пароля пользователям в указанной группе.

Deleted ( 02.01.19 20:17:43 MSK )
Последнее исправление: pyroman 02.01.19 20:19:13 MSK (всего исправлений: 1)

А если на компе одновременно три индуса на разных мониторах работают? Multiseat или че-то типа того.

Или попросту удалённые сеансы открыты.

залогиненный В ХАРДВАРНУЮ КОНСОЛЬ.
а если в неё 3 индуса то и надо думать.
у ТС просто хотелка, впрочем реализуемая за 5 минут гугления.

По смыслу поста, запретить юзерам указанные действия и есть цель.

Попробовал простой конфиг

cat /etc/polkit-1/rules.d/60-noshutdown.rules polkit.addRule(function(action, subject) < if (action.id == "org.freedesktop.login1.power-off" || action.id == "org.freedesktop.login1.power-off-multiple-sessions") < return polkit.Result.NO; >>);
Failed to set wall message, ignoring: Interactive authentication required. Failed to call ScheduleShutdown in logind, proceeding with immediate shutdown: Access denied Failed to set wall message, ignoring: Interactive authentication required. Failed to power off system via logind: Access denied

А ADMIN_AUTH вместо NO работает? Интересует всё же запрос пароля админа, а не категорический отказ.

AUTH_ADMIN правильно. И да, работает.

С одной поправкой. Если из гуя выключать, то пароль не запрашивает, просто ничего не происходит. Если из терминала, то запрашивает.

Да, в конфиге так и прописано.

Мда. То есть ты прописал точно так же как у меня в пером посте пример по такому же пути?

Я не в курсе, как в убунту, поэтому не предъявляю по путям и прочему. Где у меня файл, я показывал:

cat /etc/polkit-1/rules.d/60-noshutdown.rules

С одной поправкой. Если из гуя выключать, то пароль не запрашивает, просто ничего не происходит.

По идее должен вылазить такой диалог: http://i.imgur.com/0YiBvgY.png

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

Попробуй в /etc/. бросить мой конфиг и посмотреть, что выйдет.

Вообще у меня директория rules.d уже была в /usr/share/polkit-1/rules.d/ и там лежат ещё какие-то дистровские файлы .rules, а в /etc/polkit-1/ нет директории rules.d .

Authorization rules are defined in JavaScript .rules files. They are found in two places: 3rd party packages can use /usr/share/polkit-1/rules.d (though few if any do) and /etc/polkit-1/rules.d is for local configuration.

Ну по сути обе должны работать.

Ладно, поковыряюсь ещё, спасибо.

Кстати, можно ведь по journalctl посмотреть, что пишет polkit.service. Подгружает он файлы по твоему пути или нет.

Jan 02 20:46:12 arch polkitd[515]: Loading rules from directory /etc/polkit-1/rules.d Jan 02 20:46:12 arch polkitd[515]: Loading rules from directory /usr/share/polkit-1/rules.d Jan 02 20:46:12 arch polkitd[515]: Finished loading, compiling and executing 4 rules

Нет таких сообщений. Вообще у меня оказывается эти .rules файлы не поддерживаются, т.к. старый polkit, лол. https://askubuntu.com/questions/536591/policykit-rules-never-come-into-effect

Читайте также:  What is lsattr in linux

В 18.04 всё ещё версия 0.105.

Вобщем, создал файл /etc/polkit-1/localauthority/50-local.d/50-noshutdown.pkla с таким содержимым:

## https://superuser.com/questions/354678/what-is-the-correct-way-to-prevent-non-root-users-from-issuing-shutdowns-or-rebo ## https://www.linux.org.ru/forum/general/14709882 [Disallow shutdown] Identity=unix-user:* Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-ignore-inhibit;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.set-reboot-to-firmware-setup;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-ignore-inhibit;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.halt;org.freedesktop.login1.halt-ignore-inhibit;org.freedesktop.login1.halt-multiple-sessions;org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-ignore-inhibit;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-ignore-inhibit;org.freedesktop.login1.hibernate-multiple-sessions ResultAny=no ResultInactive=no ResultActive=auth_admin 

Идиотизм блин, понавыдумали упоротой фигни, хрен уследишь за всей этой дичью. В результате из пользовательских сессий кнопки выключения и перезагрузки просто выкидывают из сессии. Ок, и так сойдёт. Но при этом в окне входа SDDM по прежнему есть кнопки выключения и перезагрузки и они по прежнему работают, ведь SDDM работает из под рута.

В четвёртых кедах это просто через GUI настраивалось в настройках, там была тупо галочка и всё, после чего ни в KDM, ни из сессий выключение и перезагрузка не работала, запашивался пароль админа (пользователя в группе sudo).

Источник

Как отключить команды выключения и перезагрузки в Linux

Многие системы Linux позволяют даже обычным пользователям, не являющимся системными администраторами, выключать или перезагружать систему с помощью команд shutdown/halt/reboot. Это может быть небезопасно для многих системных администраторов, особенно если вы используете серверы с несколькими пользователями. В таких случаях рекомендуется отключить выключение и перезагрузку для неадминистративных пользователей в Linux.

Как отключить команды выключения и перезагрузки в Linux

Ниже описаны шаги по отключению выключения и перезагрузки в Linux. Сначала откройте файл /etc/sudoers в текстовом редакторе.

В этом файле мы можем указать различных пользователей, которым не разрешено выключать или перезагружать компьютер.

Например, добавьте следующие строки в файл /etc/sudoers, чтобы запретить пользователю test выключать или перезагружать компьютер.

Cmnd_Alias SHUTDOWN = /sbin/shutdown,/sbin/reboot,/sbin/halt,/sbin/poweroff

Спецификация привилегий пользователя

test ALL=(ALL:ALL) ALL, !SHUTDOWN

Сохраните и закройте файл, чтобы применить изменения.

/etc/sudoers

Теперь запустите команды shutdown или reboot, и вы получите сообщение «Sorry, user ubuntu is not allowed to . «, указывающее на то, что у этого пользователя нет разрешения на выключение или перезагрузку системы.

Также вы можете выполнить команду chmod, чтобы удалить разрешение на выполнение команд выключения и перезагрузки для всех пользователей, кроме пользователя root.

chmod o-x /sbin/shutdown chmod o-x /sbin/reboot chmod o-x /sbin/halt chmod o-x /sbin/poweroff

Обратите внимание, поскольку вышеуказанные команды /sbin/shutdown, /sbin/reboot, /sbin/halt, /sbin/poweroff являются лишь символическими ссылками на /sbin/systemctl, вам может понадобиться удалить разрешение на выполнение для пользователей, не являющихся root и не являющихся владельцами, на этот файл.

Если вы хотите отменить изменения, просто замените — на + в приведенных выше командах.

chmod o+x /sbin/shutdown chmod o+x /sbin/reboot chmod o+x /sbin/halt chmod o+x /sbin/poweroff

Заключение

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

Читайте также:  Установить драйвер звуковой карты linux

Системным администраторам важно регулярно контролировать разрешения, доступные их пользователям. По умолчанию многие системы Linux позволяют обычным пользователям выключать и перезагружать систему. В случае многопользовательских систем, на которых работают серверы, это может представлять проблему. Поэтому рекомендуется проверить, допускает ли это и ваша система Linux, и отключить выключение и перезагрузку для пользователей, не являющихся рутами.

Похожие записи:

Источник

Как запретить использовать shutdown обычным пользователям?

1)Как запретить использовать shutdown(reboot,halt) обычным пользователям? Да и вообще как запрещать чтото подобное? 2)В продолжение вопроса о «лишних» учетных записях, а зачем нужен юзер halt.

Re: Как запретить использовать shutdown обычным пользователям?

If shutdown is called with the -a argument (add this to the invocation of shutdown in /etc/inittab), it checks to see if the file /etc/shutdown.allow is present. It then compares the login names in that file with the list of people that are logged in on a virtual console (from /var/run/utmp). Only if one of those authorized users or root is logged in, it will proceed. Otherwise it will write the message

shutdown: no authorized users logged in

Re: Как запретить использовать shutdown обычным пользователям?

Что интересно, в Слаке это как раз и запрещено по умолчанию. Чтобы включить — приходится просто менять разрешения у соответствующих файлов (у /sbin/halt вроде, но точно не помню).

Вот из переписки на mail.gnome.org:

On Thu, Oct 10, 2002 at 04:14:10PM -0300, Gustavo Soares wrote:

> How can I make all local users to be able to shutdown > on Gnome 1.4?

Well of course anybody can log out of GNOME, so I think you mean shutting down the whole computer system.

I don’t think, that GNOME is able to distiguish between local and remote users, so you really shouldn’t give this permission to anyone!

But what you can do is to give the permission to a group of users.

First choose a group or define a new one for those, who should be able to shutdown the system. On my system I took the group «wheel».

Add the people you really trust into that group.

Then look where the command «shutdown» is — on my system in /sbin. Change the group for this command, ie. «chgrp wheel /sbin/shutdown». Then change the permissions so, that it is setuid root, but that just the owner and the group is able to call it: «chmod 4750 /sbin/shutdown».

That anybody has it in his PATH, you could make a SymLink: «cd /usr/bin ; ln -s ../../sbin/shutdown»

The same you could do with the command «halt».

P.S.: This has nothing to do with GNOME. 😉

Источник

Оцените статью
Adblock
detector