Ubuntu <= 11.10 Użytkownik postępuj zgodnie z tym przewodnikiem dla Ubuntu User> = 11.10 przeczytaj zawiadomienie na dole strony:
Tak, wszystkie te programy są nieaktualne, na wszystkie pytania udzielono odpowiedzi tutaj i dobrze wyglądają one z kontrolą rodzica .....
Kiedy mówimy o zmuszeniu użytkownika do wylogowania, tak naprawdę mówimy o wprowadzeniu ograniczeń czasowych na koncie dostępu do systemu lub usług. Najłatwiejszym sposobem na wdrożenie ograniczeń czasowych jest użycie modułu wtyczki o nazwie Linux-PAM .
Pluggable Authentication Module (PAM) to mechanizm uwierzytelniania użytkowników. W szczególności użyjemy tego pam_time
modułu do kontrolowania dostępu użytkowników do usług w określonym czasie.
Za pomocą pam_time
modułu możemy ustawić ograniczenia dostępu do systemu i / lub określonych aplikacji o różnych porach dnia, a także w określone dni lub przez różne linie terminali. W zależności od konfiguracji możesz użyć tego modułu, aby odmówić dostępu poszczególnym użytkownikom na podstawie ich nazwy, pory dnia, dnia tygodnia, usługi, o którą się ubiegają oraz terminala, z którego wysyłają żądanie .
Podczas używania pam_time
należy zakończyć składnię każdej linii (lub reguły) w /etc/security/time.conf
pliku za pomocą nowej linii. Możesz skomentować każdą linię znakiem funta [#], a system zignoruje ten tekst do nowej linii.
Oto składnia reguły:
usługi; ttys; użytkownicy; czasy
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.
Oto przykład typowego zestawu reguł:
login ; * ; !bobby ; MoTuWeThFr0800-2000
login ; * ; !root ; !Al0000-2400
http ; * ; !bobby ; MoTuWeThFr0800-2000
http ; * ; !root; !Al0000-2400
Reguły te ograniczają możliwość logowania się użytkownika bobby między godzinami 0800 i 2000, a także ograniczają dostęp do Internetu w tych godzinach. Root byłby w stanie zalogować się w dowolnym momencie i przeglądać Internet przez cały czas.
Uwaga: System rejestruje błędy według tych reguł jako syslog (3).
W systemie Ubuntu Linux można przypisać do komputera ograniczenia czasowe, aby zapobiec podłączeniu jednego lub więcej użytkowników do systemu. Ograniczenia czasowe pozwalają na przykład ograniczyć dostęp dzieci do komputera (w skrócie kontrolę rodzicielską) , a nawet zabezpieczyć połączenie z serwerem w określonych godzinach.
Konfiguracja ręczna
Zrozum, co będziesz robić
W tym samouczku będziemy używać PAM (Pluggable Authentication Modules, English Pluggable Authentication Modules). Pozwala kontrolować uwierzytelnianie użytkowników podczas ich łączenia. Następnie użyjemy plików konfiguracji zabezpieczeń do zdefiniowania dozwolonych godzin logowania. Te manipulacje mogą być wykonywane na dowolnej wersji Ubuntu i wymagają tylko prostego edytora tekstu (vim, emacs, nano, gedit, kate, aby wymienić tylko kilka). Włącz godziny ograniczeń za pośrednictwem modułu PAM
Przede wszystkim przejdź do /etc/pam.d/
, gdzie znajdują się wszystkie konfigurowalne usługi:
$ 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
Jeśli chcemy zablokować połączenie z komputerem, będziemy musieli zmienić usługę gdm. Zmodyfikuj plik, aby gdm i dodaj następujący wiersz kodu (na końcu pliku):
account required pam_time.so
GDM to dystrybucje ekranu logowania Ubuntu, Edubuntu i Xubuntu. W przypadku Kubuntu, który korzysta z KDE, wywoływana jest usługa kdm, będzie to plik, który otworzy. I skończyłeś konfigurować PAM! Umożliwi to kontrolę godzin w tej usłudze.
Jeśli masz serwer, prawdopodobnie nie masz GUI. W takim przypadku GDM / KDM nie jest zainstalowany, a połączenie nie zostanie zablokowane. Aby zapobiec połączeniu z TTY, musisz zmodyfikować login tego samego pliku i dodać ten sam wiersz kodu, co wcześniej potwierdzony. Ta akcja dotyczy także osób, które zainstalowały GUI i chcą zablokować dostęp do ekranu logowania i terminali.
Skonfiguruj godziny dostępu
Teraz, gdy usługa PAM została aktywowana, musimy jedynie skonfigurować czasy dostępu. Otwórz /etc/security
. Dostępnych jest kilka plików konfiguracyjnych:
$ Ls /etc/security/
access.conf namespace.conf pam_env.conf
group.conf namespace.init time.conf
limits.conf opasswd time.conf.bak
Edytuj plik time.conf
. Niektóre wyjaśnienia i przykłady (w języku angielskim) wprowadzające. Aby ustawić harmonogramy dostępu, skopiuj i wklej następujący wiersz kodu (jak zawsze na końcu pliku):
*;*;user;scheduler
Zamiast pola użytkownika wprowadź konto logowania, które chcesz zablokować.
Jeśli chcesz zablokować wielu użytkowników, wprowadź ich login z rzędu, oddzielając je znakiem operator. Na przykład, jeśli chcę zamrozić konta Patricka, Johna i Emily:
*;*;Patrick|jean|emilie;scheduler
Z drugiej strony, jeśli chcesz zablokować dostęp do systemu wszystkim użytkownikom, z wyjątkiem jednego, użyj! przed osobą zainteresowaną. Na przykład, jeśli chcę dostęp do komputera jest zabroniony wszystkim użytkownikom, z wyjątkiem Nicolasa i Xaviera:
Nicolas *;*;!|xavier;scheduler
Przechodzę teraz do stref polowych. W tym polu możliwy będzie wybór dni i godzin połączenia. Najpierw musisz określić dzień tygodnia, używając następujących skrótów:
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
Uważaj, aby nie pomylić skrótów Wk i Wd wprowadzają w błąd! szczególnie słabo zidentyfikowane w Internecie: łatwo znajdziesz sprzeczne informacje!
Następnie określamy terminy. Powinny być sformatowane 24 godziny, składające się z 4 cyfr. Na przykład, aby ograniczyć 15:17 do 18:34, piszemy: 1517-1834. Aby umożliwić Marie łączenie się tylko we wtorek, w godzinach od 15:17 do 18:34, otrzymujemy wynik:
*;*;marie;Tu1517-1834
Połączenia poza tymi godzinami zostaną zablokowane. Użytkownicy mogą korzystać z operatorów | i! wskazać kilka razy (!! oznacza, że wszystkie godziny logowania są dozwolone, z wyjątkiem tych, które zostaną pokazane).
Dwie gwiazdki (symbole wieloznaczne) na początku wiersza kodu są odpowiednio polami usług tty. Ponieważ chcesz zablokować cały dostęp do systemu, nie trzeba określać, która usługa lub jakie urządzenie chcesz zablokować. Jeśli jednak chcesz uniemożliwić korzystanie z określonej usługi, po prostu określ ją jako następujący przykład:
login;tty1|tty4|tty5;marie;!Wd0000-2400
W związku z tym użytkownik poślubiający nie może połączyć się z TTY, 4 i 5 w weekend.
Niektóre przykłady harmonogramu ograniczeń
mathilde może łączyć się codziennie od 13:20 do 15:20 i od 16:00 do 20:30:
*;*;mathilde;Al1320-1520|Al1600-2030
Stone, Frank i Florian mogą łączyć się w godzinach od 14.00 do 18:45 w dni powszednie i od 14:00 do 22.15 w weekend:
*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215
Oliwka nigdy nie może się połączyć. Jessica może zalogować się w środę od 13:00 do 16:00:
*;*;olivier;!Al0000-2400
*;*;jessica;We1300-1600
2 różne linie, na dwa różne czasy dla każdego użytkownika Wygaśnięcie sesji
Gdy sesja wygasa (przekracza czas, gdy użytkownik jest już podłączony), PAM może do niego dotrzeć. Chociaż mathilde łączy się w dozwolonych godzinach, przekraczanie tych godzin jest całkowicie darmowe! W tym celu użyjemy nowego programu: „cron”. Ta aplikacja wykonuje polecenia w odstępach czasu. W naszym przypadku użyjemy polecenia „umiejętność-KILL-u”, aby odłączyć użytkownika po wygaśnięciu sesji. Obsługa jest bardzo prosta. Po prostu edytuj plik ´ / etc / crontab´. Następnie dodaj następujący wiersz kodu:
Minute Hour Day * * (s) root skill -KILL -u User
Tak jak poprzednio, zastępując harmonogramy pól Minute i pożądany czas. Następnie wpisz dzień (dni) do dnia (dni) zablokowany (e) lub po prostu wpisz gwiazdkę (*), aby wskazać wszystkie dni tygodnia. Na koniec zmień pole używane przez konto logowania, które ma być blokowane, i voila!
Dni nie zauważają tego samego w cron
pracy! Oto lista skrótów używanych w tym programie:
mon : monday fri : friday
tue : tuesday sat : saturday
wed : wednesady sun : sunday
thu : thursday * : all hours
Niektóre przykłady cron
zadań (z przykładami czasów w poprzedniej sekcji)
Jessica może zalogować się w środę od 13:00 do 16:00
-> Rozłącz: wtorek o 16:00.
00 16 * root * wed skill -KILL -u jessica
mathilde może łączyć się codziennie od 13:20 do 15:20 i od 16:00 do 20:30.
-> Rozłączanie: codziennie, od 20:30 do 15:20 ET.
20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde
Stone, Frank i Florian mogą łączyć się w godzinach od 14.00 do 18:45 w dni powszednie i od 14:00 do 22.15 w weekendy
-> Disconnect (1): poniedziałek, wtorek, środa, czwartek i piątek o 18:45. -> Disconnect (2): sobota i niedziela o 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
Polecenie KILL-u odłącza użytkownika od GUI, a także TTY. Jest doskonale użyteczny dla administratorów serwerów. To polecenie jest jednak natychmiastowe i rozłączenie zostanie wykonane bez powiadomienia. Dlatego lepiej byłoby zapobiec instalacji tego urządzenia przez użytkowników danego komputera lub sieci!
Możliwe jest zapobieganie użytkownikom za pomocą wall
polecenia uruchomionego na cron
kilka minut przed końcem przedziału czasowego , który będzie wyświetlany na terminalach wszystkich użytkowników.
40 18 * * Mon,Tue,wed,thu,fri root echo "end of session in 5 minutes" | wall
Aby zapobiec użytkownikom z GUI, można użyć zamiast polecenia wall notify-send
znajduje się w pakiecie libnotify-bin
40 18 * * Mon,Tue,wed,thu,fri stone DISPLAY=:0 notify-send "end of session in 5 minutes"
Ubuntu 11.10 Użytkownik
Widziałem wokół użytkowników, którzy mają problemy z Pam i widziałem wiele błędów w tym, więc dlaczego jest powód ??? jest tak prosty Ubuntu 11.10 doens't wsparcie GDM już nowy menedżer wyświetlania jest lightGDM problem jest kontynuacją gdzie sklep Niniejsza dyrektywa account required pam_time.so
myślę jest /etc/pam.d/lightdm
albo /etc/pam.d/lightdm-autologin
ale bug jak ???
więc w pobliżu możesz sprawdzić 2 pliki dziennika LightGdm:
- /var/log/lightdm/lightdm.log
- /var/log/lightdm/x-0.log
lub uruchom LightGdm w trybie debugowania:
LightDM - debug
lub zgłoś błąd:
ubuntu-bug lightdm
Zgłaszam, że Bug jest tutaj, więc trzymaj kciuk i czekaj ....