Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Napisałem niewielki program - dla własnych potrzeb, ale może ktoś jeszcze uzna że może być dla niego przydatny.
http://urug.net/zibu
Dlaczego go napisałem? Irytował mnie fakt, że zmieniają mi się uprawnienia plików, które mają być stałe, np. root:coder dla /usr/bin/valgrind. Nie chciałem tworzyć do tego skryptu, dlatego by poduczyć się C++ spłodziłem Zibu :)
Tworzy bazę danych plików które chcemy pilnować, następnie pozwala na porównywanie aktualnego stanu plików, z tym zapisanym w bazie danych i - jeśli taka wola - przywrócenie prawidłowych uprawnień. Baza danych zawiera sumę kontrolną, grupę, właściciela i uprawnienia pliku.
Offline
a facl/sacl? nie jest to trochę reinwencenie koła?
btw, wszelkie takie są przydatne w razie ch(mod|own) -R /
byłbym ciekaw, jak kto by sobie poradził z chmod -x /bin/chmod, zakładając żadnych busyboxów itp ;p
Offline
harry666t napisał(-a):
byłbym ciekaw, jak kto by sobie poradził z chmod -x /bin/chmod, zakładając żadnych busyboxów itp ;p
perl -e 'chmod 0700, "/bin/chmod"'
Czy cokolwiek innego wywołującego systemcall chmod.
Od biedy można podmontować lokalny system plików z jakiegoś LiveCD i sobie zmienić chmodem (programem).
rm -rf /usr/ jest poważniejszym problemem ;) .
Offline
Ale mówiliśmy tylko o chmod -x /bin/chmod.
Offline
A gdzie jest majster graficzny interfejs? Kiedy program czeka na listę plików, powinien się wyświetlić jakiś komunikat, bo niektórzy nie czytając instrukcji mogą nie zajarzyć od razu o co biega.
Jak powinna działać opcja -c? Chciałbym móc strzelić zibu -c baza.xml, ale tak nie działa. Program próbuje mi wczytać plik /var/lib/zibu/zibu.xml, ale z racji że wszystko robię z pod zwykłego usera, taki plik nie istnieje.
Offline
Istnieje flaga -d która pozwala Ci podać alternatywną ścieżkę do bazy danych.
Przykład:
echo "/bin/ps" | ./zibu --init -o zibu.xml
a później
chmod 700 /bin/ps
i
./zibu --compare -d zibu.xml -c
Ja u siebie to organizuje tak, w pliku /etc/zibu.list mam listę plików.
Generuję bazę danych
cat /etc/zibu.list | zibu --init -o /var/lib/zibu/zibu.xml
Następnie do crona mam dopisane:
zibu -c -r /var/log/zibu.log
--compare jest zawsze opcjonalne, bo to domyślny tryb pracy.
PS.
Liczyłem na to, że ewentualny użytkownik przeczyta chociaż ./zibu --help - gdzie jest napisane że --init i --update wczytują ze standard input. Jest to również w dokumentacji.
Może program nie jest zbyt user friendly, ale kurde - ciężko napisać coś co będzie można używać od razu po ściągnięciu bez czytania czegokolwiek :-( Starałem się.
Dodałem komunikat po wpisaniu ./zibu --update i ./zibu --init. Dziękuje za zgłoszenie błędu :)
Ostatnio edytowany przez urug (2008-09-22 11:18:47)
Offline
Minio napisał(-a):
harry666t napisał(-a):
byłbym ciekaw, jak kto by sobie poradził z chmod -x /bin/chmod, zakładając żadnych busyboxów itp ;p
perl -e 'chmod 0700, "/bin/chmod"'
Czy cokolwiek innego wywołującego systemcall chmod.
więc utrudniamy zadanie. chmod -x na wszystkie binarki wywołujące tego syscalla (ale nie na inne :P)
Offline
a gdy nie masz fizycznego dostępu do skrzynki, lub skrzynka nie ma możliwości "gadania" z zewnętrznymi nośnikami pamięci, nie może być rebootowana (np. w tle mieli jakieś numerki i nie wolno przerwać symulacji) i nie masz możliwości kompilowania / instalowania programów? (:
Offline
/lib/ld-2.6.1.so /bin/chmod +x /bin/chmod
teoretycznie powinno zadzialac ;]
//Przetestowane, dziala ;)
//Uprzedzając pytanie, jak /lib/ld-* nie ma +x to system nie ma prawa dzialać, jest to linker aplikacji, ładuje dynamiczne biblioteki i plik wykonywalny do pamięci ;)
Ostatnio edytowany przez milyges (2008-09-22 15:26:03)
Offline
//Uprzedzając pytanie, jak /lib/ld-* nie ma +x to system nie ma prawa dzialać
milyges, oficjalnie dostajesz jedynie 1012 (na 1337 możliwych) punktów (:
http://www.hezmatt.org/~mpalmer/blog/general/when_y … ure_good.html
Offline
/bin/chmod -x /bin/chmod
dokładnie takim pytaniem zabili mnie na rozmowie w sprawie pracy
Offline