Linux ограничение времени работы компьютера

Популярный Linux

Chukcha аватар

Конец работы!

Понадобилось ограничить время работы детишек на компьютере до 2 часов. Пусть лучше больше по улицам бегают, в футбол играют, носы квасят, чем за компом свое счастливое детство просиживают

В результе появился такой несложный скрипт:

# Содержание рутовского crontab:
# */1 * * * * /root/bin/time-limit/checktime.sh

TIMELIMIT = 120 # 120 минут.

CUR_DIR =$ ( dirname $ ( readlink -e «$0» ) )

TIMECURRENT = $CUR_DIR / log / $ ( date + % Y. % m. % d ) .log

ALLTIME =$ ( wc -l $TIMECURRENT | cut -d » » -f1 )

[ [ » $ALLTIME » -ge » $TIMELIMIT » ] ] && / sbin / shutdown -h now

Скрипт работает глобально, ограничивая работу ВСЕХ пользователей.

Chukcha аватар

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

Еще хотелось бы сделать предупреждающее всплывающее окошко.

Тренируясь, добавил для этого в crontab строку —

33 14 * * * / usr / bin / zenity —error —title = «Внимание!» —text = «Компьютер будет выключен через 5 минут» display =: 0.0 >> / root / zenity.log 2 >& 1

Источник

Ограничения времени работы пользователя.

Нужно чтобы пользователь мог работать только в определенное время (скажем с 15:00 до 21:00). При этом компьютер должен автоматически выключаться/переводится в спящий режим — не суть важно, и при попытках залогиниться пользователем в неподходящее время компьютер должен опять таки выключаться. То есть в данном случае, если компьютер включается в 1:00, то тут же он и выключается, если наступает 21:00, то компьютер выключается. Ну а если в данный момент от 15:00 до 21:00 пользователь может спокойно работать.

p.s. Мне все равно на изящность/убогость решения. Главное — чтобы работало, чем скорее — тем лучше. И просьба, если вы знаете куда копать надо, то не надо кидать пару умных фраз от которых все становится только запутанней. Пара ссылок на материал поможет куда больше.

емнип это можно с PAM организовать.

Нужно чтобы пользователь мог работать только в определенное время (скажем с 15:00 до 21:00). При этом компьютер должен автоматически выключаться/переводится в спящий режим — не суть важно, и при попытках залогиниться пользователем в неподходящее время компьютер должен опять таки выключаться. То есть в данном случае, если компьютер включается в 1:00, то тут же он и выключается, если наступает 21:00, то компьютер выключается. Ну а если в данный момент от 15:00 до 21:00 пользователь может спокойно работать.

скрипт напиши и повесь на crond.

Читайте также:  На чем основана роса линукс

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

Вот какое решение я нашел узнав про PAM

Задача: пользователь myuser. Время, когда можно пользоваться компьютером вышеуказанным пользователем: Понедельник, вторник, четверг в 08:00-10:00 и 20:00-21:30 (из промежутка 08:00-21:30 исключается время 10:00-20:00. Именно так прописывается в time.conf) — пояснение ниже Среда, пятница в 20:00-21:30 Суббота в 18:00-22:00 Воскресенье в 09:00-20:00

Решение. С правами админа вписываем в /etc/security/time.conf следующую строку

*;*;myuser;WeFr2000-2130|Sa1800-2200|Su0900-2000|MoTuTh0800-1000|MoTuTh2000-2130

Я не стал замарачиваться ограничением по login, gdm, а сразу обрубаю всю активность на компе (звездочки). В вышеуказанной статье Scott’а Kindley дается пример с использованием символа &. Я не стал его использовать, т.к. неправильно отрабатывают правила. Поясню:

login|gdm;*;jordan;Wk1630-2000 | Wd0800-2230&!1200-1500

cовсем не одно и то же, что

login|gdm;*;jordan;Wd0800-2230&!1200-1500 | Wk1630-2000

Потому указал два диапазона времени для MoTuTh вместо MoTuTh0800-2130&!1000-2000. Далее вписываем ниже последней строки, начинающейся с auth в файлах /etc/pam.d/login, /etc/pam.d/gdm, /etc/pam.d/sshd

account required pam_time.so

Замечательно, ограничения вступают в силу немедля. Но есть один ньюанс. Наступает время, когда сеанс залогиненного пользователя должен закончится. Но он продолжает и далее работать. Непорядок! Надо принудительно завершить его сеанс, предварительно выдав пользователю сообщение. Выполняем это средствами штатного планировщика cron. Редактируем планировщик:

где вписываем такие строки:

#m - минуты, h - часы, dom - день месяца, mom - месяц, dow - день недели, command - выполняемая команда #m h dom mon dow command 00 10 * * 1-2 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 10 10 * * 1-2 /usr/bin/skill -KILL -u myuser 00 10 * * 4 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 10 10 * * 4 /usr/bin/skill -KILL -u myuser 30 21 * * 1-5 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 40 21 * * 1-5 /usr/bin/skill -KILL -u myuser 00 22 * * 6 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 10 22 * * 6 /usr/bin/skill -KILL -u myuser 00 20 * * 0 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 10 20 * * 0 /usr/bin/skill -KILL -u myuser

В указанное время на рабочем столе пользователя myuser будет появляться всплывающее окно размером 474×400 пикселей с заголовком «Время вышло». Текст сообщения будет браться из файла /etc/myuser.zenity, который предварительно надо создать. Строки «/usr/bin/skill -KILL -u myuser» выполняют принудительное завершение сеанса пользователя, если он сам не захотел отключаться.

Читайте также:  Remove duplicates files linux

Источник

Timekpr-nExT, программа родительского контроля для Ubuntu

о таймкпр-следующий

В следующей статье мы рассмотрим Timekpr-nExT. Около графический инструмент родительского контроля с помощью которого можно ограничить активность детей на компьютере с Gnu / Linux. Приложение использует Python / GTK3 и было создано как замена Тимекпр-возрожденный, который был заброшен.

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

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

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

Общие характеристики Timekpr-nExT

экран администрирования программы

  • Timekpr-nExT — это доступно для Ubuntu 16.04+, более старые версии не поддерживаются.
  • Как указал его создатель в сайт проекта, это приложение совместим с различными рабочими столами. Разработчик утверждает, что это приложение работает на Xfce, Cinnamon, KDE, GNOME 3, Unity, Deepin и Budgie.
  • Может быть установлен дневные лимиты. Администратор может настроить приложение, чтобы разрешить использование компьютера в течение определенного количества минут / часов для каждого дня недели или указать интервал в часах. Их также можно установить недельные и ежемесячные лимиты.
  • шоу уведомления при входе в систему, сообщая пользователю, есть ли у него ограниченное время для использования оборудования в этот день и оставшееся время. Приложение тоже уведомляет пользователя об оставшемся времени, когда время доступа приближается к концу.
Читайте также:  Linux how to remove directory and all files

уведомление и значок на клиенте

  • Мы найдем индикатор приложения на панели покупателя, который позволяет получить доступ к информации об оставшемся времени или ограничениях и конфигурации Timekpr-nExt.
  • Панель управления включает опции; администратор может добавить или вычесть время легко на текущий день. Может отслеживать время простоя, пока экран заблокирован. Здесь мы можем установить время предупреждения, и т.д.
  • Timekpr-nExT позволяет настраивать разные расписания родительского контроля для каждой учетной записи пользователя.

Установите Timekpr-nExT на Ubuntu

Существуют пакеты Timekpr-nExT для Ubuntu (включая Xubuntu или Kubuntu) и дистрибутивы Gnu / Linux на основе Ubuntu, такие как Linux Mint. Чтобы продолжить его установку в Ubuntu / Linux Mint, мы можем используйте свой PPA открытие терминала (Ctrl + Alt + T) и выполнение команд:

добавить приложение ppa

sudo add-apt-repository ppa:mjasnik/ppa

время установкиkpr-next

sudo apt update && sudo apt install timekpr-next

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

Базовое использование приложения родительского контроля Timekpr-nExT

пусковые установки timkpr-next

Если вы хотите использовать Timekpr-nExT для ограничения доступа пользователя к компьютеру, вам нужно будет запустить приложение для начала. Если мы хотим получить доступ как администратор, это будет необходимо запустите пункт меню Timekpr-nExT, начиная с (SU), и оттуда установите лимиты на учетные записи пользователей.

timepkr-следующий клиент

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

дневные лимиты timekpr-next

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

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Ubuntu » Timekpr-nExT, программа родительского контроля для Ubuntu

Источник

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