Rodzaje kont w systemie linuksowym

Z punktu widzenia administratora w Linuksie mamy kilka rodzajów kont użytkowników: konta systemowe (programów i demonów), konta e-mail (można tylko wysyłać i odbierać pocztę), konta ftp i e-mail (można kopiować pliki na serwer ftp oraz wysyłać i odbierać pocztę) oraz konta shellowe (czyli z dostępem do powłoki o różnym poziomie ograniczeń).

System rozpoznaje konta systemowe (czyli programów) po fakcie niemożności zalogowania się na nie. Pozostałe konta różnią się rodzajem powłoki przydzielanej użytkownikom. Konto pocztowe tworzymy dając użytkownikowi powłokę, która natychmiast się wykona np.: /bin/true albo /bin/false. Dzięki temu użytkownik może się zalogować by pobrać pocztę ale logowanie do systemu będzie już nieudane bo powłoka natychmiast zakończy działanie i wyrzuci użytkownika z systemu. Podobnie jest z kontami ftp. Cała sztuczka z rozdzieleniem kont pocztowych oraz ftp polega na tym, iż serwer ftp proftpd domyślnie wymaga aby powłoka użytkownika, który loguje się na serwer, była zarejestrowana w pliku /etc/shells. Tak więc przydzielając konto z powłoką, która jest albo i nie zarejestrowana w pliku /etc/shells możemy sterować czy użytkownik ma dostęp do ftp czy też nie.

Konta shellowe można ograniczać na kilka sposobów. Najprostszy to zabronienie wszystkim wykonywania plików binarnych w ich katalogach. Uzyskamy to przez wydzielenie katalogu /home na osobną partycję i nadanie jej opcji noexec. Rozwiązanie to nie zawsze jest do przyjęcia, można więc skorzystać z łaty na jądro o nazwie grsecurity. Pozwala ona stworzyć grupę użytkowników, którzy mają prawo wykonywać tylko pliki z katalogów, których właścicielem jest root i mają odpowiednio ustawione prawa dostępu. W przypadku gdy musimy bardzo mocno różnicować kto ma jakie uprawnienia należy skorzystać z mocniejszych łat na jądro typu LIDS, Selinux czy RSBAC pozwalających tworzyć role i ACLe na poziomie jądra.

Dodaj komentarz