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