Instalowanie Shadow-4.0.3

Estimated build time:           0.4 SBU
Estimated required disk space: 11 MB

Zawartość Shadow

Pakiet Shadow został utworzony aby wzmocnić bezpieczeństwo systemu haseł.

Instalowane programy: chage, chfn, chpasswd, chsh, dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (link do newgrp), useradd, userdel, usermod, vigr (link do vipw) oraz vipw

Zależności Instalacyjne Shadow

Shadow zależy od: Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.

Instalowanie Shadow

Programy login, getty oraz init (i kilka innych) utrzymują trochę plików logów do zapisywania, kto jest i kto był zalogowany w systemie. Te programy jednak, nie tworzą tych plików logów, kiedy ich nie ma, więc jeśli chcesz, żeby te logowania były zapisywane, to musisz samodzielnie utworzyć te pliki. Pakiet Shadow musi wykryć je w ich właściwych miejscach, więc utworzymy je już teraz, nadając im ich właściwe uprawnienia (their proper permissions):

touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}

Plik /var/run/utmp wymienia użytkowników, którzy są aktualnie zalogowani, plik /var/log/wtmp tych, którzy byli zalogowani, i kiedy. Plik /var/log/lastlog pokazuje o każdym użytkowniku. kiedy ostatnio był(a) zalogowany(a), a plik /var/log/btmp wymienia nieudane próby zalogowania się.

Shadow wpisuje na stałe ścieżkę do pliku binarnego passwd w nim samym, ale robi to w nieodpowiedni sposób. Jeśli nie ma w systemie binarium passwd przed instalacją Shadow,  to pakiet nieprawidłowo przyjmuje, że będzie ono umieszczone w /bin/passwd, zaś instaluje je wtedy w /usr/bin/passwd. To będzie powodować błędy związane z nieznalezieniem /bin/passwd. Aby obejść tą usterkę, utwórz lipny plik passwd, żeby została wpisana prawidłowo:

touch /usr/bin/passwd

Aktualny zestaw Shadow ma problem, który powoduje błąd komendy newgrp. Następująca łatka (również występująca w kodzie Shadow'a CVS) naprawi ten problem:

patch -Np1 -i ../shadow-4.0.3-newgrp-fix.patch

Teraz przygotuj Shadow do kompilacji:

./configure --prefix=/usr --libdir=/usr/lib --enable-shared

Skompiluj pakiet:

make

I instaluj go:

make install

Shadow używa dwóch plików do konfigurowanie ustawień autentykacji dla systemu. Zainstaluj te pliki konfiguracyjne:

cp etc/{limits,login.access} /etc

Chcemy zmienić metodę szyfrowania haseł, aby używać haseł MD5 które są teoretycznie bezpieczniejsze niż domyślna metoda szyfrowania "crypt" i pozwalają stoswać hasła dłuższe niż 8 znaków. Musimy również zmienić położenie skrzynek pocztowych użytkowników ze starego /var/spool/mail na aktualne /var/mail. Zrobimy to zmieniając odpowiedni plik konfiguracyjny przez sokpiowanie go na właściwe miejsce przeznaczenia:

sed -e 's%/var/spool/mail%/var/mail%' \
-e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \
etc/login.defs.linux > /etc/login.defs

Uwaga: Bądź super-uważna przy wpisywaniu tego, co powyżej. Prawdopodobnie jest bezpieczniejsze wycinanie i wklejanie, niż pisanie tego ręcznie.

Zgodnie z manualem dla vipw, program vigr powinien również istnieć. Ponieważ procedura instalacyjne nie tworzy go, zrób dowiązanie symboliczne ręcznie:

ln -s vipw /usr/sbin/vigr

Ponieważ symlink /bin/vipw jest nadmiarowy (redundant) i wskazuje na nieistniejący plik, usuń go:

rm /bin/vipw

Teraz przenieś program sg na jego właściwe miejsce:

mv /bin/sg /usr/bin

I przenieś dynamiczne biblioteki Shadow'a na bardziej odpowiednie miejsce:

mv /usr/lib/lib{shadow,misc}.so.0* /lib

Ponieważ niektóre pakiety spodziewają się znaleźć dopiero co przeniesione biblioteki w /usr/lib, utwórz następujące symlinki:

ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so

Coreutils już zainstalowały program groups w katalogu /usr/bin. Jeśli chcesz, to możesz usunąć ten zainstalowany przez Shadow:

rm /bin/groups

Configurowanie Shadow

Ten pakiet zawiera użytki do modyfikowania haseł użytkowników, dodawania lub usuwania użytkowników i grup itp. Nie będziemy tu wyjaśnieć, co oznacza 'password shadowing'. Pełne objaśnienie można znaleźć w pliku doc/HOWTO w rozpaokwanym drzewie źródeł Shadow'a.  O jednej rzeczy musisz pamiętać, jeśli decydujesz się na utrzymywanie obsługi Shadow: programy, które muszą sprawdzać hasła (na przykład xdm, demony ftp, demony pop3) muszą być "zgodne z shadow"-- 'shadow-compliant', to znaczy że muszą być w stanie pracować z hasłami zakrywanymi.

Aby włączyć hasła zakrywane, wykonaj następującą komendę:

/usr/sbin/pwconv

A, żeby włączyć hasła zakrywane dla grup, wykonaj następującą komendę:

/usr/sbin/grpconv

W normalnych warunkach nie masz jeszcze utworzonych żadnych haseł. Jednak, jeśli powróciłaś do tej sekcji, aby włączyć obsługę haseł zakrywanych, to powinnaś resetować wszelkie hasła użytkowników komendą passwd lub wszelkie hasła grup komendą gpasswd.