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

Ограничиваем время проведенное за ПК в Linux с помощью Timekpr

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

Разработчик оригинальной программы Timekpr забросил проект довольно давно, но позже нашлись те, кому проект так же показался нужным, сделали форк и продолжили развитие проекта только под немного измененным названием — Timekpr Revived. Форк не сильно отличается от оригинала, но в отличии от него прекрасно работает в последних версиях Ubuntu, и есть индикатор для панели.

Timekpr — главное окно

Возможности

Основные возможности Timekpr-Revived:

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

Вот так выглядит окно, в котором настраиваются ограничения:

Timekpr — настройка ограничений

Через апплет можно получить доступ к основному окну приложения, посмотреть сколько осталось времени:

Timekpr — unity индикатор

Как работает

Timekpr загружается когда пользователь заходит в систему, и проверяет сколько осталось у него времени для работы. Если не осталось совсем, то без лишних предупреждений через минуту Timekpr выйдет из учетной записи. При повторном входе timekpr сделает тоже самое — т.е. разлогинит через минуту, если не осталось времени. Таймаут нужен для того, чтобы была возможность добавить времени использования аккаунта.

Для изменения настроек и добавлении времени, Timekpr требует пароль пользователя:

Timekpr — запрос пароля

Когда останется несколько минут, Timekpr покажет всплывающее уведомление:

Установка

Для установки необходимо добавить ppa:

Если у вас Debian, то здесь можно скачать готовый Deb пакет. В других дистрибутивах Linux придется собирать руками, из исходного кода. Скачать их можно тут.

Индикатор на панели в Unity появится после следующего входа в систему.

Источник

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

Нужно чтобы пользователь мог работать только в определенное время (скажем с 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.

Читайте также:  Windows server 2012 плюсы

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

Источник

Linux For Children

Linux для детей

Родительский контроль и фильтрация веб-контента

В операционной система GNU/Linux существует несколько способов реализации защиты детей от нежелательного и неприемлемого для них контента, а также регламентирования времени работы за компьютером. Два способа ограничения времени работы были рассмотрены на сайте в разделах «Малышам» и «Школьникам».

Еще один способ — установка программы GNOME Nanny («Няня»), с помощью которой можно контролировать следующие действия пользователя:

  • доступ к определенным сайтам
  • продолжительность использования по дням недели:
    • компьютером
    • веб-браузером для просмотра веб-страниц
    • электронной почтой
    • программой обмена мгновенными сообщениями (icq, jabber и другими)

К сожалению, программа находится в стадии разработки и тестирования, и её функционирование на сегодняшний день не является стабильным. По этой причине Nanny отсутствует в официальных репозиториях Ubuntu LTS и Debian (хотя в Ubuntu версии 10.10 пакет Nanny, несмотря на его недоработанность, уже включили в официальный репозиторий). Однако, можно попробовать её в действии, если подключить репозиторий PPA (Personal Packages Archive — персональный архив пакетов), содержащий пакеты этой программы.

Для подключения PPA-репозитория программы в Ubuntu 10.04 LTS и 9.10 введите в терминале следующую команду:

sudo add-apt-repository ppa:nanny

Затем обновите список доступных пакетов:

sudo apt-get update

И установите программу:

sudo apt-get install nanny

После установки программы в меню «Система» -> «Администрирование» появятся два пункта: «BlackLists» и «Parental Control».

Вы можете скачать расширенный blacklist с сайта проекта http://projects.gnome.org/nanny/ — он составлен на основе чёрного списка проекта фильтрации веб-контента Dans Guardian.

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

Если вам нужна стабильность и надёжность, то лучше воспользоваться такими серверными приложениями фильтрации веб-контента, как связка прокси-сервера Squid и SquidGuard, или Squid и DansGuardian — они проверены многолетним опытом эксплуатации, и в них реализована самая сильная сторона Linux как серверной операционной системы.

Источник

Xubuntu-ru.net

Используя pam_time модуля, мы можем установить ограничения на доступ к системе и / или к конкретным приложений в разное время pm, а также в определенные дни или по различным временным отрезкам. В зависимости от конфигурации, вы можете использовать этот модуль для запрета доступа отдельным пользователям на основе их имени, времени суток, pm недели, сервиса, на которые они претендуют и их терминалов, из которых они делают запросы.

Ubuntu = 11.10 прочитайте заметку внизу страницы :

На данный момент существует мало софта для осуществления родительского контроля в linux. И ещё меньше дающего полную свободу в настройке.Ниже приводится решение данной задачи с помощью модуля Linux-PAM.

Pluggable Authentication Module (PAM) это механизм аутентификации пользователей. В частности, мы собираемся использовать pam_time модуль для контроля над доступом юзеров к системе.

Используя pam_time модуля, мы можем установить ограничения на доступ к системе и / или к конкретным приложений в разное время pm, а также в определенные дни или по различным временным отрезкам. В зависимости от конфигурации, вы можете использовать этот модуль для запрета доступа отдельным пользователям на основе их имени, времени суток, pm недели, сервиса, на которые они претендуют и их терминалов, из которых они делают запросы.

Читайте также:  Windows 10 не работает usb вход

При использовании pam_time, вы должны завершить синтаксис каждой строки (правила) в файле /etc/security/time.conf с новой строки. Вы можете прокомментировать каждую строку знаком фунта [#], и система будет игнорировать этот текст до новой строки.

Вот синтаксис правила:

Вот пример типичного набора правил:

Эти правила ограничивают пользователя bobby от входа между 0800 и 2000 часов и они также ограничивают доступ в Интернет в эти часы.

Примечание: Система регистрирует ошибки с этими правилами, как syslog(3).

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

Поймите, что вы будете делать

На протяжении этого урока мы будем использовать PAM (Pluggable Authentication Modules, английский Pluggable Authentication Modules). Это позволяет контролировать аутентификацию пользователей при подключении. Затем, мы будем использовать файлы конфигурации безопасности для определения времени входа допуска. Эти манипуляции могут выполняться на любой версии Ubuntu, и требуют лишь простой текстовый редактор (Vim, Emacs, Nano, Gedit, Kate и тп). Итак, нужно включить “Ограничения часов доступа” через модуль PAM.

Прежде всего, проследуйте в каталог /etc/pam.d/, где находятся все конфигурационные файлы:

Если мы хотим заблокировать доступ к компьютеру, мы должны изменить службу gdm. Измените so файл у gdm и добавьте в конец файл ав строчку ниже:

GDM это окно логина в дистрибутивах семейства Ubuntu (Ubuntu, Edubuntu and Xubuntu). Для Kubuntu, в которой используется окружение KDE, этот сервис называется kdm, в соответствии с этим, файл будет называться также. Всё, Вы включили использование PAM для контроля над временем доступа к системе.

Если у Вас сервер, то скорее всего GUI Вы не используете. Соответственно GDM / KDM не установлен и доступ не будет заблокирован. Для предотвращения доступа к консоли, необходимо изменить логин и того же файла, и добавить те же строки кода, которые названы выше. Это действие также распространяется на людей, которые используют GUI и хотят, чтобы блокировать доступ к экрану входа и терминалу.

Настройка времени доступа.

Теперь, когда служба PAM включена, нам остаётся только настроить время доступа к системе. Откройте каталог /etc/security. Здесь находятся несколько конфигурационных файлов:

Отредактируете файл time.conf. Чтобы настроить доступ, скопируйте и вставьте следующий код в конец файла:

Вместо user введите логин того пользователя, которого нужно ограничить в доступе

Если вы хотите заблокировать несколько пользователей, введите их логины строку, разделеляя их этим символом |. Например, если я хочу заблокировать доступы у Patrick, John and Emily, то синтаксис будет такой:

Если вы хотите, чтобы заблокировать доступ к системе для всех пользователей, кроме определенных, используете символ !. Например, если я хочу запретить доступ к компьютеру для всех пользователей, кроме Nicolas и Xavie, синтаксис такой:

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

Будьте внимательны и не путайте сокращений Wk и Wd!

Затем мы указываем сроки. Они должны быть отображены в 24 часовом формате, состоящим из 4 цифр. Например, чтобы ограничить 3:17 pm до 6:34 pm, мы пишем: 1517-1834. Чтобы разрешить Marie доступ только во вторник, с 3:17 pm до 6:34 pm, мы получим результат:

Читайте также:  Активация windows 10 с помощью активатора

Доступ вне этих часов будет запрещен. Что касается пользователей, то можно использовать операторы | и ! чтобы указать несколько временных зон (индикатор ! указывает, что все время входа допускается, за исключением того, которое будет показано).

Две звезды (символы) в начале строки кода. Так как вы хотите заблокировать доступ к системе, нет необходимости указывать, какие сервисы или терминалы вы хотите заблокировать. Однако, если вы хотите, чтобы предотвратить использование конкретного сервиса, просто укажите его в качестве следующего примера:

Таким образом, пользователь Marry не может подключиться к терминалу, 4 и 5 в выходные дни.

Некоторые примеры расписания ограничений

Матильда может подключаться каждый день с 1:20 pm до 3:20 pm и с 4:00 pm до 8:30 pm:

Stone, Frank и Florian разрешено подключаться до 2:00 pm до 6:45 pm в будние дни и 2:00 pm до 10:15 pm на выходные:

Olive никогда не позволено в доступе. jessica может войти в среду с 1:00 pm до 4:00 pm:

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

Когда сессия истекает (превышается время, пока пользователь уже подключен), PAM может настигать пользователя. Например, в то время как mathilde заходит в систему во время позволенного времени! Для этого мы будем использовать новую программу: cron. Это приложение выполняет команды с интервалом во времени. В нашем случае, мы будем использовать команду skill-KILL-u чтобы отключить сеанс, когда сессия заканчивается. Обработка очень проста. Просто отредактируйте файл /etc/crontab . Добавьте следующие строки кода:

Как и прежде, заменив поле Минута и желаемое время. Затем заполните дни с запретами или просто введите звездочку (*), чтобы указать все дни недели. Наконец, в поле учетной записи пропишите логин, который должен быть заблокирован.

Дни не отмечаем в cron таким же способом! Вот список сокращений, которые будут использоваться с этой программой:

Несколько примеров работы cron (с примерами времени из предыдущей секции)

jessica может войти в среду с 1:00 pm до 4:00 pm

-> Disconnect: Tuesday at 4:00 p.m..

mathilde может входить в систему каждый день с 1:20 pm до 3:20 pm и с 4:00 pm до 8:30 pm.

-> Disconnecting: Daily, 8:30 p.m. to 3:20 p.m. ET.

Stone, Frank and Florian разрешено входить до 2:00 pm до 6:45 pm в будние дни и 2:00 pm до 10:15 pm на выходные

-> Disconnect (1): Monday, Tuesday, Wednesday, Thursday and Friday, at 18:45. -> Disconnect (2): Saturday and Sunday at 10:15 p.m..

Команда skill-KILL-u отключает пользователя с графическим интерфейсом, а также консоль. Вполне пригодно для администраторов сервера. Однако, эта команда является немедленной и отключение будет производиться без предварительного уведомления.

Можно предупредить пользователей командой wall запущенной cron за несколько минут до конца срока, которая будет отображаться в терминалах всех пользователей.

Для уведомления пользователей с GUI можно использовать wall с коммандой notify-send в пакете libnotify-bin

Для пользователей Ubuntu 11.10

IРяд пользователей испытывают проблемы с Pam. Причина проста, Ubuntu 11.10 Не поддерживает более GDM теперь используется lightGDM. Проблема начинается с расположения директивы account required pam_time.so думается, что она тут /etc/pam.d/lightdm или тут /etc/pam.d/lightdm-autologin

Все крутится вокруг двух лог-файлов LightGdm:

Или запустите LightGdm в debug mode :

Или сообщите о проблеме:

Я сообщил о баге тут . Ждем починки.

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

По части бага описанного в конце статьи. Судя по багрепорту всё уже работает.

Источник

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