Operacje na plikach, katalogach, i systemach plików

  1. [2p] Znajdź w katalogach systemowych przykładowe pliki, które mają ustawiony każdy z trzech dodatkowych bitów praw dostępu (set-uid, set-gid, i sticky bit). W raporcie podaj wyrażenia, które znajdują te pliki. Spróbuj wyjaśnić rolę jakie pełni ustawienie bitu w prawach dostępu znalezionych przykładowych plików.

  2. [2p] Utwórz plik, oraz drugi link do niego (twardy) w innym katalogu. Sprawdź, że oba pliki (linki) posiadają ten sam numer inode. Napisz skrypt, który dla danego pliku znajduje wszystkie linki twarde do niego w zadanym katalogu, włącznie z podkatalogami.

    Wklej opracowany skrypt do raportu.

    Uwaga: nie wolno używać find ... -samefile

  3. [2p] Utwórz plik, a następnie wygeneruj przykładowe operacje, które spowodują zmiany czasów: dostępu, modyfikacji, i zmiany stanu.

    Podaj polecenia w raporcie.

  4. [2p] Utwórz pusty katalog a w nim kilka plików różnymi poleceniami (np. touch, cp, dd, tar, przez skierowanie wyjścia z jakiegoś polecenia, oraz przez kompilację jakiegoś minimalnego programu kompilatorem cc). Sprawdź prawa dostępu powstałych plików.

    Następnie poleceniem umask ustaw niestandardową maskę praw dostępu do plików, a potem utwórz nowy zestaw plików i sprawdź jak maska wpłynęła na prawa dostępu powstałych plików. Zapisz wniosek w raporcie.

    Z kolei ustaw domyślny wpis ACL (default) dla tego katalogu, z jeszcze inną nietypową kombinacją praw dostępu, i jeszcze raz tworząc pliki różnymi sposobami sprawdź jakie prawa dostępu otrzymały. Zapisz wniosek w raporcie.

    Uwaga: listy ACL mogą nie działać na katalogu sieciowym. W takim przypadku należy robić eksperymenty w katalogu lokalnym, np. /tmp

  5. [2p] Wybranym programem otwórz jakiś plik. Następnie, nie zamykając tego pliku ani programu, kolejno: skasuj plik na dysku, a następnie znajdź deskryptor tego pliku w podkatalogu tego procesu w katalogu /proc. Przekopiuj ten deskryptor na nowe miejsce, aby odzyskać skasowany plik. Pomyśl w jaki sposób możnaby odzyskać atrybuty skasowanego pliku. Odpowiedź wpisz w raporcie.

  6. [4p] Zapoznaj się z programem lsof, a następnie wypróbuj następujące operacje tym programem:
    (a) pliki otwarte przez konkretny proces,
    (b) pliki otwarte w drzewie danego katalogu,
    (c) wszystkie połączenia internetowe otwarte przez dane użytkownika,
    (d) wszystkie procesy, które mają dany plik otwarty do odczytu,
    (e) wszystkie procesy, które mają dany katalog jako bieżący,
    (f) wszystkie procesy, które wykonują kod z danego pliku wykonywalnego,

    Wpisz kolejno wykonane polecenia lsof do raportu.