Przesłanianie haseł (Shadow Password): Kompilacja programów.
Następna strona
Poprzednia strona
Spis treści
4. Kompilacja programów.
4.1 Rozpakowywanie archiwów.
Pierwszym krokiem po ściągnięciu programu jest rozpakowanie
go. Pakiet jest w formie starowanej i skompresowany programem
gzip, tak więc najpierw przenieś go do /usr/src, a potem
napisz:
tar -xzvf shadow-current.tar.gz
Powstanie katalog /usr/src/shadow-RRMMDD, w którym znajdą
się źródła pakietu.
4.2 Konfiguracja w pliku config.h
Pierwszą rzeczą jaką musisz zrobić, to skopiować odpowiednie pliki
Makefile i config.h:
cd /usr/src/shadow-RRMMDD
cp Makefile.linux Makefile
cp config.h.linux config.h
Potem powinieneś przejrzeć plik config.h. Zawiera on
definicje dla niektórych opcji konfiguracyjnych. Jeśli używasz
zalecanego pakietu, to polecam wyłączenie na początek
przesłanianie haseł grup.
Domyślnie opcja ta jest włączona. Aby to wyłączyć, wyedytuj plik
config.h i zmień #define SHADOWGRP na
#undef SHADOWGRP. Na początek proponuje to wyłaczyć, a później
jak będziesz chciał haseł dla grup i administratorów grup, to
możesz przekompilować pakiet. Jeśli zostawisz tę opcję włączoną
musisz stworzyć plik /etc/gshadow.
Włączanie opcji pozwalającej na dłuższe hasła nie jest
zalecane - patrz wyżej.
Opcja AUTOSHADOW została zaprojektowana, aby umożliwić
działanie programom, które ignorują przesłanianie
haseł. Teoretycznie brzmi to dobrze, ale niestety nie działa
poprawnie. Jeśli właczysz tę opcję i program zostanie uruchomiony z
przywilejami "root-a", może on wywołać funkcję getpwnam()
jako "root", a później zapisać zmienioną pozycję spowrotem do
pliku /etc/passwd (i hasło nie jest już przesłonięte).
Do takich programów zaliczają się chfn i chsh. (Nie możesz obejść
tego przez zamianę rzeczywistego uid z efektywnym uid przed
wywołaniem funkcji getpwnam() ponieważ root także może
używać chfn i chsh.)
To samo ostrzeżenie jest słuszne jeśli kompilujesz bibliotekę libc,
która posiada opcję SHADOW_COMPAT, która robi to
samo. Nie powinna ona być używana! Jeśli zakodowane hasła
zaczną się pojawiać spowrotem w pliku /etc/passwd, to to
właśnie jest przyczyną.
Jeśli używasz wcześniejszej wersji biblioteki niż 4.6.27,
będziesz musiał zrobić trochę więcej zmian w pliku
config.h i Makefile.
W pliku config.h zmień:
#define HAVE_BASENAME
na:
#undef HAVE_BASENAME
A następnie w pliku Makefile zmień:
SOBJS = smain.o env.o entry.o susetup.o shell.o \
sub.o mail.o motd.o sulog.o age.o tz.o hushed.o
SSRCS = smain.c env.c entry.c setup.c shell.c \
pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \
tz.c hushed.c
na:
SOBJS = smain.o env.o entry.o susetup.o shell.o \
sub.o mail.o motd.o sulog.o age.o tz.o hushed.o basename.o
SSRCS = smain.c env.c entry.c setup.c shell.c \
pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \
tz.c hushed.c basename.c
Zmiany te powodują zawarcie kodu z basename.c, który zawiera
się w libc 4.6.27 i późniejszych.
4.3 Kopie zapasowe twoich oryginalnych programów.
Dobrym pomysłem będzie zrobienie kopii zapasowych programów, które
zostaną zamienione przez Shadow Suite. W dystrybucji
Slackware 3.0 są to:
/bin/su
/bin/login
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/id
Pakiet w wersji BETA ma możliwość wykonania tego poprzez program
make, ale jest to w komentarzu w pliku Makefile, ponieważ różne
dystrybucje umieszczają te programy w różnych miejscach. Można to
zrobić pisząc: make save, ale najpierw trzeba skasować
znaki # z pliku Makefile od linii: save:
Powinieneś także zrobić kopię zapasową pliku /etc/passwd,
ale bądź ostrożny, żebyś nie zmazał programu passwd w katalogu
/etc.
4.4 Polecenie make
Aby zainstalować pakiet musisz być zalogowany jako "root".
Uruchom make, aby skompilować programy wykonywalne:
make all
Możesz zobaczyć ostrzeżenie: rcsid defined but not
used. Wszystko jest w porządku, ponieważ autor używa wersji
kontrolnej pakietu.
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 7 (2)Shadow Password HOWTO pl 1 (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