Ubuntu & lt; = 11.10. Следуйте этому руководству для Ubuntu User & gt; = 11.10, прочитайте уведомление нижней страницы:
Да, все эти программы устарели, и на все ваши вопросы ответили здесь, и хороший взгляд с вашим родительским контролем .....
Когда мы говорим о принуждении пользователя к выходу из системы, то, о чем мы говорим, это использование ограничений по времени для учетной записи для доступа к системе или служб. Самый простой способ, с помощью которого я нашел временные ограничения, - использовать подключаемый модуль под названием Linux-PAM .
Подключаемый модуль аутентификации (PAM) - это механизм аутентификации пользователей. В частности, мы собираемся использовать модуль pam_time
для управления временем доступа пользователей к услугам.
Используя модуль pam_time
, мы можем установить ограничения доступа к системе и / или конкретным приложениям в разное время дня, а также в определенные дни или через различные терминальные линии. В зависимости от конфигурации вы можете использовать этот модуль, чтобы запретить доступ к отдельным пользователям на основе их имени, времени суток, дня недели, услуги, к которой они обращаются, и своего терминала, с которого они делают запрос . р>
При использовании pam_time
вы должны прервать синтаксис каждой строки (или правила) в файле /etc/security/time.conf
с новой строкой. Вы можете прокомментировать каждую строку с значком фунта [#], и система будет игнорировать этот текст до новой строки.
Вот синтаксис правила:
услуги; TTYs; пользователей; раз
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.
Вот пример типичного набора правил:
login ; * ; !bobby ; MoTuWeThFr0800-2000
login ; * ; !root ; !Al0000-2400
http ; * ; !bobby ; MoTuWeThFr0800-2000
http ; * ; !root; !Al0000-2400
Эти правила ограничивают пользователя bobby от входа в систему между часами 0800 и 2000 годов, а также ограничивают доступ в Интернет в течение этих часов. Root мог бы войти в систему в любое время и также просматривать Интернет в любое время.
Примечание. Система регистрирует ошибки с этими правилами как syslog (3).
С Ubuntu Linux можно назначить ограничения времени вашего компьютера, чтобы предотвратить подключение одного или нескольких пользователей к вашей системе. С ограничениями по времени вы можете, например, ограничить доступ к компьютеру для своих детей (тип родительского контроля, короче говоря) или даже защитить соединение с вашим сервером в течение определенных часов. р>
Конфигурация вручную
Поймите, что вы будете делать
В этом уроке мы будем использовать PAM (подключаемые модули аутентификации, английские подключаемые модули аутентификации). Он позволяет вам контролировать аутентификацию пользователей при их подключении. Затем мы будем использовать файлы конфигурации безопасности для определения разрешенных часов входа в систему.
Эти манипуляции могут быть выполнены на любой версии Ubuntu и требуют только простого текстового редактора (vim, emacs, nano, gedit, kate, чтобы назвать несколько).
Включить часы ограничения через модуль PAM
Прежде всего, сначала перейдите в /etc/pam.d/
, где все настраиваемые службы:
$ 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
Если мы хотим заблокировать подключение к компьютеру, нам придется изменить службу gdm. Отредактируйте файл так gdm и добавьте эту строку кода (в конце файла):
account required pam_time.so
GDM - это дистрибутивы экрана входа Ubuntu, Edubuntu и Xubuntu. Для Kubuntu, который использует KDE, вызывается служба kdm, это будет файл, который он откроет.
И вы закончили настройку PAM! Это позволит контролировать часы в этой службе.
Если у вас есть сервер, у вас, вероятно, нет графического интерфейса. В этом случае GDM / KDM не установлен и соединение не будет заблокировано. Чтобы предотвратить подключение к TTY, вы должны изменить логин того же файла и добавить ту же строку кода, что и ранее подтвержденная. Это действие также относится к людям, которые установили графический интерфейс и хотят заблокировать доступ к экрану входа и терминалам.
Настройка часов доступа
Теперь, когда служба PAM активирована, нам нужно настроить время доступа. Откройте /etc/security
. Доступны несколько файлов конфигурации:
$ Ls /etc/security/
access.conf namespace.conf pam_env.conf
group.conf namespace.init time.conf
limits.conf opasswd time.conf.bak
Отредактируйте файл time.conf
. Некоторые объяснения и примеры (на английском языке), представляющие. Чтобы установить графики доступа, скопируйте и вставьте следующую строку кода (в конце файла, как всегда):
*;*;user;scheduler
Вместо поля пользователя введите регистрационную учетную запись, которую вы хотите заблокировать.
Если вы хотите заблокировать несколько пользователей, введите их логин в строке, разделенный символом | оператор. Например, если я хочу заморозить счета Патрика, Джона и Эмили:
*;*;Patrick|jean|emilie;scheduler
По минусам, если вы хотите заблокировать доступ к системе для всех пользователей, но, в частности, используйте кнопку! перед заинтересованным лицом.
Например, если я хочу, чтобы доступ к компьютеру был отклонен всем пользователям, кроме Николаса и Ксавьера:
Nicolas *;*;!|xavier;scheduler
Теперь перейдем к зонам поля. В этом поле будет разрешено подключение дней и часов.Сначала вы должны указать день недели, используя следующие сокращения:
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
Будьте осторожны, чтобы не путать аббревиатуры Wk и Wd вводить в заблуждение! особенно плохо идентифицированные в Интернете: вы можете легко найти противоречивую информацию!
Затем мы укажем крайние сроки. Они должны быть отформатированы 24H, состоящие из 4 цифр. Например, чтобы ограничить 3:17 вечера. до 6:34 вечера, пишем: 1517-1834.
Разрешить Мари связываться только во вторник, с 3:17 вечера. до 6:34, получаем результат:
*;*;marie;Tu1517-1834
Подключения за пределами этих часов будут запрещены.
Что касается пользователей, то можно использовать операторов | а также! чтобы указать несколько раз (тогда укажите, что разрешены все входные часы, кроме тех, которые будут показаны).
Две звезды (подстановочные знаки) в начале строки кода являются соответственно и полями службы tty. Поскольку вы хотите заблокировать весь доступ к системе, нет необходимости указывать, какую услугу или какой tty вы хотите заблокировать.
Однако, если вы хотите предотвратить использование конкретной службы, просто укажите ее как следующий пример:
login;tty1|tty4|tty5;marie;!Wd0000-2400
Таким образом, пользователь не может подключиться к TTY, 4 и 5 в выходные.
Некоторые примеры расписания ограничений
mathilde разрешено подключаться каждый день с 1:20 вечера. до 3:20 вечера. и с 4:00 вечера. до 8:30 вечера:
*;*;mathilde;Al1320-1520|Al1600-2030
Камень, Фрэнк и Флориан могут подключиться к 2:00 вечера. до 6:45 вечера. в будние дни и 2 часа ночи. до 10:15 вечера. на выходные:
*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215
Оливе никогда не разрешается подключаться. jessica может войти в среду с 1:00 вечера. до 4:00 вечера:
*;*;olivier;!Al0000-2400
*;*;jessica;We1300-1600
2 разных строки, для двух разных времен для каждого пользователя
Срок действия сеанса
Когда сеанс истекает (он превышает время, когда пользователь уже подключен), PAM может достигать пользователя. В то время как mathilde соединяется в течение разрешенных часов, это совершенно бесплатно, чтобы превысить эти часы! Для этого мы будем использовать новую программу:'cron '. Это приложение выполняет команды с интервалами времени. В нашем случае мы будем использовать команду kkkill-KILL-u', чтобы отключить пользователя при истечении сеанса.
Обработка очень проста. Просто отредактируйте файл «/ etc / crontab». Затем добавьте следующую строку кода:
Minute Hour Day * * (s) root skill -KILL -u User
Как и раньше, замените графики и время требуемого времени. Затем заполните (-ы) день (ы) днями (-ами) запрещенными (-ами) днями или просто введите звездочку (*), чтобы указать все дни недели. Наконец, измените поле, используемое учетной записью входа, которая будет заблокирована, и voila!
Дни не замечают то же самое с заданиями cron
! Ниже приведен список аббревиатур, которые будут использоваться с этой программой:
mon : monday fri : friday
tue : tuesday sat : saturday
wed : wednesady sun : sunday
thu : thursday * : all hours
Некоторые примеры cron
заданий (с примерами раз в предыдущем разделе)
jessica может зарегистрироваться в среду с 1:00 вечера. до 4:00 вечера.
- & GT; Отключить: вторник в 4:00 вечера.
00 16 * root * wed skill -KILL -u jessica
mathilde разрешено подключаться каждый день с 1:20 вечера. до 3:20 вечера. и с 4:00 вечера. до 8:30 вечера ..
- & GT; Отключение: ежедневно, 8:30. до 3:20 вечера. ET.
20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde
Камень, Фрэнк и Флориан могут подключиться к 2:00 вечера. до 6:45 вечера. в будние дни и 2 часа ночи. до 10:15 вечера. на выходные
- & GT; Отключить (1): понедельник, вторник, среда, четверг и пятница, в 18:45.
- & GT; Отключить (2): субботу и воскресенье в 10:15 вечера.
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
Команда skill-KILL-u отключает пользователя от GUI, а также от TTY. Он отлично подходит для администраторов сервера.
Однако эта команда выполняется немедленно, и отключение будет производиться без предварительного уведомления. Поэтому было бы предпочтительно предотвратить установку этого устройства пользователями компьютера или сети, о которой идет речь!
Можно запретить пользователям с командой wall
, запущенной cron
за несколько минут до окончания таймфрейма , который будет отображаться на терминалах всех пользователей.
40 18 * * Mon,Tue,wed,thu,fri root echo "end of session in 5 minutes" | wall
Чтобы запретить пользователям использование графического интерфейса вместо команды на стене, notify-send
находится в пакете libnotify-bin
40 18 * * Mon,Tue,wed,thu,fri stone DISPLAY=:0 notify-send "end of session in 5 minutes"
Ubuntu 11.10
Я видел вокруг пользователя проблемы с Pam, и я видел много ошибок об этом, поэтому почему причина ??? так просто Ubuntu 11.10 не поддерживает GDM больше нового диспетчера дисплея lightGDM проблема заключается в следующем, где хранить эту директиву account required pam_time.so
Я думаю, что в /etc/pam.d/lightdm
или /etc/pam.d/lightdm-autologin
, но ошибка, как ???
, поэтому для всего этого вы можете проверить эти 2 файла журнала LightGdm:
- /var/log/lightdm/lightdm.log
- / вар / Журнал / LightDM / х-0.войти
или запустите LightGdm в режиме отладки:
LightDM --debug
или сообщите об ошибке:
ubuntu-bug lightdm
Сообщаю об ошибке здесь , чтобы переложить палец и подождать .... р>