====== Użytkownicy i uprawnienia ======
Użytkownicy to osoby korzystające z programu OpiekunWeb. Program wymaga przynajmniej jednego użytkownika - jest to administrator, który zainstalował program. Administrator posiada wszelkie uprawnienia - również aby dodawać do programu kolejnych użytkowników. Po co nam wielu użytkowników? W małych szkołach gdzie jest tylko jedna pracownia komputerowa może wystarczyć jeden domyślny użytkownik. Lecz w większych organizacjach gdzie jest wielu opiekunów pracowni może zajść potrzeba, aby więcej niż jedna osoba miała dostęp do programu **OpiekunWEB**. W takiej sytuacji najczęściej zależy nam aby różne osoby posiadały różny zakres dostępu do programu - np. opiekunowie pracowni chcą mieć pełną kontrolę nad swoją pracownią ale niekoniecznie nad pozostałymi pracowniami w szkole. Nauczyciele mogą chcieć korzystać z podglądu ekranów uczniów ale lepiej (z punktu widzenia administratora programu), żeby nie modyfikowali wrażliwych ustawień. Dlatego dla każdego użytkownika można ustawić osobne **uprawnienia** definiujące co dany użytkownik może w programie zrobić a czego nie. Uprawnienia te zostaną opisane poniżej.
===== Grupy użytkowników =====
Jeśli do programu chcemy dodać wielu użytkowników definiowanie dla każdego z nich uprawnień od podstaw byłoby dosyć pracochłonne. Dlatego możemy zdefiniować **grupy użytkowników** - dla każdej grupy określamy uprawnienia a następnie przydzielamy użytkowników do poszczególnych grup. Zaoszczędzi nam to sporo pracy i wprowadza pewien poziom uporządkowania. Domyślnie w **Konsoli** są dwie grupy użytkowników: **administratorzy** i **opiekunowie pracowni**. Nic nie stoi jednak na przeszkodzie aby dodać kolejne - np. nauczyciele.
===== Uprawnienia a Aplikacja Webowa =====
Część uprawnień, mimo że zdefiniowana jest w Konsoli odnosi się również do [[webapp:start|Aplikacji Webowej]]. Dotyczy to takich uprawnień, które odnoszą się do funkcji **Opiekuna** wspieranych przez **Aplikację Webową** np. przeglądanie zabronionych stron, dodawanie własnych blokowanych stron i słów kluczowych itp.
===== Lista uprawnień =====
Niektóre uprawnienia mają więcej niż dwa stany (tak/nie) - posiadają możliwość ustawienia stanu "Zależnie od użytkownika Windows". Oznacza to, że użytkownik może daną operację wykonać pod warunkiem, że aktualnie zalogowany na zdalnym komputerze użytkownik nie aktywował **Restrykcji** odnośnie tej operacji. W **Konsoli** te trzy stany przedstawiane są przez poniższe ikony:
{{:console:uprawnienia.png|}}
Więcej na ten temat w rozdziale [[users#Konta_Windows_i_restrykcje|Konta Windows i restrykcje]]. Funkcje umożliwiające nałożenie **Restrykcji** oznaczone będą czerwoną literą R
Opiekun posiada następujące uprawnienia:
* **Administrator** - umożliwia dodawanie kolejnych użytkowników do programu oraz miany uprawnień dla poszczególnych grup użytkowników.
* **Historia stron internetowych** - pozwala przeglądać listę zablokowanych przez **Opiekuna** stron w Konsoli jak i w [[webapp:start|Aplikacji Webowej]]
* **Kategorie stron** - pozwala zmieniać status (np. z zabronionego na dozwolony) [[console:categories|Kategorii Systemowych]]. Ponadto pozwala tworzyć, modyfikować oraz usuwać [[console:categories|Kategorie Użytkownika]]. Umożliwia również dodawanie i usuwanie własnych stron i słów kluczowych do **Kategorii Użytkownika**.
* **Lista komputerów** - pozwala dodawać i usuwać komputery z listy komputerów zdefiniowanej w Konsoli.
* ** Dostęp do wszystkich komputerów ** - definiuje czy użytkownik widzi wszystkie komputery zdefiniowane w Konsoli, ustawienie "nie" sprawi, że będzie widział tylko te komputery, które są w tej samej grupie co komputer, na który się zalogował. Jest to uprawnienie przydatne w dużych szkołach, w których jest kilka pracowni. Ograniczając to prawo opiekunowi pracowni sprawimy, że będzie on widział w Konsoli tylko te komputery, które należą do jego pracowni. Dzięki temu ułatwiamy mu pracę (nie zaśmiecamy widoku niepotrzebnymi komputerami) i unikamy prawdopodobieństwo przypadkowych pomyłek (np. przypadkowego wyłączenia komputerów w nie swojej pracowni).
* **Uprawnienia dotyczące komputerów:**
* **Włącz** - umożliwia zdalne włączanie komputerów
* **Wyloguj użytkownika** R - umożliwia zdalne wylogowanie aktualnego użytkownika Windows na wskazanym komputerze.
* **Wyłącz/Restartuj** R - umożliwia wyłączenie bądź restartowanie wybranego komputera/komputerów.
* **Zaloguj użytkownika** - umożliwia zdalne zalogowanie użytkownika na wybranym komputerze/komputerach.
* **Kontrola dostępu do Internetu** R - pozwala zmieniać dostęp wybranego komputera/komputerów do Internetu - np. zablokować dostęp do Internetu.
* **Kontrola dostępu do komputera** R - pozwala zmieniać dostęp do wybranego komputera/komputerów - chodzi o zablokowanie klawiatury, myszki i ekranu komputera.
* **Lista procesów** R - określa możliwość podglądu listy procesów uruchomionych na wskazanym komputerze.
* **Podgląd ekranu** R - umożliwia podgląd ekranów wybranych komóterów
* **Wysyłanie komunikatów** R - umożliwia wysyłanie komunikatów, które będą wyświetlone na wybranych komputerach
* **Zakończenie zdalnego procesu** R - umożliwia zamknięcie wybranego programu na wybranych komputerach
* **Zdalny pulpit** R - umożliwia uruchomienie zdalnego pulpitu na wybranym komputerze
====== Konta Windows i restrykcje ======
**OpiekunWEB** jest programem specyficznym - jego zadaniem jest kontrola działania innych osób. Dlatego oprócz uprawnień niezbędne są ograniczenia określające zakres tej kontroli - np. nie chcemy aby nauczyciel mógł podglądać ekrany innych nauczycieli. Ograniczenia kontroli są nazywane w programie **Restrykcjami**. **Restrykcje** przypisane są do kont Windows. Dlaczego do kont Windows a nie do użytkowników **Opiekuna**? Aby program rozpoznał swojego użytkownika musi on zalogować się podając swój login i hasło. Czyli - odnosząc się do powyższego przykładu - nauczyciel musiałby za każdym razem uruchamiając komputer logować się do programu **Opiekun** aby ten rozpoznał, że jest nauczycielem i zablokował możliwość podglądu jego ekranu przez innych nauczycieli. Byłoby to dosyć niewygodne i niepotrzebne - przecież nauczyciel potwierdza swoją identyfikację logując się do systemu Windows. **Opiekun** "wie" kto aktualnie jest zalogowany do Windows i na tej podstawie może zmodyfikować swoje działanie w zależności od ustawionych **Restrykcji**.
Zasada działania Restrykcji przedstawiona jest na poniższej ilustracji:
{{ :console:uprawnienia_vs_restrykcje.png?direct |}}
Na ilustracji przedstawiono komunikację między komputerem opiekuna pracowni komputerowej (na którym uruchomiona jest **Konsola Opiekuna**) oraz komputerem nauczyciela (na którym uruchomiony jest [[agent:start|Agent]]). **Konsola** z ilustracji udostępnia pięć hipotetycznych funkcje: A, B, C, D i E (mogą to być np. podgląd ekranu, blokowanie klawiatury, blokowanie Internetu itp.). Analogicznie **Agent** potrafi realizować analogiczne do tych funkcji działania. Technicznie rzecz biorąc **Agent** potrafi zrealizować każdą funkcję oferowaną przez **Konsolę**. Nie każdą jednak musi wykonać. Zależy to od ustawień uprawnień oraz *Restrykcji*. Jak widać uprawnienia mają na rysunku trzy kolory:
* zielony - funkcja będzie bezwzględnie realizowana
* żółty - funkcja będzie realizowana o ile nie jest zablokowana przez Restrykcję (w **Konsoli** jest to stan "Zależnie od użytkownika Windows")
* czerwony - funkcja jest zablokowana
W zależności od konfiguracji uprawnień i **Restrykcji** są tu cztery możliwości:
- Przyjrzymy się **Funkcji A** - opiekun pracowni ma uprawnienie by ją uruchomić - **Uprawnienie A**, również na koncie nauczyciela nic nie stoi na przeszkodzie jej wykonaniu - **Restrykcja A** umożliwia wykonanie **Działania A**. Działanie to zostanie wykonane i np. podgląd ekranu wyświetli się na ekranie opiekuna pracowni.
- Dla **Funkcji B** sytuacja jest równie prosta - opiekun pracowni nie ma prawa wykonać **Funkcji B** nie będzie mógł więc jej uruchomić. Oczywiście **Działanie B** nie zostanie wykonane.
- Dla **Funkcji C** mamy ustawiony status warunkowy ("Zależnie od użytkownika Windows") co oznacza, że opiekun pracowni może uruchomić daną funkcję ale czy zostanie ona wykonana zależy od zalogowanego użytkownika i jego **Restrykcji**. W naszym przykładzie **Restrykcja C** blokuje wykonanie **Funkcji C** tak więc **Działanie C** nie zostanie wykonane.
- Dla **Funkcji D** sytuacje mamy podobną ale **Restrykcja D** przypisana kontu Windows nauczyciela zezwala na wykonanie **Funkcji D** tak więc **Działanie D** zostanie wykonane.
- Konfiguracja dla **Funkcji E** jest ciekawa - wprawdzie konto Windows nauczyciela ma blokadę tej funkcji - **Restrykcja E** ale opiekun pracowni ma bezwzględne prawo wykonania **Funkcji E** - oznacza to, że funkcja zostanie wykonana bez względu na to jakie **Restrykcje** ma ustawione użytkownik na koncie Windows. Zalecamy aby nie szafować zbytnio takimi bezwzględnymi uprawnieniami gdyż wtedy **Restrykcje** przypisane do kont Windows nie będą miały sensu. Należy je raczej rezerwować dla administratorów systemu, którzy ze względów technicznych potrzebują pełnej kontroli nad zdalnymi komputerami.
===== Przykład zastosowania Restrykcji =====
W szkole zadaniem administratora jest zadbanie o to, aby wszystkie komputery były wyłączone gdy szkoła jest zamykana. Jest to duża szkoła posiada trzy pracownie komputerowe po 20 stanowisk, bibliotekę, w której jest 5 stanowisk oraz po 3 stanowiska w pokoju nauczycielskim i sekretariacie. W sumie 71 komputerów. Konsola posiada wygodną funkcję w której klikamy na "Wszystkie komputery" i wywołujemy funkcję **Wyłącz komputer**. Problem w tym, że na jednym z komputerów w pokoju nauczycielskim pracuje właśnie nauczyciel matematyki tworząc Bardzo Ważny Dokument. Gdyby nie było **Restrykcji** wszystkie komputery zostałyby zamknięte wraz z komputerem nauczyciela matematyki, który prawdopodobnie straciłby swój dokument.
Na szczęście dla nauczycielskich kont Windows ustawiona została **Restrykcja** blokująca możliwość zamykania zamykania komputerów, na których są zalogowani. Dzięki temu Konsola zamknęła wszystkie komputery z wyjątkiem tego, na którym pracował nauczyciel matematyki. Na Konsoli został wyświetlony stosowny komunikat informujący administratora o fakcie, że jeden komputer nie został zamknięty ze względu na ustawioną **Restrykcję** - domyśla się zatem, że przy komputerze pracuje nauczyciel. Sprawdza to (przy komputerze na drzewie komputerów wyświetlany jest zalogowany użytkownik) i wysyła na ten komputer komunikat "Proszę zamknąć komputer po skończonej pracy gdyż nie zostanie on już zamknięty automatycznie".
===== Lista restrykcji =====
Zarówno **Restrykcje** jak i uprawnienia nazywają się tak samo jak funkcje programu - dzięki czemu łatwo je sobie przyporządkować. Nie zawsze jednak do danej funkcji przydzielona jest **Restrykcja** mimo, że jest dla niej odpowiednie Uprawnienie. Dla niektórych funkcji **Restrykcje** nie miałyby sensu - np. funkcja włączenia komputera (brak wtedy zalogowanego użytkownika). Tak więc mamy następujące **Restrykcje**:
* Komputer - wyloguj użytkownika
* Komputer - wyłącz/restartuj
* Kontrola dostępu do komputera
* Lista procesów
* Podgląd ekranu
* Wysyłanie komunikatów
* Zakończenie zdalnego procesu
* Zdalny pulpit
===== Konta Windows =====
Aby więcej dowiedzieć się o tym jak definiuje się w Opiekunie konta Windows oraz o ustawieniach do nich przypisanych odwiedź stronę [[console:windows_accounts|]]
----
==== Przykład ====
Załóżmy taka sytuacje:
W szkole posiadamy 50 stanowisk, w różnych miejscach i w różnych pracowniach.
Agent zainstalowany jest w kilku pracowniach w szkole w tym na komputerach nauczycieli.
Konto do OpiekunaWEB posiada Administrator OpiekunaWEB i nauczyciele którzy logują się do Konsoli i maja podgląd na wszystkie komputery w szkole.
Chcemy żeby OpiekunWeb działał na wszystkich komputerach, ale nie chcemy żeby inni użytkownicy Konsoli mieli podgląd ekranu na komputery w momencie jeśli zaloguje się do nich Nauczyciel.
Jak możemy to zrobić?
W Konsoli OpiekunaWEB tworzymy **Grupę użytkowników Konsoli** np: Nauczyciele (Konfiguracja => Użytkownicy )
{{ :config:p3.png?nolink |}}
Do tej grupy dodajemy Użytkowników Konsoli ( w naszym przypadku będą to nauczyciele którzy będą mieć dostęp do Konsoli OpiekunWEB )
W zakładce **Uprawnienia** zmieniamy ustawienia **Podgląd ekranu** na **Zależnie od użytkownika Windows**
W kolejnym kroku dodajemy **Grupę użytkowników Windows**:
Nauczyciele
Dla grupy Nauczyciele w zakładce **Restrykcje i Uprawnienia** zmieniamy **Podgląd ekranu** na **NIE**
W zakładce **Konta użytkowników Windows** dodajemy użytkowników systemów Windows którzy logują się do systemu jako Nauczyciele lub importujemy z domeny odpowiednimi przyciskami np.:
{{:config:p1.png|}}
W tym przypadku jeśli w Pracowni 1 na komputer zaloguje się Nauczyciel to w Konsoli nie będziemy mieć podglądu z jego ekranu (oprócz Administratora Konsoli)
Jeśli na komputer zaloguje się Uczeń to w Konsoli będziemy mieć podglądu z jego ekranu (wszyscy użytkownicy Konsoli będą mieć podgląd )