Tworzenie użytkownika

Jądro Linuxa traktuje użytkowników jako liczby. Każdy użytkownik identyfikowany jest poprzez unikalną liczbę całkowitą - id użytkownika, lub uid, dzieje się tak dlatego, że liczby najszybciej się przetwarza. Zewnętrzna baza zawiera odpowiednie przypisania - użytkownik i jego identyfikator.

Aby stworzyć użytkownika należy zmienić bazę użytkowników, utworzyć katalog domowy. Można go również pouczyć i przygotować mu środowisko pracy.

Większość dystrybucji posiada właściwe sobie programy, np. pracujące w środowisku graficznym. Zazwyczaj ogólnie rozprowadzanymi są: adduser i useradd. the section called Ręczne tworzenie użytkownika opisuje ręczne dodawanie użytkowników.

/etc/passwd i inne pliki

Podstawową bazą użytkowników w Uniksach jest plik textowy /etc/passwd (nazywany plikiem haseł), który zawiera wszystkich poprawnych użytkowników, oraz niektóre informacje o nich. Na jednego użytkownika przypada jedna linia zawierająca siedem, oddzielonych dwukropkami, pól:

Strona podręcznika dotycząca passwd zawiera więcej informacji.

Każdy z użytkowników może odczytać plik haseł, a w ten sposób poznać nazwy innych użytkowników. Oznacza to, że hasła (w postaci zakodowanej) są dostępne dla wszystkich; teoretycznie nie powinno być to groźne. Niestety kodowanie można złamać, zwłaszcza gdy hasło jest słabe (jest zbyt krótkie, można je znaleźć w słowniku, lub, co gorsza, domyśleć się go). Dlatego, z czasem, hasła zostały przeniesione do osobnego pliku.

Wiele systemów zaimplementowało system ukrytych haseł . Jest to alternatywna metoda przechowywania zakodowanych haseł, która używa plik /etc/shadow, który odczytywalny jest tylko przez roota. /etc/passwd zawiera specjalny znacznik oznaczający, że hasło znajduje się gdzieś indziej. Każdy program dokonujący autoryzacji użytkowników musi mieć ustawiony bit setuid. Normalne programy, które potrzebują innych pól, działają bez zmian. [1]

Używanie numerycznych identyfikatorów

Najczęściej nie musisz znać numerycznych numerów identyfikacyjnych, jednak wiedza ta staje się potrzebna gdy używasz Sieciowego systemu plików (NFS) - na wszystkich komputerach identyfikatory muszą się zgadzać. Dzieje się tak ponieważ NFS rozróżnia użytkowników po ich identyfikatorach numerycznych.

Chcąc używać NFS musisz wynaleźć mechanizm synchronizacji informacji o kontach. W tym celu można użyć systemu NIS (opis w network-admin-guide).

Zasadniczo nie powinieneś używać starych identyfikatorów (textowych, czy numerycznych) - nowy użytkownik mógłby przejąć pliki starego użytkownika.

Zarządzanie grupami

Są dwie szkoły zarządzania grupami: domyślnie tworzyć dla każdego użytkownika nową grupę, lub dołączać go do podanej. Każde z tych podejść ma wady i zalety.

Tworzenie osobnych grup dla użytkowników zwiększa bezpieczeństwo ich danych - dodatkowa grupa praw dostępu, którą nie muszą się zajmować - prawa dla grupy nie są ważne gdy tylko jeden użytkownik do niej należy. Jeżeli chcesz zarządzać dużą grupą użytkowników, traktować ich na równych prawach lepiej domyślnie umieszczać ich w jednej grupie.

Ja w każdym przypadku powinieneś mieć swoje zdanie, tylko ty możesz określić swoje potrzeby, więc sam je realizuj.

Domyślne środowisko: /etc/skel

Zazwyczaj podczas tworzenia katalogu domowego użytkownika zostają do niego skopiowane pliki z katalogu /etc/skel. Dzięki temu administrator systemu może stworzyć pliki, które dostarczą użytkownikowi przyjaznego środowiska. Dla przykładu, w pliku /etc/skel/.profile można ustawić zmienną EDITOR na jakiś edytor przyjazny nowicjuszom ( vi ;-).

Zazwyczaj część konfiguracji umieszcza się w globalnych plikach konfiguracyjnych - w ten sposób gdy zmieni się edytor możesz szybko zaktualizować ustawienia użytkowników. Powinieneś pomyśleć nad pewnym podziałem: zmienne, itp. lepiej umieszczać w plikach globalnych, natomiast ustawienia dla poszczególnych programów, które użytkownicy zapewne będą chcieli zmienić, w katalogach domowych.

Ręczne tworzenie użytkownika

Aby ręcznie stworzyć konto wykonaj następujące kroki:

Po ustawieniu hasła użytkownik może się zalogować, więc powinno to być ostatnim krokiem.

Czasami trzeba utworzyć bezużytkownikowe konto, dla przykładu: anonimowy serwer FTP potrzebuje użytkownika ftp. W takim wypadku powinieneś blokować takie konta - w ten sposób tylko root może stać się takim użytkownikiem, nikt się nie może zalogować.

Notes

[1]

Wszystkie informacje o użytkowniku znajdują się w pliku haseł, za wyjątkiem hasła :-)