chrooty
Mariusz Mazur
mmazur w kernel.pl
Pon, 28 Paź 2002, 21:22:05 CET
W załączniku patchyk pozwalający na bezpieczne używanie rc-scriptsów w
chrootach (i na zewnątrz... coby sshd stop nie zabijał demonów w różnych
chrootach). Na razie są z nim trzy problemy (pomijając to, że go jeszcze zbyt
dokładnie nie przetestowałem... ale wygląda, że nie ma prawa nie działać).
Pierw krótkie wprowadzenie. Jeśli wejdziemy sobie do katalogu /proc/<pid> i
zrobimy 'ls -l root' to albo wypluje się błąd (wtedy to jest proces spoza
naszego chroota), albo pokaże się, że root jest linkiem do jakiegoś katalogu
(w przeważającej większości jest to / ) i wtedy wiemy, że jest to "nasz"
proces :)
Teraz problemy:
1. Różne wcześniej chrootowane demony. Np. bind ląduje w chroocie. Na razie
wymyśliłem dwa rozwiązania. W patchyku dla własnej wygody jest zakodowana
odpowiednia ścieżka coby bind działał jak trzeba, przy czym imho właściwym
rozwiązaniem jest to, żeby każdy init skrypt demona który używa jakiegoś
chroota definiował sobie zmienną CHROTTODIR=/var/lib/named (w przypadku
binda). Zostało coś takiego też uwzględnione w patchu (przy czym trza by
jeszcze poszukać innych chrootowanych demonów... póki co jeśli komuś naprawdę
zależy na korzystaniu z tego patcha to można te wszystkie ścieżki zakodować
na stałę i gdzieś wystawić patcha... powinien działać przy czym to będzie
prowizorka :)
2. Jestem awkowa noga, także użyłem sed'a... Niech to ktoś na awka przepisze
tylko tak, żeby działało :) (to samo się dotyczy różnych posix-sh
niekompatybilności jeśli są takowe)
3. Ponieważ nie wiem jak działają różne pliki z pidami (czy też komenda pidof)
więc na wszelki wypadek pidy wyciągnięte z tych plików (cośtam /var/subsystem
czy coś) też są sprawdzane pod kątem chrootowej poprawności. Jeśli ktoś jest
100% przekonany, że nie jest to konieczne to niech powywala wywołania do
funkcji filterchrooted z odpowiednich miejsc (chociaż lepiej być safe than
sorry :).
To by było na tyle. A ja idę się jeszcze popodniecać, że wreszcie na swoim
chrootowanym builderku mogę w świętym spokoju używać rc-scriptsów do obsługi
demonów :)
--
Każdy człowiek, który naprawdę żyje, nie ma charakteru, nie może go mieć.
Charakter jest zawsze martwy, otacza cię zgniła struktura przeniesiona z
przeszłości. Jeżeli działasz zgodnie z charakterem wtedy nie działasz w ogóle
- jedynie mechanicznie reagujesz. { Osho }
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: płaszczyk.patch
Type: text/x-diff
Size: 2868 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-rc-scripts/attachments/20040626/f7789671/paszczyk.bin
Więcej informacji o liście dyskusyjnej pld-rc-scripts