Zaliczenie 2018

Część 1

Wyobraź sobie, że razem kolegą prowadzicie kółko informatyczne w Twojej byłej szkole. Lista uczestników znajduje się w pliku tekstowym, gdzie każdy wiersz ma postać:
identyfikator_ucznia imię nazwisko
Chcesz udostępnić uczniom trzy katalogi: documents, tasks i solutions.
Napisz skrypt, który stworzy odpowiednią strukturę katalogów, założy uczestnikom konta oraz skonfiguruje dostęp do katalogów w taki sposób aby:

1. każdy uczeń z listy miał prawo do odczytu plików, które powstaną w katalogu documents, a twój kolega miał prawo do odczytu i zmiany plików z tego katalogu, nie mógł natomiast nic do niego dodać ani usunąć,

2. każdy uczeń z listy miał prawo do odczytu plików, które powstaną w katalogu tasks, a Twój kolega miał do niego wszystkie prawa,

3. każdy uczeń z listy miał prawo do umieszczenia swojego rozwiązania w katalogu solutions/identyfikator_ucznia-nr_zadania,

4. Twój kolega miał wszystkie prawa do poddrzewa solutions, natomiast uczniowie nie widzieli rozwiązań swoich kolegów.

Plik z listą uczniów, identyfikator kolegi i liczba zadań mają być parametrami skryptu.

Część 2

Skonfiguruj rsyslog w taki sposób, aby:

1. wszystkie zapisy z poziomu debug trafiały do pliku /var/log/debug.log i nie pojawiały się w żadnych innych plikach katalogu /var/log,

2. w głównym dzienniku /var/log/syslog były wszystkie informacje oprócz tych związanych z uwierzytelnianiem, drukowaniem i podsystemem cron,

3. wszystkie komunikaty zawierające wzorzec "solutions" trafiały do pliku /var/log/students.log,

4. komunikatu z poziomu emerg pochodzące od jądra i usług trafiały do wszystkich zalogowanych użytkowników oraz korzystając z xconsole można było śledzić informacje przekazywane przez usługi i związane z drukowaniem i pocztą począwszy od poziomu warning.

Konfiguracja elementów nie wymienionych wyżej powinna pozostać domyślna, czyli taka jaka jest w oryginalnym pliku konfiguracyjnym rsyslog.conf.
Użyj polecenia logger do sprawdzenia poprawności konfiguracji.
Sprawdź zawartość dzienników po uruchomieniu skryptu z części 1.