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

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

С понедельника по пятницу (8:00-17:00)
В субботу (8:00-13:00)

Как сделать это?!

Командная строка и приложения для GUI хорошо приняты

0
задан 29 April 2015 в 20:24

3 ответа

Так как Вы - опытный пользователь, я предлагаю, чтобы Вы использовали pam_time:

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

2
ответ дан 4 October 2019 в 07:45

Я думаю, что TimeKpr сделает задание. Вот ссылка https://launchpad.net/timekpr

0
ответ дан 4 October 2019 в 07:45

Вот улучшенная версия моего исходного сценария, который я связал в комментариях. Этот сценарий использует все инструменты, которые идут с человечностью, а именно, at(для планирования задач), date, и gnome-session-quit таким образом, никакая дополнительная установка программного обеспечения не необходима. От этого сценария можно назвать ~/.config/autostart или /etc/xdg/autostart в a .desktop файл.

date определит текущий час дня, а также дня недели (число). Выбирающая структура затем решает который параметр дать logthemout функция; параметр является часом времени ухода дня. В течение понедельника - в пятницу это - 17:00, и в течение субботы это - 13:00. функция logthemout в свою очередь проверит, ли текущее время в диапазоне рабочего времени (если оператор с логическим "или"). Если это будет, то пользователь получит соответствующее уведомление, что они выйдутся из системы в определенное время. Если рабочее время не будет в диапазоне, то пользователь выйдется из системы. С технической точки зрения, что происходит, то, что пользователь входит в систему, но сценарий регистрирует их сразу же. Недостатки этого сценария - то, что сценарий зависит от системного времени. Если у пользователя есть способность изменить системное время, у них есть способность обойти сценарий. Иначе это должно работать.

#!/bin/bash
set -x

HOUR=$(date +%H)
DAYOFWEEK=$(date +%u)

function logthemout
{
    if [[ $HOUR -gt $1 || $HOUR -lt 8 ]]; then

        gnome-session-quit --no-prompt

    else 
        notify-send "AUTO-LOGOUT AT $1 pm"
        echo "gnome-session-quit --no-prompt" | at $1:00
    fi
}



case $DAYOFWEEK in
    1|2|3|4|5) logthemout 17;;
    6) logthemout 13;;
    7) gnome-session-quit --no-prompt ;;
esac

Разъяснение:

Обычно, если бы Вы хотите выполнить что-то на входе в систему GUI, необходимо было бы создать что-то как /home/username/.config/autostart/mystartup-prog.desktop , который должен иметь формат, подобный этому:

[Desktop Entry]
Type=Application
Name=<Name of application as displayed>
Exec=<command to execute>
Icon=<full path to icon>
Comment=<optinal comments>
X-GNOME-Autostart-enabled=true

Если бы у Вас есть много рабочих, это могло бы быть неэффективно, таким образом, лучший путь состоял бы в том, чтобы иметь одну такую запись в /etc/xdg/autostart/mystartup-prog.desktop.

2
ответ дан 4 October 2019 в 07:45

Другие вопросы по тегам:

Похожие вопросы: