Przesłanianie haseł (Shadow Password): Wprowadzanie pakietu Shadow Suite do użycia.
Następna strona
Poprzednia strona
Spis treści
7. Wprowadzanie pakietu Shadow Suite do użycia.
Sekcja ta opisuje kilka rzeczy które będziesz chciał wiedzieć jak
już zainstalowałeś pakiet Shadow Suite. Dalsze informacje
zawarte są na stronach podręcznika systemowego na temat każdego
polecenia.
7.1 Dodawanie, Modyfikacja i usuwanie użytkowników.
Pakiet Shadow Suite dodał następujące polecenia do
dodawania, modyfikacji i usuwania użytkowników. Są one obsługiwane z
wiersza poleceń przez parametry (mogłeś także zainstalować program
adduser).
useradd.
Polecenie useradd może zostać użyte, aby dodać użytkownika
do systemu. Wykonujesz je także, żeby zmienić domyślne ustawienia.
Pierwszą rzeczą jaką powinieneś zrobić, to sprawdzić ustawienia
domyślne na twoim systemie i odpowiednio je zmienić:
useradd -D
GROUP=1
HOME=/home
INACTIVE=0
EXPIRE=0
SHELL=
SKEL=/etc/skel
Wartości domyślne to pewnie nie są te, które chcesz używać, tak
więc jeśli zacząłbyś dodawać użytkowników teraz, to musiałbyś
podawać informacje dla każdego użytkownika. Jednak możemy i
powinniśmy zmienić wartości domyślne:
Niech domyślną grupą będzie 100
Niech hasła wygasają po 60 dniach
Niech konta nie będą blokowane po wygaśnięciu hasła
Niech domyślną powłoką będzie /bin/bash
Aby zrobić takie zmiany napisałbym:
useradd -D -g100 -e60 -f0 -s/bin/bash
Teraz uruchomienie useradd -D pokaże:
GROUP=100
HOME=/home
INACTIVE=0
EXPIRE=60
SHELL=/bin/bash
SKEL=/etc/skel
W razie gdybyś chciał wiedzieć, to wartości te są zapisywane w
/etc/default/useradd.
Teraz możesz użyć polecenia useradd, aby dodać
użytkowników do systemu. Na przykład, aby dodać użytkownika fred
używając wartości domyślnych napisałbyś:
useradd -m -c "Fred Flintstone" fred
Stworzy to następującą pozycję w /etc/passwd:
fred:*:505:100:Fred Flinstone:/home/fred:/bin/bash
oraz następującą pozycję w /etc/shadow:
fred:!:0:0:60:0:0:0:0
Utworzony zostanie katalog domowy freda oraz skopiowana zostanie
tam zawartość katalogu /etc/skel z powodu opcji -m.
Ponieważ nie podaliśmy UID-u użyty zostanie następny wolny.
Konto freda będzie utworzone, ale nie będzie on się mógł zalogować
dopóki go nie odblokujemy. Zrobimy to przez zmianę hasła:
passwd fred
Changing password for fred
Enter the new password (minimum of 5 characters)
Please use a combination of upper and lower case letters and numbers.
New Password: *******
Re-enter new password: *******
Teraz w /etc/shadow będzie:
fred:J0C.WDR1amIt6:9559:0:60:0:0:0:0
A fred będzie mógł się teraz zalogować i korzystać z
systemu. Najlepsze w użyciu programów, które przychodzą razem z
pakietem Shadow Suite jest to, że wszelkie zmiany plików
/etc/passwd i /etc/shadow są wykonywane z
tzw. blokowaniem. Ta więc jeśli dodajesz użytkownika do systemu a
inny użytkownik właśnie sobie zmienia hasło, to obie operacje
zostaną wykonane poprawnie.
Powinieneś używać raczej dostarczonych programów niż edytować
ręcznie pliki /etc/passwd i /etc/shadow. Jeśli
edytowałeś plik /etc/shadow i jakiś użytkownik zmieniał
sobie w tym samym czasie hasło, to po zapisaniu zmian dokonanych
przez ciebie nowe hasło użytkownika zginie.
Oto mały interaktywny skrypt, który dodaje nowego użytkownika
używając useradd i passwd:
#!/bin/bash
#
# /sbin/newuser - Skrypt dodający użytkowników do systemu używającego
# programów useradd z pakietu Shadow Suite i passwd.
#
# Napisany przez Mike'a Jacksona <mhjack@tscnet.com> jako przykład do
# Shadow-Password-HOWTO. Pozwolenie na używanie i modyfikacje wyraźnie dane.
#
# Możnaby ten skrypt zmodyfikować tak, żeby pokazywał wartości domyślne
# oraz pozwalał na modyfikację podobnie jak program adduser ze Slackware.
# Możnaby też sprawdzać błędy, czy głupie wartości.
#
#
##
# Wartości domyślne dla polecenia useradd
##
GROUP=100 # Domyślna grupa
HOME=/home # Katalog domowy (/home/identyfikator)
SKEL=/etc/skel # Katalog szkieletowy
INACTIVE=0 # Ilość dni, po których wygasa hasło.
EXPIRE=60 # Ilość dni, przez którą ma istnieć hasło
SHELL=/bin/bash # Domyślna powłoka (pełna ścieżka)
##
# Wartości domyślne dla polecenia passwd
##
PASSMIN=0 # Ilość dni między którą zmienia się hasło
PASSWARN=14 # Ilość dni przed wygaśnięciem hasła kiedy jest
# wysyłana wiadomość ostrzegająca.
##
# Upewnij się, że "root" uruchomił ten skrypt
##
WHOAMI=`/usr/bin/whoami`
if [ $WHOAMI != "root" ]; then
echo "You must be root to add news users!"
exit 1
fi
##
# Zapytaj o identyfikator i imię i nazwisko
##
echo ""
echo -n "Username: "
read USERNAME
echo -n "Full name: "
read FULLNAME
#
echo "Adding user: $USERNAME."
#
# Zauważ, że wymagane są "" przy $FULLNAME ponieważ pole to będzie
# prawie zawsze zawierało przynajmniej jedną spację, a bez " polecenie
# useradd "pomyślałoby", że jest to następny parametr kiedy doszłoby
# do spacji.
#
/usr/sbin/useradd -c"$FULLNAME" -d$HOME/$USERNAME -e$EXPIRE \
-f$INACTIVE -g$GROUP -m -k$SKEL -s$SHELL $USERNAME
##
# Ustaw domyślne wartości dla hasła
##
/bin/passwd -n $PASSMIN -w $PASSWARN $USERNAME >/dev/null 2>&1
##
# Niech polecenie passwd zapyta poprawnie (dwa razy) o hasło
##
/bin/passwd $USERNAME
##
# Pokaż, co zostało zrobione
##
echo ""
echo "Entry from /etc/passwd:"
echo -n " "
grep "$USERNAME:" /etc/passwd
echo "Entry from /etc/shadow:"
echo -n " "
grep "$USERNAME:" /etc/shadow
echo "Summary output of the passwd command:"
echo -n " "
passwd -S $USERNAME
echo ""
Użycie skryptu do dodawania użytkowników do systemu jest na prawdę
bardziej preferowane niż ręczna edycja plików /etc/passwd
czy /etc/shadow czy też używanie programu adduser
ze Slackware. Możesz śmiało modyfikować ten skrypt dla swoich
potrzeb.
Więcej informacji na temat useradd znajdziesz w
podręczniku systemowym.
usermod.
Program usermod używany jest do modyfikowania informacji na
temat danego użytkownika. Opcje tego programu są podobne do opcji
programu useradd.
Powiedzmy, że chcesz zmienić powłokę dla freda; zrobiłbyś to tak:
usermod -s /bin/tcsh fred
Teraz pozycja dotycząca freda w /etc/passwd zmieniłaby się
na:
fred:*:505:100:Fred Flinstone:/home/fred:/bin/tcsh
Załóżmy, że chcemy, żeby konto freda wygasło 15.09.1997:
usermod -e 09/15/97 fred <-- data w stylu angielskim-amerykańskim (mmddrr)
Teraz pozycja dotycząca freda w /etc/shadow zmieniłaby się
na:
fred:J0C.WDR1amIt6:9559:0:60:0:0:10119:0
Więcej informacji na temat usermod znajdziesz w
podręczniku systemowym.
userdel.
userdel robi dokładnie to czego się spodziewałeś - kasuje
konto podanego użytkownika. Użycie jest proste:
userdel -r <identyfikator>
Opcja -r powoduje skasowanie wszystkich plików z katalogu
domowego użytkownika. Plików zlokalizowanych w innym systemie
plików trzeba poszukać i skasować je ręcznie.
Jeśli chcesz tylko zablokować dane konto, a nie skasować to użyj
polecenia passwd.
7.2 Polecenie passwd i "termin ważności" hasła.
Polecenie passwd używane jest do zmiany hasła. Oprócz tego
używane jest przez "root-a" do:
Blokowania i odblokowywania kont (-l i -u)
Ustawiania maksymalnej ilości dni przez jaką hasło jest ważne (-x)
Ustawiania minimalnej ilości dni między zmianami hasła (-n)
Ustawiania ilości dni, po których wysyłane jest ostrzeżenie o
wygaśnięciu hasła (-w)
Ustawiania ilości dni, po której hasło wygasa przed
zablokowaniem konta (-i)
Pozwalania na przeglądanie informacji o koncie w czytelniejszym
formacie (-S)
Na przykład, spójrzmy jeszcze raz na freda:
passwd -S fred
fred P 03/04/96 0 60 0 0
Oznacza to, że hasło freda jest ważne, ostatnio było zmieniane
04.03.1996, może być zmienione w każdej chwili, wygasa po 60
dniach, fred nie zostanie ostrzeżony oraz konto nie zostanie
zablokowane po wygaśnięciu hasła.
Oznacza to po prostu tyle, że kiedy fred zaloguje się po
wygaśnięciu hasła zostanie zaraz na początku poproszony o podanie
nowego hasła.
Jeśli zdecydujemy się, że chcemy ostrzec freda na 14 dni przed
wygaśnięciem jego hasła i zablokować jego konto 14 dni po
wygaśnięciu hasła trzebaby napisać tak:
passwd -w14 -i14 fred
Teraz dane o fredzie zmianiły się na:
fred P 03/04/96 0 60 14 14
Więcej informacji na temat passwd znajdziesz w
podręczniku systemowym.
7.3 Plik login.defs
Plik /etc/login jest plikiem konfiguracyjnym dla programu
login oraz dla całego pakietu Shadow Suite.
/etc/login zawiera ustawienia od tego jak będą wyglądać
znaki zachęty do tego jakie domyślne wartości będą dla wygasania
hasła kiedy użytkownik je sobie zmieni.
Plik /etc/login.defs jest dość dobrze udokumentowany już
przez same komentarze w nim zawarte. Chociaż jest kilka rzeczy do
odnotowania:
Zawiera opcje, które mogą być włączane i wyłączane do określania
ilości zalogowań.
Zawiera wskazania na inne pliki konfiguracyjne.
Zawiera domyślne wartości dla takich ustawień jak "termin
ważności" hasła.
Z powyższej listy wynika, że jest to raczej ważny plik i powinieneś
się upewnić, że istnieje i że ustawienia są takie jak chciałeś.
7.4 Hasła dla grup.
Plik /etc/groups może zawierać hasła, które pozwalają
użytkownikom dołączyć się do jakiejś grupy. Funkcja ta jest
włączona jeśli zdefiniujesz stałą SHADOWGRP w pliku
/usr/src/shadow-YYMMDD/config.h .
Jeśli ją zdefiniujesz i skompilujesz pakiet, musisz utworzyć plik
/etc/gshadow, żeby trzymać tam hasła grup i informacje
administracyjne.
Do utworzenia pliku /etc/shadow użyłeś programu
pwconv; nie ma odpowiednika do utworzenia pliku
/etc/gshadow, ale to nie ma znaczenia bo plik ten sam się
sobą zajmuje.
Aby stworzyć początkowy plik /etc/gshadow zrób tak:
touch /etc/gshadow
chown root.root /etc/gshadow
chmod 700 /etc/gshadow
Jak będziesz tworzył nowe grupy, zostaną one dodane do
/etc/group i /etc/gshadow.
Do modyfikacji grup służą programy dostarczane wraz z pakietem
Shadow Suite: groups, groupadd,
groupmod i groupdel.
Format pliku /etc/group jest taki:
nazwa_grupy:!:GID:członek,członek,...
Gdzie:
nazwa_grupy- chyba nie wymaga wyjaśniania :)
!- w tym miejscu normalnie byłoby hasło, ale
teraz jest ono w gshadow
GID- numer grupy
członek- lista członków grupy.
Format pliku /etc/gshadow jest taki:
nazwa_grupy:hasło:admin,admin,...:członek,członek,...
Gdzie:
nazwa_grupy- chyba nie wymaga wyjaśniania :)
hasło- zakodowane hasło grupy
admin- lista administratorów grupy
członek- lista członków grupy
Polecenie gpasswd jest używane tylko do dodawania i
usuwania członków do/z grupy. "root" i każdy z administratorów
grupy może usuwać i dodawać członków.
Hasło dla grupy może być zmienione za pomocą polecenia
passwd przez "root-a" i każdego z administratorów grupy.
Chociaż nie ma strony do podręcznika systemowego dla
gpasswd, to zrozumienie opcji tego polecenia nie jest
takie trudne jak już rozumiesz jego format i
koncept. gpasswd bez żadnych parametrów poda opcje jakie
przyjmuje.
7.5 Programy do sprawdzania poprawności.
pwck
Program pwck sprawdza poprawność plików /etc/passwd
i /etc/shadow. Sprawdzi każdego użytkownika czy ma:
poprawną ilość pól,
unikalny identyfikator,
dobry UID i GID
dobrą grupę domyślną
poprawny katalog domowy
poprawną powłokę
Ostrzeże nas także jeśli znajdzie konta bez haseł.
Uruchomienie tego programu po zainstalowaniu pakietu Shadow
Suite jest dobrym pomysłem. Powinno sie go także uruchamiać
okresowo - co tydzień, co miesiąc. Jeśli użyjesz opcji -r,
to możesz użyć programu cron, aby uruchamiać pwck
okresowo i dostawać raport pocztą.
grpck
Program ten sprawdza poprawność plików /etc/group i
/etc/gshadow. Sprawdza:
ilość pól,
unikalną nazwę grupy
poprawność listy administratorów i członków.
Ma także opcję -r do automatycznych raportów.
7.6 Hasła przez telefon. (Dial-up)
Hasła przez telefon są inną opcjonalną linią obrony dla systemów,
które umożliwiają dostęp przez telefon. Jeśli masz system z dużą
ilośćią użytkowników łączących się lokalnie albo poprzez sieć, ale
chcesz ograniczyć kto może sie połączyć, to "hasła przez telefon"
są dla ciebie. Aby właczyć "hasła przez telefon" musisz wyedytować
plik /etc/login.defs i upewnić się, że
DIALUPS_CHECK_ENAB jest ustawione na yes.
Są dwa pliki, które zawierają informacje o połączeniach przez
telefon: /etc/dialups, który zawiera "tty" (jeden na linię
bez "/dev/"). Jeśli dany tty jest tam zawarty to połączenie jest
sprawdzane; oraz /etc/d_passwd z pełną ścieżką dostępu do
powłoki oraz opcjonalnym hasłem.
Jeśli użytkownik zaloguje się na linię, która jest podana w
/etc/diulups i jego powłoka jest podana w
/etc/d_passwd, to będzie mógł się zalogować tylko po
podaniu poprawnego hasła.
Innym użytecznym celem "haseł przez telefon" może być
ustawienie linii, która pozwala tylko na połączenia konkretnego
rodzaju (np. PPP lub/i UUCP). Jeśli użytkownik próbuje się połączyć
inaczej (np. listą powłok), to musi znać hasło na tę linię.
Zanim będziesz mógł używać tych właściwości musisz stworzyć te
pliki.
Polecenie dpasswd przypisuje hasła do konkretnych powłok
zawartych w pliku /etc/d_passwd. Więcej informacji
znajdziesz na stronie podręcznika systemowego.
Następna strona
Poprzednia strona
Spis treści
Wyszukiwarka
Podobne podstrony:
Shadow Password HOWTO pl 10 (2)Shadow Password HOWTO pl 8 (2)Shadow Password HOWTO pl (3)Shadow Password HOWTO pl 5 (2)Shadow Password HOWTO pl (2)Shadow Password HOWTO pl 6 (2)Shadow Password HOWTO pl 9 (2)Shadow Password HOWTO pl 2 (2)Shadow Password HOWTO pl 1 (2)Shadow Password HOWTO pl 4 (2)Shadow Password HOWTO pl 3 (2)Shadow Password HOWTO plshadow password howto 4 wrjj4xl2rttpywxk645hll3i63bvo7zfmqmiewy wrjj4xl2rttpywxk645hll3i63bvo7zfmqmishadow password howto 5 xwj2yqx7sdr7adin3jsjtftaoqyivxcflwawaqa xwj2yqx7sdr7adin3jsjtftaoqyivxcflwawshadow password howto 2 foxyypsfur2dgvcm757tzpjjjqzxkvhcxqxuazi foxyypsfur2dgvcm757tzpjjjqzxkvhcxqxushadow password howto xaxuxvyqvflgb5m452rbxlszzlk756szuoenxpa xaxuxvyqvflgb5m452rbxlszzlk756szuoenxpshadow password howto 6 wekeaom5hhmqmfgscm4mih3yeed3zer56aqewwa wekeaom5hhmqmfgscm4mih3yeed3zer56aqeshadow password howto 9 rrzkcxlxnah6g6g76dgcjvmvfeeihhseu43rxfi rrzkcxlxnah6g6g76dgcjvmvfeeihhseu43rshadow password howto 1 jvl6nxop7fpn62s67zmft74rytj65xu7oqy4xdi jvl6nxop7fpn62s67zmft74rytj65xu7oqy4więcej podobnych podstron