Ubuntu <= 11.10 Дотримуйтесь цього посібника для користувача Ubuntu> = 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
Ці правила обмежують користувальницьке бобі входити в режим між годинами 0800 та 2000, а також обмежують доступ до Інтернету протягом цих годин. Корінь зможе ввійти в будь-який час та також переглядати Інтернет в усі часи.
Примітка: Система записує помилки з цими правилами як syslog (3).
За допомогою Ubuntu Linux можна встановити обмеження часу на комп'ютер, щоб запобігти підключенню одного або декількох користувачів до вашої системи. Маючи обмеження за часом, ви можете, наприклад, обмежити доступ до комп'ютера для своїх дітей (такий собі батьківський контроль, коротше) , або навіть захистити з'єднання з вашим сервером протягом певних годин.
Налаштування вручну
Зрозумійте, що ви будете робити
У цьому підручнику ми будемо використовувати PAM (Pluggable Authentication Modules, англійські Pluggable Authentication Modules). Це дозволяє контролювати автентифікацію користувачів під час їх підключення. Потім ми будемо використовувати файли конфігурації безпеки для визначення дозволених годин входу. Ці маніпуляції можна виконувати на будь-якій версії 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 цифр. Наприклад, щоб обмежитись з 15:17 до 18:34, ми пишемо: 1517-1834. Щоб дозволити Марі підключитися лише у вівторок, з 15:17 до 18:34, ми отримуємо результат:
*;*;marie;Tu1517-1834
Підключення поза ці години буде заборонено. Що стосується користувачів, то тут можна скористатися операторами | і! вказати кілька разів (the! тоді вказують, що всі години входу дозволені, за винятком показаних).
Дві зірки (макіяж) на початку рядка коду - це відповідно поле та послуги tty. Оскільки ви хочете заблокувати весь доступ до системи, непотрібно вказувати, яку службу чи те, що ви хочете заблокувати. Однак якщо ви хочете запобігти використанню певної послуги, просто вкажіть її як наступний приклад:
login;tty1|tty4|tty5;marie;!Wd0000-2400
Таким чином, користувач може одружитися не може підключитися до TTY, 4 та 5 протягом вихідних.
Деякі приклади розкладу обмежень
mathilde дозволено підключатися щодня з 13:20 до 15:20 та з 16:00 до 20:30:
*;*;mathilde;Al1320-1520|Al1600-2030
Стоун, Френк та Флоріан дозволяють підключатися до 14:00 до 18:45 у будні дні, а у вихідні - з 14:00 до 22:15:
*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215
Оливкові ніколи не дозволяється з'єднуватися. Джессіка може ввійти в середу з 13:00 до 16:00:
*;*;olivier;!Al0000-2400
*;*;jessica;We1300-1600
2 різних рядки, по два різних часу для кожного користувача Закінчення сесії
Коли сеанс закінчується (він перевищує час, коли користувач уже підключений), PAM може дійти до користувача. У той час, як mathilde підключається протягом часу, дозволеного часу, це абсолютно вільне перевищення цих годин! Для цього ми скористаємося новою програмою: "кроном". Ця програма виконує команди з інтервалом часу. У нашому випадку ми скористаємось командою «skill-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
завдань (із прикладами разів у попередньому розділі)
Джессіка може зайти в середу з 13:00 до 16:00
-> Відключення: вівторок о 16:00.
00 16 * root * wed skill -KILL -u jessica
mathilde дозволяється підключати щодня з 13:20 до 15:20 та з 16:00 до 20:30.
-> Відключення: щодня, з 20:30 до 15:20 ET.
20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde
Стоун, Френк та Флоріан дозволяють підключатися до 14:00 до 18:45 у будні дні, а у вихідні - з 14:00 до 22:15
-> Відключення (1): понеділок, вівторок, середа, четвер і п’ятниця, о 18:45. -> Відключіть (2): субота та неділя о 22: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 doens't підтримка GDM більше новий менеджер дисплея lightGDM проблема подальшої де магазин ця директива account required pam_time.so
я думаю , що в /etc/pam.d/lightdm
або /etc/pam.d/lightdm-autologin
але помилка как ???
так що лише навколо ви можете перевірити ці 2 файли журналу LightGdm:
- /var/log/lightdm/lightdm.log
- /var/log/lightdm/x-0.log
або запустити LightGdm в режимі налагодження:
LightDM - налагодження
або повідомити про помилку:
ubuntu-помилка lightdm
Я повідомляю про помилку тут, так що схрестіть ваш палець і чекайте ....