Operacje na plikach, katalogach, i systemach plików
- [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.
- [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
- [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.
- [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
- [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.
- [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.