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


0

2

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

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

Содержание

  1. Ограничиваем время проведенное за ПК в Linux с помощью Timekpr
  2. Возможности
  3. Как работает
  4. Установка
  5. Ограничения времени работы пользователя.
  6. Linux For Children
  7. Linux для детей
  8. Родительский контроль и фильтрация веб-контента
  9. Xubuntu-ru.net

Ограничиваем время проведенное за ПК в 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.

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

Источник

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 недели, сервиса, на которые они претендуют и их терминалов, из которых они делают запросы.

При использовании 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, мы получим результат:

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

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

Таким образом, пользователь 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ого комментария отсюда . Сообщайте об ошибках перевода в комментариях или через форму контакта.

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

Источник

about timekpr-next

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

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

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

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

Индекс

  • 1 Общие характеристики Timekpr-nExT
  • 2 Установите Timekpr-nExT на Ubuntu
  • 3 Базовое использование приложения родительского контроля Timekpr-nExT

pantalla administración del programa

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

aviso e icono en el cliente

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

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

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

add ppa aplicación

sudo add-apt-repository ppa:mjasnik/ppa

instalación timekpr-next

sudo apt update && sudo apt install timekpr-next

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

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

lanzadores timkpr-next

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

cliente de timepkr-next

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

daily limits timekpr-next

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

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

Вы можете быть заинтересованы

У меня появилась необходимость ограничить техническим средствами время «работу» семилетнего чада за компьютером с GNU / Linux.

Проблему с великим и ужасным интернетом я легко решил с помощью детского браузера «Гогуль». А вот с ограничением времени работы пользователя возникли трудности. Начал поиск имеющихся программ для Ubuntu 12.04 и обнаружил, что с этим дела обстоят не лучшим образом.

Что-то у меня не работает, как Gnome nanny (у некоторых, судя по отзывам, она еще и портит систему), для чего-то даже нет готовых пакетов для установленной версии Ubuntu, в том числе и в сторонних хранилищах.

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

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

Исходный код доступен по ссылке — time-control

Приложение нужно прописать в автозапуске пользователя и инициализировать запуском из командной строки, передав в качестве параметра количество разрешенных за день минут. В дальнейшем редактировать этот параметр можно в файле /home/patient/.parcon/config, где patient следует заменить на имя пользователя, разумеется.

Когда время, отведенное для пользователя завершается, программа вызывает функции завершения сеансов работы Unity/(Gnome ?) и XFCE. Вариант для KDE был добавлен наугад и не тестировался, так что наверняка он работает кое-как.

Недостатком решения является то, что по завершении сеанса до завершения времени, программа продолжает работать и отсчитывать минуты. Я обошел это добавлением специальной кнопки завершения сеанса, заодно завершающей программу командой «pkill -9 parcon».

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

Ubuntu <= 11.10 User’s follow this guide for Ubuntu User’s >= 11.10 read the Bottom page notice :

Yes all of those programs are out of date and all your questions are answered here and good look with your parent control…..

When we talk about forcing a user to log off, what we’re really talking about is implementing time restrictions on the account for system access or services. The easiest way I’ve found to implement time restrictions is using a plug-in module called Linux-PAM.

Pluggable Authentication Module (PAM) is a mechanism for authenticating users. Specifically, we’re going to use the pam_time module to control timed access for users to services.

Using the pam_time module, we can set access restrictions to a system and/or specific applications at various times of the day as well as on specific days or over various terminal lines. Depending on the configuration, you can use this module to deny access to individual users based on their name, the time of day, the day of week, the service they’re applying for, and their terminal from which they’re making the request.

When using pam_time, you must terminate the syntax of each line (or rule) in the /etc/security/time.conf file with a newline. You can comment each line with the pound sign [#], and the system will ignore that text until the newline.

Here’s the syntax for a rule:

services;ttys;users;times

The first field —  services — is a logic list of PAM service names.
The second field — tty — is a logic list of terminal names.
The third field — users — is a logic list of users or a netgroup of users.
The fourth field — times — indicates the applicable times.

Here’s an example of a typical set of rules:

login ; * ; !bobby ; MoTuWeThFr0800-2000
login ; * ; !root ; !Al0000-2400
http ; * ; !bobby ; MoTuWeThFr0800-2000
http ; * ; !root; !Al0000-2400

These rules restrict user bobby from logging on between the hours of 0800 and 2000, and they also restrict Internet access during these hours. Root would be able to logon at any time and browse the Internet during all times as well.

Note: The system logs errors with these rules as syslog(3).


With Ubuntu Linux, it is possible to assign to your computer time restrictions, to prevent the connection of one or more users to your system. With the time restrictions, you can, for example, limit access to the computer for your children (a kind of parental control, in short), or even protect the connection to your server during certain hours.

Manual Configuration

Understand what you will do

Throughout this tutorial, we will use PAM (Pluggable Authentication Modules, English Pluggable Authentication Modules). It allows you to control user authentication when they connect. Then, we will use the security configuration files to define logon hours allowed.
These manipulations can be performed on any version of Ubuntu, and require only a simple text editor (vim, emacs, nano, gedit, kate, to name a few).
Enable Restrictions hours via the PAM Module

First of all, first go to the /etc/pam.d/, where is all configurable services:

$ Ls /etc/pam.d/
atd common-account common-session gdm login ppp sudo
chfn common-auth cron gdm-autologin Other samba
chsh common-cupsys gnome-screensaver password passwd su

If we want to block the connection to the computer, we will have to change the gdm service. Edit the file so gdm and add this line of code (at the end of file):

account required pam_time.so

GDM is the login screen distributions Ubuntu, Edubuntu and Xubuntu. For Kubuntu, which uses KDE, kdm service is called, it will be the file it will open.
And you’re done for configuring the PAM! This will enable the control of hours on this service.

If you have a server, you probably do not have no GUI. In this case, GDM / KDM not installed and the connection will not be blocked. To prevent connection to TTY, you must modify the login of the same file, and add the same line of code than previously acknowledged. This action also applies to people who have installed a GUI and want to block access to the login screen and terminals.

Configure Access Hours

Now that the PAM service has been activated, we only have to configure access times. Open the /etc/security. Several configuration files are available:

$ Ls /etc/security/
access.conf namespace.conf pam_env.conf
group.conf namespace.init time.conf
limits.conf opasswd time.conf.bak

Edit the file time.conf. Some explanations and examples (English) introducing the. To set access schedules, copy and paste the following line of code (at the end of the file, as always):

*;*;user;scheduler

Instead of the user field, enter the login account you want to block.

If you want to block multiple users, enter their login in a row, separated by the | operator. For example, if I want to freeze the accounts of Patrick, John and Emily:

*;*;Patrick|jean|emilie;scheduler

By cons, if you want to block access to the system for all users but one in particular, use the! before the person concerned.
For example, if I want access to the computer is denied to all users, except Nicolas and Xavier:

Nicolas *;*;!|xavier;scheduler

Turning now to the field zones. In this field that the selection of days and hours will be allowed connection possible.
You must first specify the day of the week, using the following abbreviations:

Mo : Monday     Fr : Friday     Wd : Sa/Su
Tu : Tuesday    Sa : Saturday   wk : Mo/Tu/We/Th/Fr
We : Wenesday   Su : Sunday
Th : Thursday   Al : All Days

Be careful not to confuse the abbreviations Wk and Wd are misleading! particularly poorly identified on the Internet: you can easily find conflicting information!

Then, we specify the deadlines. These should be formatted 24H, consisting of 4 digits. For example, to restrict 3:17 p.m. to 6:34 p.m., we write: 1517-1834.
To allow Marie to connect only on Tuesday, from 3:17 p.m. to 6:34 p.m., we obtain the result:

*;*;marie;Tu1517-1834

Connections outside of these hours will be banned.
As for users, it is possible to use the operators | and! to indicate several times (the! then indicate that all logon hours are allowed, except those to be shown).

The two stars (wildcards) at the beginning of the line of code are, respectively, and tty services fields. Since you want to block all access to the system, it is unnecessary to specify what service or what tty you want to block.
However, if you want to prevent the use of a particular service, simply specify it as the following example:

login;tty1|tty4|tty5;marie;!Wd0000-2400

Thus, the user marry can not connect to a TTY, 4 and 5 during the weekend.

Some Examples of Restrictions Schedule

mathilde is allowed to connect every day from 1:20 p.m. to 3:20 p.m. and from 4:00 p.m. to 8:30 p.m.:

*;*;mathilde;Al1320-1520|Al1600-2030

Stone, Frank and Florian are allowed to connect to 2:00 p.m. to 6:45 p.m. during the weekdays, and 2:00 p.m. to 10:15 p.m. for the weekend:

*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215

Olive is never allowed to connect. jessica can log on Wednesday from 1:00 p.m. to 4:00 p.m.:

*;*;olivier;!Al0000-2400
*;*;jessica;We1300-1600

2 different lines, for two different time for each user
Expiration of a Session

When a session expires (it exceeds the time while the user is already connected), the PAM can reach the user. While mathilde connects during the hours of time allowed, it is perfectly free to exceed these hours! For this, we will use a new program: ´cron´. This application executes commands at intervals of time. In our case, we will make use of command ´skill-KILL-u´ to disconnect the user when the session expires.
Handling is very simple. Simply edit the file ´/etc/crontab´. Then add the following line of code:

Minute Hour Day * * (s) root skill -KILL -u User

As before, replacing the Minute field schedules and time desired. Then fill in the day (s) by (s) day (s) banned (s), or simply type an asterisk (*) to indicate all days of the week. Finally, change the field used by the login account to be blocked, and voila!

Days do not notice the same way with the cron jobs! Here is the list of abbreviations to be used with this program:

mon : monday    fri : friday
tue : tuesday   sat : saturday
wed : wednesady sun : sunday
thu : thursday   *  : all hours

Some Examples of cron jobs (with examples of times in the previous section)

jessica can log on Wednesday from 1:00 p.m. to 4:00 p.m.

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

00 16 * root * wed skill -KILL -u jessica

mathilde is allowed to connect every day from 1:20 p.m. to 3:20 p.m. and from 4:00 p.m. to 8:30 p.m..

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

20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde

Stone, Frank and Florian are allowed to connect to 2:00 p.m. to 6:45 p.m. during the weekdays, and 2:00 p.m. to 10:15 p.m. for the weekend

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

45 18    * * mon,tue,wed,thu,fri   root    skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
15 22    * * sat,sun               root    skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian

The command skill-KILL-u disconnects the user from the GUI, as well as TTY. It is perfectly usable for server administrators.
However, this command is immediate and the disconnection will be made without notice. It would therefore be preferable to prevent the installation of this device users of the computer or network in question!

It is possible to prevent users with a wall command launched by cron few minutes before the end of the timeframe, that will be displayed in the terminals of all users.

40 18 * * Mon,Tue,wed,thu,fri root echo "end of session in 5 minutes" | wall

To prevent users from GUI can be used in place of the wall command notify-send is in the package libnotify-bin Install X

40 18 * * Mon,Tue,wed,thu,fri stone DISPLAY=:0 notify-send "end of session in 5 minutes"

Ubuntu 11.10 User’s

I’ve seen around user having problems with Pam and i saw alot of bug about that so Why is the reason??? is so simple Ubuntu 11.10 doens’t support GDM anymore the new display manager is lightGDM the problem is the follow where store this directive account required pam_time.so i think is in /etc/pam.d/lightdm or /etc/pam.d/lightdm-autologin but bug how ???

so for just around you can check this 2 LightGdm log files :

  • /var/log/lightdm/lightdm.log
  • /var/log/lightdm/x-0.log

or run LightGdm in debug mode :

LightDM —debug

or report a bug :

ubuntu-bug lightdm

I report the Bug’s here so cross your finger and wait….

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

К сожалению, большинство дистрибутивов GNU/Linux не имеют предустановленного программное обеспечение, либо встроенных функций для родительского контроля. Но это не значит, что вариантов и вовсе нет. Вот 5 способов блокировки сайтов и ограничения времени экрана в GNU/Linux, доступных для вас.

1. Ограничить время экрана с elementary OS


Большинство настольных систем GNU/Linux не поставляются с программным обеспечением для родительского контроля, но это не значит, что ни один из них этого не делает. Один из наиболее популярных дистрибутивов является исключением из правила: elementary OS.

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

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

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



2. Установите расширения в Firefox или Chrome


Расширения веб-браузера для родительского контроля, которые работают в Windows и macOS, также работают в Linux. Mozilla Firefox предустанавливается на многие рабочие столы GNU/Linux, а Google Chrome легко загружается.

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

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

3. Изменить файл Hosts для блокировки веб-сайтов


Файл hosts — это простой текстовый файл, который служит небольшим шлюзом между вами и сетью. Прежде чем ваш браузер загрузит IP-адрес сайта, он сначала проверяет файл hosts. Если ваш файл hosts отображает адрес, который указывает на ваш локальный компьютер, например 127.0.0.1, то браузер скажет, что сайт не найден.

Сайт эффективно заблокирован, если у вашего ребенка нет доступа к вашему паролю администратора.

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

Но следующий вариант, устраняет оба этих недостатка.

4. Фильтруйте веб-контент с помощью OpenDNS


OpenDNS — это бесплатный сервис, который может блокировать доступ веб-сайтов через ваш маршрутизатор. Таким образом, вы можете запретить загрузку сайтов на компьютерах, планшетах и ​​любых других устройствах.

Сервис предлагает несколько вариантов фильтрации. «Низкая» настройка попытки отфильтровать порнографию, в то время как «высокая» настройка также блокирует социальные сети, сайты обмена видео, а также незаконную деятельность. Вы также можете заблокировать сайты, на которых попросту тратится много времени.

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

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

5. Мониторинг использования с StaffCounter и KidLogger


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

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

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

KidLogger не предоставляет приложения для GNU/Linux, но служба работает с помощью программы StaffCounter, инструмента, который используется для наблюдения за работой сотрудников. Вы можете найти описание того, как это сделать, в блоге KidLogger.



Стоит ли вообще использовать программное обеспечение для родительского контроля?


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

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

Источник: MakeUseOf

Ноутбук общего пользования с ограничением времени сеанса

Время на прочтение
6 мин

Количество просмотров 20K

Приветствую хабровчане,

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

Итак, исходная ситуация и требуемая функциональность:

  • Ноутбук Acer i3, 4GB RAM, WIFI/USB, 640GB HDD(1 Recovery Partition + 1 System/Data), Win 7 Home Premium;
  • необходимое время сессии ограничено 30 минутами;
  • перерыв между сессиями(минимальный между логинами) в 2 минуты;
  • данные сеанса не сохраняются, более того — должны быть удалены с ноутбука по окончании сессии;
  • возможность работы определенного пользователя(работник кафе) без ограничения времени;
  • возможность использования при необходимости предустановленной Windows 7.

После интенсивного поиска в интернет на тему программ для интернет-кафе я решил, что из пушки по воробьям все-таки палить не стоит, и выбрал следующие средства для решения поставленной задачи:

  • Линукс как вторая, и основная операционная система(Ubuntu 12.04 LTS, т.к. будет еще пару лет поддерживаться обновлениями);
  • гостевая учетная запись, которая в 12.04 присутствует и после окончания сессии удаляет все данные пользователя;
  • двойная скрытая загрузка, с опциональной загрузкой windows.

Теперь по порядку.

Установка системы

В windows через „Система-Управление-Управление дисками“ уменьшил основной раздел (с меткой „Acer“) на 200 ГБ, получилось свободная неформатированная область диска(200ГБ), туда и поставим убунту.

Инсталляция Ubuntu проводится стандартно, загрузка с cd/dvd.
При установке можно выбрать вариант «рядом с существующей операционной системой», я выбрал ручное разбиение на разделы:

  • (расширенный) корневой раздел root (использовать как „/“) 20 GB ext4 (/dev/sda5);
  • домашний раздел (использовать как „/home“) 176 GB ext4 (/dev/sda6);
  • раздел файла подкачки (использовать как swap) 4 GB (/dev/sda7), хотя в принципе не нужен, т.к. глубокий сон с сохранением на диск не предвидится, а для инет-серфинга он не понадобится.

Систему устанавливаем с именем пользователя administrator („admin“ уже зарезервирован в убунту).

После первой перезагрузки подключаем сеть/WIFI (если еще не подключились) и инсталлируем все обновления плюс парочку необходимых дополнений для нормальной работы:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install flashplugin-downloader
sudo apt-get install gimp

Если планируется использование java (например, онлайн-банкинг и т.п.), ставим ее тоже:

sudo apt-get install openjdk-7-jre icedtea-7-plugin

В этом ноутбуке первый раздел (/dev/sda1) – это раздел восстановления Windows, поэтому из загрузочного меню GRUB его желательно убрать от греха подальше.
Я сделал так:

из /boot/grub/grub.conf скопировал нужную секцию в /etc/grub.d/40_custom:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 7 (loader) (on /dev/sda2)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 70E253CBE25393E6
chainloader +1
}

в конец файла /etc/default/grub дописываем

GRUB_DISABLE_OS_PROBER="true"

и запускаем в терминале обновление меню GRUB

sudo update-grub

Tеперь при перезагрузке в меню видим только пункты относящиеся к линуксу и последним пунктом загрузку установленной Windows.

Если необходимо спрятать загрузочное меню, придется обойти один баг, присутствующий в ubuntu 12.04, а именно то что просто изменением параметров в /etc/default/grub

GRUB_HIDDEN_TIMEOUT="5"
GRUB_HIDDEN_TIMEOUT_QUIET="false"

спрятать меню при загрузке не удастся.
Это лечится добавлением в конец файла /etc/grub.d/00_header фрагмента

### BEGIN Hidden Menu Test ###
cat << EOF
if [ ${timeout} != -1 ]; then
if sleep --verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
set timeout=0
fi
fi
EOF
### END Hidden Menu Test ###

В конечном итоге файл /etc/default/grub имеет у меня следующий вид:

GRUB_DEFAULT="0"
GRUB_HIDDEN_TIMEOUT="5"
GRUB_HIDDEN_TIMEOUT_QUIET="false"
GRUB_TIMEOUT="5"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER="true"

и конечно, не забудьте обновить grub перед перезагрузкой:

sudo update-grub

Теперь если после исчезновения экрана биос в течение 5 секунд нажать ESC, появится меню GRUB, иначе будет тихо загружен первый пункт меню по умолчанию (Ubuntu).

Конфигурируем гостевую сессию

  • Создаем нового пользователа user (это будет сначала наш образец для гостя, потом логин для работника кафе);
  • Меняем обои;
  • Выставляем нужные ярлыки на рабочий стол/конфигурируем по вкусу панель Unity;
  • Меняем настройки LibreOffice, Gimp и т.д.

Выходим из системы и логинимся снова как administrator.
Создаем папку /etc/guest-session/skel:

sudo mkdir -p /etc/guest-session/skel

и копируем туда домашний каталог нашего user:

sudo cp -a /home/user/* /etc/guest-session/skel/
sudo cp -a /home/user/.* /etc/guest-session/skel/

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

Ограничение гостевой сессии по времени

Логинимся в систему как administrator.
Добавляем в файл /usr/sbin/guest-account в конец функции remove_account() (выполняется, когда гость выходит из системы) строки:

remove_account ()
{
…
…
  
  rm -f /tmp/*.guest
  touch /tmp/$(date -d "today" +"%Y%m%d%H%M").guest
}

Создаем файл /etc/guest-session/skel/.guest.sh со следующим содержимым:

#!/bin/sh

if [ -f /tmp/*.guest ]
then
    TIMEOUT=2
    TIMESTAMP=`date -d "today" +"%Y%m%d%H%M"`

    for FNAME in /tmp/*.guest 
    do
	OLDTIME="$(basename $FNAME .guest)"
    done

    if [ $(($TIMESTAMP-$OLDTIME)) -lt $TIMEOUT ]
    then
	sleep 10
	notify-send -u critical "Новая сессия еще не может быть запущена!" "Подождите некоторое время (сейчас будет выполнен выход из системы)."
	sleep 10
	gnome-session-quit --logout --no-prompt
    fi
fi

sleep 10
notify-send -u critical "Новая сессия запущена"  "У Вас 30 минут времени.nnПользуйтесь!"
sleep 600
notify-send -u critical "Осталось 20 минут..."
sleep 600
notify-send -u critical "Осталось 10 минут..."
sleep 300
notify-send -u critical "Через 5 минут будет выполнен автоматических выход из системы!nВсе данные Вашего сеанса будут удалены."
sleep 300
notify-send -u critical "До свидания" "Сеанс завершится через 10 секунд.nВсе данные Вашего сеанса будут удалены."
sleep 10
gnome-session-quit --logout --no-prompt

и делаем его исполняемым:

sudo chmod a+x /etc/guest-session/skel/.guest.sh

Остается только добавить в конец файла /etc/guest-session/skel/.profile строчку


$HOME/.guest.sh &

и собственно на этом все.

Результат

В результате я получил ноутбук, который без предупреждения и показа меню загружается в убунту, с тремя пользователями: administrator, user и „гость“, и с ограничением времени „гостевого“ сеанса в 30 минут с принудительной паузой в 2 минуты. Паузу можно сбросить, перезагрузив ноутбук. Если такое нежелательно, то стоит сохранять файл .guest не в /tmp, а, скажем, в /var/log (см. /usr/sbin/guest-account).
Через определенные промежутки времени пользователю выдаются сообщения об оставшемся времени сеанса.
Во время сеанса возможна смена пользователя (например на user, и обратно на гость без необходимости полного выхода user’a из системы).

Недостатки

Скрипт .guest.sh хотя и не виден в домашней папке (по крайней мере сразу), но виден в списке процессов, и этот процесс спокойно убивается гостем (если он знает как), что в принципе снимает ограничение на время сеанса.

Конструктивная критика и предложения по улучшению данного решения приветствуется!

Понравилась статья? Поделить с друзьями:
  • Lns компания санкт петербург официальный сайт
  • Manna world holding trust что это за компания
  • Администрация богородского района часы работы
  • Администрация волгограда реквизиты госпошлины
  • Администрация володарского района часы работы