Techniczne

Przekaz podprogowy

Siedzisz sobie w kinie, gapisz się w ekran. Po godzinie seansu stwierdzasz, że masz ochotę na colę. Odżywiasz się zdrowo, nie pijasz odrdzewiaczy, nie jadasz fastfoodów.

- Pewnie mam niedobór minerałów, które są w coli. - Myślisz sobie.

Oglądasz dalej i w sumie nie chce Ci się pić, ale jakoś tak... coli byś się napił. Zaczynasz się zastanawiać jakie cholerne minerały, których nie ma w twojej diecie, mogą być w coli? Porzucasz tę myśl. Po seansie wychodzisz i w kinowym sklepiku kupujesz colę.

Ludzkie oko rejestruje 25 klatek animacji na sekundę. No właśnie...

Drupal inside...

Ślęcząc ostatnio nad drupalem odkryłem, że większość można załatwić css'ami. Chwała im za to. 90% problemów zamiotłem pod dywan za pomocą display: none; bądź porozstawiałem floatami po kątach. Praktycznie całą potrzebną mi funkcjonalność znalazłem w gotowych modułach. Schody zaczęły się przy trackbackach, więc zajrzałem do kodu, a to, co tam znalazłem opisałbym na przykładzie gry na pomysł której wpadłem, gdy po kilku godzinach dałem sobie spokój.

root bez roota

Zima przestała być przytulna i puszysta. Dla odmiany stała się wyjąca i siekąca po oczach. Brnąc przez zaspy, sapiąc i walcząc z kondycją wywinąłem orła, a obserwując z parteru wirujących nade mną braci Mroczków postanowiłem, że zamiast opiewania piękna zimy napiszę dziś o czymś bliższym pozycji, w której aktualnie się znalazłem, mianowicie o libcap, czyli pozbywaniu się praw roota z serwisów uruchamianych z roota i nie tylko.

Na przykładzie Gentoo.

Ponieważ openrc w Gentoo nie posiada wsparcia dla libcap'a musimy posłużyć się sporządzoną na prędce protezą. I tak przykładowe apache2 serwujące tę stronę można odpalić za pomocą prostego skryptu, ktory możemy sobie wrzucić, załóżmy, do /root/sbin/

#!/bin/bash

source /etc/conf.d/apache2

stop() {
/usr/sbin/apache2 -k stop
# sprawdzamy ponieważ nie zawsze chce wyłączyć wszystkie wątki
ps -C apache2 >/dev/null 2>&1
if [ "$?" == 0 ]; then
        kill -9 `ps -C apache2|awk '{print $1}'|grep -v PID`  >/dev/null 2>&1
fi
}

Subskrybuje zawartość