Założenia:
- Sprawdza z grupy sudo kto ma dostęp.
- Dla każdego z grupy sprawdza:
- istnieje katalog $KP_DIR.
- Jak nie istnieje to zakłada i daje prawa do odczytu i zapisu tylko dla właściciela
- Porównuje $KP_DIR z wzorcem.
- Jeżeli $KP_DIR ma inne sumy kontrolne i datę modyfikacji do wzorca:
- Dodaj do dziennika czynność z sumą kontrolną, nazwą konta i datą.
- Jeżeli nie ma pliczku z wzorca- skopiuj i ustaw prawa dla właściciela.
- Jeżeli $KP_DIR ma inne sumy kontrolne i datę modyfikacji do wzorca:
- Analizuje dziennik.
- Jeżeli dany plik ma więcej niż jedną sumę kontrolną- czyli ten sam plik jest zmodyfikowany względem wzorca przez więcej niż jedno konto:
- Powiadom mailem o konflikcie $ADMIN_MAIL.
- Ustaw wszystkim dany plik na tylko do odczytu.
- Zaktualizuj pliczek $KP_DIR/conflicts
- Jeżeli jest tylko jedna suma kontrolna- czyli tylko jeden plik ma różnicę względem wzorca:
- Zrób xdiffa dla zmienionego pliku względem wzorca.
- Zapisz xdiffa w katalogu wzorca.
- w katalogu: nazwa_pliku
- pod nazwą: suma_kontrolna_oryginału
- sprawdź czy po nałożeniu diffa na oryginał dostaniemy taką samą sumę kontrolną co nowego pliku
- Dodaj wpis do bazy wzorca.
- Ddata
- Plik
- Konto
- Suma, wielkość, data modyfikacji oryginału
- Suma, wielkość, data modyfikacji nowego pliku
- Nałóż diffa na wzorzec i sprawdź sumę kontrolną.
- Jeżeli dane zostały zapisane w bazie wzorca i suma w wzorcu jest zgodna:
- Dla wszystkich kont:
- Sprawdź czy suma kontrolna pliku jest taka jak dla starego wzorca
- Przekopiuj nowy plik i nadpisz stary.
- istnieje katalog $KP_DIR.