« wróć do listy
Następny Wpis NA LIŚCIE (W DÓŁ)
Qt Projekt w pełni otwarty KDEFamily.pl
7 osób twierdzi: warto przeczytać
Następny Wpis NA LIŚCIE (W GÓRĘ)
Zarządzanie, usuwanie i wyłączanie kont użytkowników - Dodawanie nowych użytkowników - cz.6 Fragmenty artykułów z książek wydawnictwa Helion.pl
20 osób twierdzi: warto przeczytać

Piąta część rozdziału nr 7 książki:
Unix i Linux. Przewodnik administratora systemów. Wydanie IV

7.5. DODAWANIE UŻYTKOWNIKÓW ZA POMOCĄ USERADD

W każdym systemie program useradd realizuje tę samą opisaną wcześniej prostą procedurę. Jest on jednak konfigurowalny i zapewne warto dostosować go do swojego środowiska. Ponieważ każdy system ma własną koncepcję na temat tego, co powinno być dostosowane, gdzie należy wyprowadzić zmiany i jakie powinno być domyślne zachowanie, omówmy te szczegóły osobno.

W tabeli 7.4 zawarliśmy podręczny spis poleceń i plików konfiguracyjnych związanych z zarządzaniem użytkownikami. Każdy z naszych przykładowych systemów ma pakiet poleceń służących do działań na użytkownikach, zwykle zawiera on co najmniej useradd, usermod i userdel. Ponieważ wszystkie te polecenia są konfigurowane w podobny sposób, zaprezentujemy je tu na przykładzie polecenia useradd, uzupełniając jego wpisy o inne polecenia specyficzne dla danego systemu.

Warto zauważyć, że choć w każdym systemie polecenia te noszą nazwy useradd itd., same narzędzia różnią się w zależności od systemu.

Polecenie useradd w systemie Ubuntu

Ubuntu umożliwia dodawanie użytkowników na dwa sposoby: za pomocą adduser i useradd. Polecenie adduser to napisany w Perlu skrypt osłonowy dla polecenia useradd, który jest nieco bardziej pomocny (tworzy katalogi domowe, kopiuje pliki startowe itd.).

Polecenie adduser jest konfigurowane w pliku /etc/adduser.conf, który zawiera m.in. następujące opcje:

  • reguły lokalizacji katalogów domowych: pod względem grup, nazw użytkowników itd.,
  • ustawienia uprawnień dla nowych katalogów domowych,
  • zakresy numerów UID i GID dla użytkowników systemowych i ogólnych,
  • opcję tworzenia indywidualnej grupy dla każdego użytkownika,
  • udziały dyskowe (niestety, tylko jako wartość logiczną),
  • dopasowanie nazw użytkowników i grup na podstawie wyrażeń regularnych.

Inne typowe parametry polecenia useradd, takie jak reguły dotyczące haseł, ustawiane są jako parametry modułu PAM odpowiedzialnego za regularne uwierzytelnianie haseł (omówienie PAM, czyli dołączalnych modułów uwierzytelniania, znajduje się na stronie 1113). Polecenie adduser ma bliźniacze polecenie addgroup oraz pokrewne deluser i delgroup.

Tabela 7.4. Polecenia i pliki konfiguracyjne służące do zarządzania użytkownikami
Tabela 7.4. Polecenia i pliki konfiguracyjne służące do zarządzania użytkownikami


(a W starszych systemach AIX plik ten znajduje się w katalogu /usr/lib/security.)

Polecenie useradd w SUSE

Polecenie useradd w systemie SUSE domyślnie nie tworzy katalogu domowego dla nowego użytkownika ani nie kopiuje plików startowych. Musisz zażądać tych udogodnień, podając opcję –m (pliki startowe pobierane są z katalogu /etc/skel); useradd nie tworzy też plików poczty dla nowych użytkowników.

Polecenie useradd w SUSE również nie powoduje powstania indywidualnych grup dla użytkowników; domyślny numer GID w pliku passwd ustawiany jest na podstawie zmiennej GROUP w pliku /etc/default/useradd. Ponadto nowi użytkownicy dodawani są do grup określonych przez zmienną GROUPS. Domyślnie są to grupy video i dialout, które umożliwiają dostęp do bufora ramek i oprogramowania pppd do obsługi połączeń dodzwanianych.

Aby zrekompensować te różnice, polecenie useradd w systemie SUSE wywołuje /usr/sbin/useradd.local, skrypt powłoki bash, który możesz dostosować do swoich potrzeb.

Plik /etc/login.defs w systemie SUSE reguluje następujące kwestie:

  • pozwolenie na zalogowanie, jeśli katalog domowy użytkownika nie istnieje,
  • stopień tolerancji (zwłoka i blokada) przy nieudanych próbach zalogowania,
  • położenie plików „wiadomości dnia” i ttytype (typy terminali),
  • ograniczenie dotyczące korzystania z poleceń chsh i chfn,
  • wygasanie haseł,
  • zakresy numerów UID i GID dla systemu i użytkowników,
  • reguły tworzenia właściwych nazw użytkowników i grup,
  • maski użytkowników (domyślnie 022),
  • lokalne skrypty korzystające z poleceń useradd i userdel.

Zarówno strona podręcznika systemowego dla pliku login.defs, jak i komentarze w samym pliku zawierają cenne informacje opisujące różne parametry i ich znaczenie.

Polecenie useradd w systemie Red Hat

W systemie Red Hat Linux Enterprise polecenie useradd pobiera swoje parametry konfiguracyjne z pliku /etc/login.defs, który odpowiada za takie kwestie jak wygasanie haseł, algorytmy szyfrowania, pliki poczty oraz zakresy numerów UID i GID. Poszczególne parametry wyjaśnione są w komentarzach zawartych w tym pliku.

Polecenie useradd –D wyświetla parametry domyślne, które będą zastosowane dla nowych użytkowników. Są one zapisane w pliku /etc/default/useradd. W systemie Red Hat nowi użytkownicy umieszczani są w swoich indywidualnych grupach. We wpisach w pliku passwd użyto znaku „x” jako symbolu zastępczego dla hasła, a w pliku shadow użyto kodu „!!”, który wyłącza logowanie i wymaga, aby administrator systemu ustawił hasło dla nowego użytkownika. Domyślnym algorytmem szyfrowania jest MD5. W katalogu nowego użytkownika umieszczane są pliki startowe z katalogu /etc/skel.

Polecenie useradd w systemie Solaris

W systemie Solaris niektóre domyślne parametry dotyczące logowania i haseł przechowywane są w plikach /etc/default/login i /etc/default/passwd; pozostałe zostały wbudowane w program useradd. Polecenie useradd –D wyświetli domyślne wartości dla kilku parametrów. Za pomocą dodatkowych opcji można je wykorzystać do przywrócenia niektórych ustawień domyślnych.

Formaty plików default/login i default/passwd są podobne do formatu pliku login.defs w systemie Linux. Puste wiersze i wiersze rozpoczynające się znakiem # są ignorowane, a każdy wiersz niebędący komentarzem stanowi przypisanie wartości lub zmiennej. Składnia wygląda jednak tak:

NAZWA=wartość

a nie tak:

NAZWA wartość

Plik /etc/default/passwd kontroluje następujące elementy:

  • minimalną długość hasła,
  • wygaśnięcie hasła,
  • wymagany stopień złożoności hasła,
  • sprawdzenie możliwości złamania hasła.

Plik /etc/default/login odpowiada za takie kwestie jak:

  • strefa czasowa,
  • ograniczenie wielkości plików, jakie użytkownik może tworzyć,
  • możliwość logowania się użytkownika root tylko na konsoli,
  • wymagalność hasła dla każdego użytkownika,
  • obsługa nieudanych prób zalogowania,
  • początkowa ścieżka wyszukiwania danego użytkownika,
  • domyślna maska użytkownika (domyślnie 022),
  • opcje programu syslog: czy ma rejestrować logowania użytkownika root i nieudane próby zalogowania.

Pliki /etc/security/policy.conf i /etc/security/crypt.conf określają algorytmy szyfrowania, które mogą być używane dla haseł.

Polecenie useradd w systemie HP-UX

Domyślnie polecenie useradd w systemie HP-UX nie tworzy katalogów domowych ani nie umieszcza użytkownika w jego indywidualnej grupie. Opcja –m spowoduje jednak, że useradd utworzy katalogi domowe i umieści w nich pliki startowe z katalogu /etc/skel.

Parametry konfiguracyjne polecenia useradd ustawione są w plikach /etc/default/useradd i /etc/default/security, przy czym plik useradd przyjmuje format w stylu Linuksa, czyli NAZWA wartość, a plik security używa formatu Solarisa, tj. NAZWA=wartość. HP potrafi nieźle namieszać! Składnię można wywnioskować z innych wpisów w pliku, jeśli jednak użyjesz złej składni, wartość, którą spróbujesz ustawić, zostanie po cichu zignorowana. Nie pojawi się żaden komunikat o błędzie.

Plik /etc/default/useradd kontroluje takie opcje jak:

  • domyślna grupa i powłoka,
  • główny poziom drzewa katalogu domowego,
  • wygasanie konta,
  • tworzenie katalogów domowych,
  • pozwalanie na duplikowanie numerów UID.

Plik /etc/default/security zawiera dodatkowe parametry konfiguracyjne, z których część dotyczy zarządzania użytkownikami, czyli:

  • pozwolenia na logowanie w przypadku braku katalogu domowego,
  • dopuszczania pustych haseł,
  • minimalnej długość hasła,
  • obsługi nieudanych prób logowania,
  • obsługi nieaktywnych kont,
  • domyślnej maski dla nowych użytkowników (domyślnie 027).

Nazwy zmiennych w tym pliku są długie i trafne, dzięki czemu dokładnie określają, za co odpowiada każda zmienna.

Polecenie useradd w systemie AIX

W systemie AIX polecenie useradd to w rzeczywistości skrypt osłonowy powłoki ksh dla mkuser, rodzimego odpowiednika useradd w AIX. Podobnie polecenie usermod wywołuje chuser, a userdel wywołuje rmuser. Strony podręcznika systemowego dla tych poleceń można wywołać, odwołując się zarówno do ich oryginalnych nazw, jak i tych, pod jakimi występują w pozostałych systemach.

Pliki konfiguracyjne kontrolujące wiele różnych aspektów logowania i haseł znajdują się w katalogu /etc/security. Są tam trzy istotne pliki: login.cfg, user i mkuser.default. Pierwsze dwa używają znaku * dla oznaczania komentarzy; trzeci nie zawiera komentarzy. Pliki te podzielone są na sekcje w następującej postaci:

etykieta:
atrybut = wartość
następny-atrybut = wartość

następna-etykieta:
atrybut = wartość

Przykładowo w pliku /etc/security/user etykietami są nazwy użytkowników (lub słowo default); możliwe atrybuty podane są w tabeli 7.5 na następnej stronie.

Tabela 7.5. Opcje konta użytkownika w pliku /etc/security/user (AIX)
Tabela 7.5. Opcje konta użytkownika w pliku /etc/security/user (AIX)

Całkiem spora lista! Komentarze w pliku często podają wartości domyślne, które są dość sensowne dla instalacji o niskim poziomie bezpieczeństwa. Zalecamy wprowadzenie kilku zmian:

  • zmianę wartości umask z 022 na 077,
  • zmianę wartości loginretries z 0 (brak ograniczeń) na małą liczbę całkowitą, np. 5,
  • zmianę wartości minlen z 0 (dopuszczalny brak hasła) na co najmniej 6 lub 7,
  • zmianę wartości expires z 0 (nigdy) na rok (tylko jeśli dysponujesz narzędziem umożliwiającym okresowe odświeżanie dat wygaśnięcia dla prawowitych użytkowników).

Niestety, to tylko jeden z plików konfiguracyjnych kontrolujących logowanie nowych użytkowników. Plik /etc/security/login.cfg zawiera parametry kontrolujące nieudane próby logowania (opóźnienie między wyświetleniem znaków zachęty do podania loginu i hasła, liczbę dozwolonych prób zalogowania przed wyłączeniem konta, czas trwania blokady konta, czas jego przywrócenia itd.), przedziały czasowe, w których można się zalogować, znak zachęty wyświetlany podczas prośby o podanie hasła, listę dozwolonych powłok, maksymalną dopuszczalną liczbę jednoczesnych logowań, czas oczekiwania na wprowadzenie hasła, rodzaj używanego uwierzytelniania (jeśli korzystasz z PAM, musisz to podać właśnie w tym pliku) oraz algorytmy szyfrowania haseł (domyślnie jest to crypt). (Mechanizm PAM pojawił się w AIX stosunkowo niedawno; pełną funkcjonalność powinien mieć w wersjach 5.3 lub późniejszych.)
Możliwości konfiguracji są niesamowicie rozbudowane, aż do przesady. Jeszcze większy zamęt powoduje to, że niektóre parametry pojawiają się w obu plikach, przy czym czasem występują pod tą samą nazwą (np. logintimes), a czasem nazywają się inaczej (np. loginretries i logindisable). Krótko mówiąc, jeden wielki bałagan i mętlik.

Więcej informacji na temat PAM można znaleźć na stronie 1113.

W AIX polecenie useradd nie ma opcji –D, która pokazywałaby domyślne wartości dla nowych użytkowników. Polecenie useradd umieszcza nowych użytkowników w pojedynczej grupie i nie tworzy ich katalogów domowych, chyba że zostanie wywołane z opcją –m (w tym przypadku skopiuje ono również plik .profile z katalogu /etc/security).

Przykłady użycia polecenia useradd

Aby utworzyć nowego użytkownika „hilbert”, używając systemowych wartości domyślnych w Linuksie, wystarczy po prostu wydać polecenie:

$ sudo useradd hilbert

Polecenie to powinno utworzyć w pliku /etc/passwd następujący wpis:

hilbert:x:1005:20::/home/hilbert:/bin/sh

Polecenie useradd wyłączyło konto, wstawiając znak x w polu przeznaczonym na hasło. Aby można było korzystać z konta, musisz mu przypisać prawdziwe hasło.

Poniżej przedstawiamy bardziej realistyczny przykład. Określimy, że podstawową grupą użytkownika hilbert ma być „faculty” i powinien on również zostać dodany do grupy „famous”. Zmienimy też domyślne położenie katalogu domowego oraz powłokę i poprosimy useradd o utworzenie katalogu domowego, jeśli jeszcze nie istnieje:

$ sudo useradd -c "David Hilbert" -d /home/math/hilbert -g faculty –G famous -m -s /bin/tcsh hilbert

Polecenie to utworzy następujący wpis w pliku passwd:

hilbert:x:1005:30:David Hilbert:/home/math/hilbert:/bin/tcsh

Przypisany numer UID jest większy niż najwyższy UID w systemie, a odpowiedni wpis w pliku shadow to:

hilbert:!:14322:0:99999:7:0::

Znaki zastępcze dla hasła w plikach passwd i shadow mogą różnić się w zależności od systemu operacyjnego. Do czasu nadania hasła dla konta znak zastępczy w pliku shadow blokuje możliwość zalogowania. Ponadto polecenie useradd doda użytkownika hilbert do odpowiednich grup w pliku /etc/group, utworzy katalog /home/math/hilbert i skopiuje do niego pliki z katalogu /etc/skel.

7.6. HURTOWE DODAWANIE UŻYTKOWNIKÓW ZA POMOCĄ NEWUSERS (LINUX)

W systemie Linux istnieje polecenie newusers, za pomocą którego jednocześnie utworzysz wiele kont na podstawie zawartości pliku tekstowego. Jest ono dość ułomne, ale może okazać się przydatne, gdy musisz dodać większą liczbę użytkowników naraz, np. przy tworzeniu kont dla całego rocznika studentów. Polecenie newusers oczekuje pliku wejściowego zawierającego takie same wiersze jak plik /etc/passwd, z tym, że pole z hasłem musi zawierać hasło początkowe zapisane jawnym tekstem, dlatego dobrze pilnuj tego pliku.

Polecenie newusers uznaje parametr wygasania haseł ustawiony w pliku /etc/login.defs, ale w odróżnieniu od useradd nie kopiuje domyślnych plików startowych. Jednym plikiem startowym, jaki zapewnia, jest .xauth.

Dla uniwersytetu potrzebny jest skrypt wsadowy adduser, który na podstawie listy studentów pobranej z danych rekrutacyjnych lub rejestracyjnych wygeneruje plik wejściowy dla newusers, w którym użytkownicy będą mieli przypisane niepowtarzalne i zgodne z lokalnie przyjętymi regułami nazwy kont, silne, losowo wygenerowane hasła oraz numery UID i GID przyporządkowane rosnąco dla każdego użytkownika. Prawdopodobnie lepiej będzie napisać własny skrypt osłonowy dla useradd w języku Perl lub Python, niż zmusić do działania polecenie newusers, aby robiło dokładnie to, czego oczekujesz.

cdn.

Pierwsza część:
http://www.linuxportal.pl/artykuly/dodawanie-nowyc/.../-1-id98820

Druga część:
http://www.linuxportal.pl/artykuly/plik-etc-passwo/.../-2-id99146

Trzecia część:
http://www.linuxportal.pl/artykuly/pliki-etc-shado/.../-3-id99590

Czwarta część:
http://www.linuxportal.pl/artykuly/podstawy-dodawa/.../-4-id99882

Udostępnij informacje o Wpisie w sieciach społecznościowych:
Polub LinuxPortal.pl:

Komentarze:

Nie ma jeszcze komentarzy. Dodaj swój komentarz.
logo:
Aby dodać komentarz: zaloguj się ikona LinuxPortal.pl ikona Facebook.com ikona Google+

Wpisy z blogów/ TOP 30dni

Linux Magazine 9/2016: Systemy plików Mint 18 Mate Linux Magazine i Android User
18 osób twierdzi: warto przeczytać
Kat - nowoczesny system wyszukiwania plików Blog firmy Amazis
9 osób twierdzi: warto przeczytać
openmamba GNU/Linux 2.0.10.1 KDEFamily.pl
4 osoby twierdzą:: warto przeczytać
Qt 4.8.0 KDEFamily.pl
7 osób twierdzi: warto przeczytać
Android – programowanie. Wstęp (Artykuł 0). Blog użytkownika Rafał Duraj
22 osoby twierdzą: warto przeczytać, a 1 , że nie
Wpisy z blogów więcej:
logo: Linux Magazine i Android User
8 lat temu

Linux Magazine 9/2016: Systemy plików Mint 18 Mate

Wrześniowe wydanie Linux Magazine: Systemy plików Mint 18 Mate

Artykuły wiodące wrześniowego wydania „Linux Magazine” poświęcone systemom plików opisują rewolucyjny profesjonalizm ZFS, przyszłościowy Btrfs oraz dzieje klasycznego Ext. Dołączone DVD zawiera bijącą rekordy popularności wśród użytkowników dystrybucję Linux Mint 18 w wersji 32-bitowej z pulpitem Mate. Wewnątrz wydania również: przywracanie plików ...

18 osób twierdzi: warto przeczytać
Wpis z Bloga: Blog firmy Amazis
19 lat temu

Kat - nowoczesny system wyszukiwania plików

Mandriva objęła patronat i bierze aktywny udział w projekcie Kat, którego celem jest stworzenie zaawansowanego systemu wyszukiwawczego zasobów komputerów. Kat jest umożliwia aplikacjom środowiska graficznego KDE wyszukiwanie i indeksowanie plików znajdujących się w komputerze użytkownika.Z dokumentów, plików obrazów, plików muzycznych ...

9 osób twierdzi: warto przeczytać
logo: KDEFamily.pl
Wpis z Bloga: KDEFamily.pl
12 lat temu

openmamba GNU/Linux 2.0.10.1

Dystrybucja openmamba - widok: pulpit KDE

Silvan Calarco ogłosił wydanie najnowszej kompilacji pakietów dystrybucji openmamba. Openmamba to włoski projekt społecznościowy sponsorowany przez mambaSoft (http://www.mambasoft.it/) i tworzony przy udziale społeczności open-source. System jest wydawany jako LiveCD z możliwością instalacji. Dystrybucja jest wydawania tylko dla architektury Intel i586. Dystrybucja ...

4 osoby twierdzą:: warto przeczytać
logo: KDEFamily.pl
Wpis z Bloga: KDEFamily.pl
13 lat temu

Qt 4.8.0

Daniel Kihlberg ogłosił wielo-platformowego frameworka pozwalającego na tworzenie oprogramowania w językach C++ i Java. Instalatory z pełną wersją oprogramowania dla systemów desktopowych (Linux, MAC i Windows do pobrania z tej strony: http://qt.nokia.com/downloads. Osoby, które chciałyby wykorzystać Qt 4.8 do projektowania ...

7 osób twierdzi: warto przeczytać
13 lat temu

Android – programowanie. Wstęp (Artykuł 0).

Ściąganie Eclipse(grafika na potrzeby artykułu).

Zapraszam do wstępnej części kursu na temat programowania na mobilną platformę Android. W lekcji zerowej zajmiemy się przygotowaniem środowiska potrzebnego nam do rozpoczęcia zabawy. Będziemy potrzebowali następujących rzeczy: Eclipse Java Development Kit (JDK) Android SDK Plugin ADT do Eclipse 1. Zacznijmy od ściągnięcia Eclipse, a ...

22 osoby twierdzą: warto przeczytać, a 1 , że nie
W związku z wejściem w życie 25 maja 2018 roku nowego Rozporządzenia o Ochronie Danych Osobowych znanym jako "RODO" pragniemy poinformować Cię,
w jaki sposób przetwarzane są dane osobowe pozostawiane przez Ciebie podczas korzystania z LinuxPortal.pl.
Zapoznaj się z Polityką prywatności.

Klikając „Zamknij”, zamykasz ten komunikat i wyrażasz zgodę na przetwarzanie tych danych, w tym w plikach cookies, przez LinuxPortal.pl sp. z o.o. w celu realizacji usług zgodnie z Regulaminem.
Zamknij »