W wielkim skrócie:
Dla każdego pliku w systemie ustawione są jakieś prawa dostępu. Podstawowe to prawo do odczytu, zapisu i uruchamiania. Dalej określa się jak takie prawa są ustawione dla właściciela pliku, grupy przypisanej do pliku i dla pozostałych użytkowników. Pomijając jak ustawia się domyślne prawa dostępu do plików (to da się konfigurować) to zazwyczaj w katalogu domowym pliki mają domyślnie ustawienia pozwalające na odczyt i zapis dla właściciela i grupy oraz odczyt dla wszystkich pozostałych.
Stąd użytkownik tester mógł przeglądać inne pliki, bo miały ustawiony dostęp dla wszystkich.
Polecam zapoznać się z tym artykułem:
http://ubuntu.pl/czytelnia/2011/03/02/k ... a-dostepu/
Co do wytłumaczenia dlaczego ograniczenie dostępu do katalogu domowego użytkownika niesie ze sobą konsekwencje...
Gdyby użytkownik mógł przeglądać jedynie pliki w /home/użytkownik, to jak mógłby uruchomić np. powłokę, która jest w katalogu /bin/?
Jak programy mogłyby ładować ustawienia, które są często zapisane w /etc/?
Jak użytkownik mógłby korzystać z różnych zasobów systemowych znajdujących się w katalogach /dev/, /proc/, /sys/, i innych?
Jak sam widzisz - to nie takie proste... W dodatku zwykłe uprawnienia dostępów są niewystarczające aby skonfigurować tak szczegółowy dostęp (per użytkownik) w systemie.
I tutaj faktycznie pojawiają się rozwiązania jak AppArmor, SELinux lub SMACK - korzystają one z rozszerzonych uprawnień dostępów, dochodzi tam mechanizm etykiet, określanie dostępu nie tylko z poziomu użytkownika, ale także z poziomu procesu. I to już pozwala na dokładniejsze określenie kto, co i gdzie może robić.
Ale... Przygotowanie takiej polityki, która byłaby w pełni odporna jest trochę problematyczne - należałoby określić ustawienia dla każdego pliku i procesu w systemie.
To, co podlinkował jacekalex jest rozwiązaniem dosyć ogólnym, acz pewnie skutecznym w stopniu, który może cię zadowolić.
