Доступ к нашему компьютеру (не только к Интернету) должен быть ограничен для учетных записей моих детей (7, 8), пока они не станут достаточно взрослыми, чтобы самим управлять этим. До этого момента мы должны иметь возможность определить следующее:
- часы дня, когда вычисления в порядке (например, с 5 до 9 часов вечера)
- дни недели, когда вычисления не в порядке (например, с понедельника по пятницу)
- количество времени, разрешенное в день (например, 2 часа)
В 11.10 все следующее, что раньше выполняло эту работу, больше не работает:
- Timekpr : для> 11.10 больше не доступно через ppa.
- Timeoutd : альтернатива командной строки, но из 11.10 удалена из репозиториев .
- Gnome Nanny : выглядит великолепно, но постоянно вылетает, чтобы перезапустить X-сервер. Поэтому мы не можем использовать или рекомендовать эту программу в данный момент.
Есть ли другие альтернативы?
Ответы:
Таймер блокировки экрана
Создайте свой собственный таймер блокировки экрана вместо сторонних приложений
Хотя для этого есть сторонние приложения, вы можете создавать свои собственные. Краткое изложение шагов:
gedit
для создания сценарияlock-screen-timer
lock-screen-timer
lock-screen-timer
как исполняемый файлИспользуйте
gedit
для создания сценарияlock-screen-timer
Откройте
Terminal
использование Ctrl+ Alt+ Tи введите:Скопируйте и вставьте код из окна ниже в
lock-screen-timer
Вернитесь к этому экрану и скопируйте следующий код, выделив его и нажав Ctrl+ C:
Затем вернитесь в пустое
gedit
окно и вставьте код, используя Ctrl+ V. Сохраните файл и выйдите из редактора обратно в командную строку.Пометить
lock-screen-timer
как исполняемый файлТеперь нам нужно сделать исполняемый скрипт, набрав:
Проверь это!
Перед вызовом скрипта из графического интерфейса мы вызовем его из терминала, чтобы мы могли увидеть, отображаются ли какие-либо сообщения об ошибках:
Вам предлагается ввести количество минут:
Установите желаемое количество минут и нажмите OK, чтобы запустить таймер. Когда остается 15, 10, 5, 3, 2 и 1 минута, раздается системный звук и появляется сообщение, сообщающее, когда экран будет заблокирован. После блокировки экрана вам необходимо ввести пароль, чтобы разблокировать экран.
Настроить Nautilus для выполнения скриптов bash
Наутилус определяет, что происходит, когда мы дважды щелкаем на исполняемом скрипте, когда это окно отображения файлов или ссылка на рабочем столе. Нормальным поведением является редактирование скрипта с помощью
gedit
. Мы хотим изменить это поведение так, чтобы оно выполнялось.Запустите Nautilus и перейдите в каталог, содержащий
lock-screen-timer
. Щелкните левой кнопкой мыши по нему один раз, чтобы выделить его. Наведите указатель мыши на верхнюю строку меню, пока не появится меню «Редактировать файл ...», используйте:Edit
раскрывающееся менюProperties
вариантBehavior
вкладкуExecutable Text Files
Run executable text files when they are opened
Создать ссылку на ярлык на рабочем столе
Из предыдущего раздела
lock-screen-timer
все еще есть фокус. Если нет, перейдите к сценарию и щелкните левой кнопкой мыши по нему один раз, чтобы выделить его. Тогда используйте:Make Link
.Link to lock-screen-timer
.Теперь вы можете дважды щелкнуть ссылку ярлыка на рабочем столе, и скрипт будет запущен. Появится диалоговое окно для получения количества минут. Две кнопки представлены Cancelи OK. Если вы нажмете,
X
чтобы закрыть окно, оно будет таким же, как и при выборе Cancel.После запуска таймера и двойного щелчка по нему первая запущенная копия «убивается». Теперь вы можете начать новый отсчет блокировки скрена или нажать, Cancelчтобы не было обратного отсчета.
Отображение оставшегося времени в области systray / уведомлений
Во время работы таймера блокировки экрана он записывает, сколько минут осталось в файле
~/.lock-screen-timer-remaining
. Вы можете посмотреть этот файл с помощьюwatch
команды или отобразить его на панели задач / панели приложений Ubuntu, как показано в верхней части этого ответа. Чтобы отобразить оставшееся время в области уведомлений, следуйте инструкциям в этом разделе вопросов и ответов: ( Может ли BASH отображаться в systray в качестве индикатора приложения? ).источник
Ubuntu <= 11.10 Пользователь следует этому руководству для пользователей Ubuntu> = 11.10 прочитайте примечание на нижней странице:
Да, все эти программы устарели, и на все ваши вопросы здесь даны ответы.
Когда мы говорим о том, чтобы заставить пользователя выйти из системы, мы на самом деле говорим о введении временных ограничений для учетной записи для доступа к системе или службам. Самый простой способ реализовать временные ограничения - использовать подключаемый модуль под названием Linux-PAM .
Сменный модуль аутентификации (PAM) - это механизм аутентификации пользователей. В частности, мы собираемся использовать
pam_time
модуль для управления синхронизированным доступом пользователей к услугам.Используя
pam_time
модуль, мы можем установить ограничения доступа к системе и / или определенным приложениям в разное время дня, а также в определенные дни или по различным терминальным линиям. В зависимости от конфигурации, вы можете использовать этот модуль, чтобы запретить доступ отдельным пользователям на основе их имени, времени суток, дня недели, услуги, на которую они обращаются, и их терминала, с которого они делают запрос. ,При использовании
pam_time
вы должны завершить синтаксис каждой строки (или правила) в/etc/security/time.conf
файле новой строкой . Вы можете комментировать каждую строку знаком решетки [#], и система будет игнорировать этот текст до новой строки.Вот синтаксис для правила:
Вот пример типичного набора правил:
Эти правила ограничивают вход пользователя в систему между 08:00 и 2000 годами, а также ограничивают доступ в Интернет в эти часы. Root сможет войти в систему в любое время и просматривать Интернет все время.
Примечание . Система регистрирует ошибки с этими правилами как syslog (3).
В Ubuntu Linux можно назначить вашему компьютеру временные ограничения, чтобы предотвратить подключение одного или нескольких пользователей к вашей системе. С учетом временных ограничений вы можете, например, ограничить доступ к компьютеру для ваших детей (короче говоря , своего рода родительский контроль) или даже защитить соединение с вашим сервером в определенные часы.
Ручная настройка
Понять, что вы будете делать
В этом руководстве мы будем использовать PAM (сменные модули аутентификации, английские сменные модули аутентификации). Это позволяет вам контролировать аутентификацию пользователей при их подключении. Затем мы будем использовать файлы конфигурации безопасности, чтобы определить разрешенные часы входа в систему. Эти манипуляции могут быть выполнены в любой версии Ubuntu и требуют только простого текстового редактора (vim, emacs, nano, gedit, kate и многие другие). Включить ограничения часов через модуль PAM
Прежде всего, сначала перейдите к тому
/etc/pam.d/
, где находятся все настраиваемые сервисы:Если мы хотим заблокировать соединение с компьютером, нам придется изменить службу gdm. Отредактируйте файл так, чтобы gdm добавил эту строку кода (в конце файла):
GDM - это дистрибутивы экрана входа в систему Ubuntu, Edubuntu и Xubuntu. Для Kubuntu, который использует KDE, вызывается служба kdm, это будет файл, который он откроет. И все готово для настройки PAM! Это позволит контролировать часы на этом сервисе.
Если у вас есть сервер, у вас, вероятно, нет графического интерфейса. В этом случае GDM / KDM не устанавливается и соединение не будет заблокировано. Чтобы предотвратить подключение к TTY, вы должны изменить логин того же файла и добавить ту же строку кода, что и ранее подтвержденная. Это действие также распространяется на людей, которые установили графический интерфейс и хотят заблокировать доступ к экрану входа и терминалам.
Настроить часы доступа
Теперь, когда служба PAM активирована, нам нужно только настроить время доступа. Откройте
/etc/security
. Доступно несколько файлов конфигурации:Отредактируйте файл
time.conf
. Некоторые пояснения и примеры (на английском), представляющие. Чтобы установить расписания доступа, скопируйте и вставьте следующую строку кода (как всегда в конце файла):Вместо поля пользователя введите учетную запись, которую вы хотите заблокировать.
Если вы хотите заблокировать несколько пользователей, введите их логин в строке, разделенные знаком | оператор. Например, если я хочу заморозить счета Патрика, Джона и Эмили:
К минусам, если вы хотите заблокировать доступ к системе для всех пользователей, кроме одного, используйте! перед заинтересованным лицом. Например, если я хочу, чтобы доступ к компьютеру был запрещен всем пользователям, кроме Николаса и Ксавьера:
Обратимся теперь к полевым зонам. В этом поле, что на выбор дней и часов будет разрешено подключение возможно. Сначала вы должны указать день недели, используя следующие сокращения:
Будьте осторожны, чтобы не перепутать сокращения Wk и Wd, вводящие в заблуждение! особенно плохо идентифицируется в интернете: вы легко можете найти противоречивую информацию!
Затем мы указываем сроки. Они должны быть отформатированы 24 часа, состоящий из 4 цифр. Например, чтобы ограничить 15:17 до 6:34 вечера, мы пишем: 1517-1834. Чтобы позволить Мари подключиться только во вторник с 15:17 до 18:34, мы получаем результат:
Соединения вне этих часов будут запрещены. Что касается пользователей, то можно использовать операторы | а также! указывать несколько раз (знак! означает, что разрешены все часы входа в систему, кроме тех, которые показаны).
Две звезды (подстановочные знаки) в начале строки кода - это, соответственно, поля tty services. Поскольку вы хотите заблокировать весь доступ к системе, нет необходимости указывать, какой сервис или какой tty вы хотите заблокировать. Однако, если вы хотите запретить использование определенного сервиса, просто укажите его в следующем примере:
Таким образом, пользователь жениться не может подключиться к TTY 4 и 5 в выходные дни.
Некоторые примеры графика ограничений
Матильде разрешено подключаться каждый день с 13:20 до 15:20 и с 16:00 до 20:30.
Стоун, Фрэнк и Флориан могут подключаться с 14:00 до 18:45 в будние дни и с 14:00 до 22:15 в выходные дни:
Olive никогда не разрешается подключаться. Джессика может войти в среду с 13:00 до 16:00:
2 разные строки, по два разных времени для каждого пользователя Истечение срока сессии
Когда сеанс истекает (он превышает время, пока пользователь уже подключен), PAM может связаться с пользователем. Хотя матильда соединяется в течение отведенного времени, совершенно свободно превышать эти часы! Для этого мы будем использовать новую программу: «cron». Это приложение выполняет команды с интервалами времени. В нашем случае мы будем использовать команду «skill-KILL-u», чтобы отключить пользователя по окончании сеанса. Обработка очень проста. Просто отредактируйте файл ´ / etc / crontab´. Затем добавьте следующую строку кода:
Как и раньше, замена полевых расписаний минут и желаемого времени. Затем укажите дни, которые должны быть забанены, или просто введите звездочку (*), чтобы указать все дни недели. Наконец, измените поле, используемое для блокировки учетной записи, и вуаля!
Дни не замечают так же с
cron
работой! Вот список сокращений, которые будут использоваться с этой программой:Некоторые примеры
cron
работ (с примерами раз в предыдущем разделе)Джессика может войти в среду с 13:00 до 16:00.
Матильде разрешено подключаться каждый день с 13:20 до 15:20 и с 16:00 до 20:30.
Стоун, Фрэнк и Флориан могут подключаться с 14:00 до 18:45 в будние дни и с 14:00 до 22:15 в выходные.
Команда skill-KILL-u отключает пользователя от GUI, а также от TTY. Он идеально подходит для администраторов серверов. Однако эта команда является немедленной, и отключение будет выполнено без уведомления. Поэтому было бы предпочтительнее запретить установку данного устройства пользователям данного компьютера или сети!
Можно запретить пользователям
wall
запуск команды заcron
несколько минут до истечения таймфрейма , который будет отображаться в терминалах всех пользователей.Для предотвращения пользователей от GUI можно использовать вместо стены команду
notify-send
в пакете libnotify-binUbuntu 11.10 пользователя
Я видел вокруг пользователя, имеющего проблемы с Пэм, и я видел много ошибок по этому поводу, так почему причина ??? это так просто Ubuntu 11,10 doens't поддержка GDM больше новый менеджер дисплея lightGDM проблема последующей где магазин эта директива
account required pam_time.so
я думаю , что в/etc/pam.d/lightdm
или/etc/pam.d/lightdm-autologin
но ошибка как ???так что вы можете проверить эти 2 файла журнала LightGdm:
или запустите LightGdm в режиме отладки:
или сообщить об ошибке:
Я сообщаю об ошибке здесь, так что скрестите палец и подождите ....
источник
TimeKpr
Я думаю, в нем есть все, что вам нужно. Ограничьте время доступа в день для пользователя, удобный интерфейс для настройки, возможность обхода в течение дня, добавьте некоторое «время вознаграждения», уведомление об оставшемся времени для пользователей и т. Д.
Страница проекта находится здесь . Они также имеют PPA для Ubuntu , который можно добавить к вашим источникам программного обеспечения:
deb http://ppa.launchpad.net/timekpr-maintainers/ppa/ubuntu lucid main
. И установить с помощью Software Center или с помощью интерфейса командной строки:sudo apt-get install timekpr
.источник
Timekpr
может использоваться в 11.10 при запуске LightDM для установки ограничений для пользователей путем добавления следующей строки в
/etc/pam.d/lightdm
Возможно, нам придется удалить libpam-smbpass, чтобы разрешить переключение пользователей, пока ошибка # 835310 не будет исправлена.
Все ограничения, определенные в окне приложения, работают так, как определено в графическом интерфейсе timekpr.
Чтобы отобразить иконку timekpr-client в Unity, нам нужен белый список
'timekpr'
в настройках панели Unity, и, кроме того, нам нужно добавитьUnity
следующую строку в/etc/xdg/autostart/timekpr-client.desktop
:Чтобы начать отсчет предоставленного времени, нам, возможно, придется запустить демон timekpr с помощью
на 14.04:
Более новая версия / ветка timekpr была опубликована для Ubuntu 14.04 Эдуардсом Безверхайсом в его
ppa:mjasnik/ppa
.источник
Автоматический выход из системы крайне разочаровывает, если вы находитесь в середине чего-то. Это насилие, это жестоко, это просто грубо. И не важно, сколько тебе лет. Одно дело, когда вы просто зависимы от компьютера, и это совсем другое, когда вы отслеживаете время и выгоняетесь за 5 секунд до того, как вам удалось нажать на кнопку «Отправить» или сохранить ваш документ. Я предлагаю вам рассмотреть возможность использования авто-напоминания вместо авто-кикера. Это научит ваших детей уважать друг друга и позволит друг другу охотно пользоваться компьютером.
Есть даже более легкая альтернатива. Начните с отслеживания количества времени, которое каждый ребенок проводит за компьютером, и сделайте собранные данные доступными для всех, чтобы они могли их увидеть. Одна только эта невероятно простая вещь (применительно к потраченной пропускной способности интернета) спасла мне жизнь, когда я был сетевым администратором в офисе, полном взрослых. Публичные статистические данные об использовании полосы пропускания для каждого компьютера (только количество байтов, не деанонимизирующая информация, такая как списки посещенных сайтов и т. Д.) Изменили ситуацию с «я - злой жадный администратор против них - бедные оскорбленные пользователи офиса» на «человека», ты скачал в 5 раз больше меня, это плохо! «Извините, я действительно скачал, я смотрел много YouTube во время перерывов на обед, больше не буду делать это с такой скоростью», - меня просто исключили из сценария конфронтации.
источник
У меня тоже была эта проблема. Итак, я написал скрипт kidtimer, который позволяет вам определять время использования и итоги. Проект можно найти на Github по следующему адресу:
Вот как это установить и использовать:
Скопируйте и вставьте код в файл с именем
kidtimer.install
.Выполните это:
Запустить его:
Настройте существующую учетную запись пользователя.
Готово.
Для помощи:
Добавьте время к учетной записи пользователя (только для этого дня):
Функции:
Ключевые файлы:
Cronjobs:
Примечание:
Приложение использует
notify-send
для предупреждения о том, что время пользователя заканчивается. Когда время истекает, все пользовательские процессы завершаются, поэтому, пожалуйста, подготовьте пользователя.источник
timekpr - эта программа будет отслеживать и контролировать использование учетных записей пользователей на компьютере. Вы можете ограничить их ежедневное использование на основе продолжительности доступа по времени и настроить периоды дня, когда они могут или не могут войти в систему. С помощью этого приложения администраторы могут ограничивать продолжительность времени входа в учетную запись или часы доступа к учетной записи. Приложение работает как родительский контроль времени и будет полезно родителям, которые хотят ограничить время доступа детей.
Вы можете обновить свою систему с помощью неподдерживаемых пакетов из этого ненадежного PPA, добавив
ppa:timekpr-maintainers/ppa
к программным источникам вашей системы.Этот пакет доступен в:
выносливый
Что такое PPA и как их использовать?
ПРОБЛЕМА:
Я сообщаю об ошибке здесь, так что скрестите палец и подождите ....
источник
Введение
Мы можем проверить, вошел ли пользователь с помощью команды:
что дает нам вывод, как:
В выводе мы получаем pid целевого пользователя, который должен быть остановлен, если время превышает лимит.
Решение
Предполагая, что у вашего пользователя нет
sudo
прав:Это решение представляет собой небольшой фоновый скрипт. Это ограничивает использование в день определенным количеством минут, чтобы установить в заголовке сценария. После настройки (что не так уж сложно) он работает очень легко, и после этого никаких дополнительных действий не требуется.
Чтобы предотвратить нежелательную потерю данных, возможно, открытых файлов, за 60 секунд до истечения срока действия целевого пользователя на его или ее экране появится сообщение
DISPLAY
:Сценарий
Как пользоваться
limit
limit_use
(без расширения) внутри папки и сделайте его исполняемымОтредактируйте в заголовке скрипта имя пользователя до предела и максимальное количество разрешенных минут. В примере:
Скопируйте папку в каталог
/opt
:Теперь отредактируйте,
/etc/rc.local
чтобы скрипт запускался какroot
при запуске:Прямо перед линией
другая строка:
Объяснение; как это устроено
/opt/limit/uselog
). Если дневной лимит достигнут, скрипт больше не позволяет пользователю войти в систему, убивает его процесс, если он существует.rc.local
только пользователь (-и) с привилегиями sudo может остановить сценарий, даже если только пользователь знает имя процесса.Остановить сценарий
Если вы хотите остановить скрипт, используйте команду:
Но для этого вам понадобится пароль sudo.
источник
Я пытался,
timekpr
но не получилось. Затем сделал вариант, который работает на моем Ubuntu. Вот что нужно сделать для этого варианта:Добавить ограничение по времени в
/var/lib/timelimit/user_to_be_limited.limit
файле только с правами root. например, 1800 за 1800 секунд (30 минут) дневного лимита.Создайте
/usr/local/bin/timelimit.sh
с правами root со следующим:Добавить к
/etc/rc.local
:Перезапустите Ubuntu
источник
Я просто сделал ответ доступным легко. Код поясняется в теме http://forums.linuxmint.com/viewtopic.php?f=213&t=77687 . Короче говоря: лимит, настроенный в минутах в день, задание cron каждую минуту, сообщение пользователю, чтобы держать его в курсе, и принудительный выход из системы.
Чтобы загрузить и установить это, откройте Терминал и выполните команды ниже:
Пароль администратора будет запрошен в процессе установки (для установки задания cron, для копирования сценария и т. Д.). Оттуда вы будете руководствоваться для всех. Также на всякий случай есть ./uninstall.sh в том же месте. Он создан для работы со всеми дистрибутивами на основе Ubuntu (Mint и т. Д., Вероятно, также и с Debian). Если возникнет какая-либо проблема, пожалуйста, дайте мне знать, включая версию системы и графическое окружение в комментариях:
Томас Бекрут
источник
Я только что выпустил бета-версию моего нового приложения
LittleBrother
, которое может контролировать время воспроизведения на компьютерах с Linux. Тестовые пользователи могут попробовать пакет Debian. Инструкции по загрузке и использованию можно найти здесь: https://github.com/marcus67/little_brother . Хотя установка может быть немного грубой. Это особенности приложения:Некоторые скриншоты:
источник