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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2018-08-19 01:58:29

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20

AppArmor i profil dla /usr/bin/chromium

Wreszcie ogarnąłem w systemie AppArmor.
Może ktoś doradzić skąd pobrać profil dla Chromium?


Prawo jest jak płot, wąż się prześlizgnie, tygrys przeskoczy a bydło się nie rozbiega.

Offline

 

#2  2018-08-19 09:50:01

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: AppArmor i profil dla /usr/bin/chromium

Chodzi o to:

Kod:

/etc/apparmor.d/usr.bin.chromium-browser

???

Wisi na liście tutaj:
https://packages.debian.org/sid/all/apparmor-profiles/filelist


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2018-08-19 10:51:13

  Yampress - Imperator

Yampress
Imperator
Zarejestrowany: 2007-10-18

Re: AppArmor i profil dla /usr/bin/chromium

przecież jest mnóstwo osób w internecie co tworzy swopje profile, można ściągnąć, przejrzeć, przerobić pod siebie

Offline

 

#4  2018-08-19 11:41:04

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20

Re: AppArmor i profil dla /usr/bin/chromium

[quote=Jacekalex]Chodzi o to:

Kod:

/etc/apparmor.d/usr.bin.chromium-browser

???

Wisi na liście tutaj:
https://packages.debian.org/sid/all/apparmor-profiles/filelist[/quote]
Na liście jest w pliku instalacyjnym nie ma.


Prawo jest jak płot, wąż się prześlizgnie, tygrys przeskoczy a bydło się nie rozbiega.

Offline

 

#5  2018-08-19 11:57:02

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: AppArmor i profil dla /usr/bin/chromium

To zobacz tutaj:
https://github.com/morfikov/files/blob/master/configs/etc/apparmor.d/usr.bin.chromium
Chociaż ten jest troszkę dziwny, obejrzyj i przerób sobie profile do chrome w razie czego.
Tu masz wszyskie:
https://github.com/morfikov/files/tree/master/configs/etc/apparmor.d

W razie czego Autora masz na forum... xD

Ostatnio edytowany przez Jacekalex (2018-08-19 12:27:35)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2018-08-19 12:28:50

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20

Re: AppArmor i profil dla /usr/bin/chromium

[quote=Jacekalex]To zobacz tutaj:
https://github.com/morfikov/files/blob/master/configs/etc/apparmor.d/usr.bin.chromium
Chociaż ten jest troreszke dziwny, obejrzyj i przerób sobie profile do chrome w razie czego.[/quote]
Na tym Chromium się nie uruchamia.

[quote=Jacekalex]Tu masz wszyskie:
https://github.com/morfikov/files/tree/master/configs/etc/apparmor.d[/quote]
Na tym:

Kod:

usr.lib.chromium.chromium

Również się nie uruchamia.

Chyba zrezygnuje z tego, nie bez powodu wyrzucili to z paczek Debiana.


Prawo jest jak płot, wąż się prześlizgnie, tygrys przeskoczy a bydło się nie rozbiega.

Offline

 

#7  2018-08-19 12:40:17

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: AppArmor i profil dla /usr/bin/chromium

Jak chcesz się bawić Apparmorem, to musisz nauczyć się patrzeć w logi apparmora,
czasem coś poprawiać w profilach.

Napisałęm, zebyć zobaczył u Morfika profile do Chrome, i nawyżej przystosował je do Chromium.
Chromium i Chrome to praktycznie ta sama przeglądarka, ścieżki w systemie ma tylko troszkę inne.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2018-08-19 14:15:00

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: AppArmor i profil dla /usr/bin/chromium

[quote=Jacekalex]To zobacz tutaj:
https://github.com/morfikov/files/blob/master/configs/etc/apparmor.d/usr.bin.chromium
Chociaż ten jest troszkę dziwny, obejrzyj i przerób sobie profile do chrome w razie czego.
Tu masz wszyskie:
https://github.com/morfikov/files/tree/master/configs/etc/apparmor.d

W razie czego Autora masz na forum... xD[/quote]
Jak coś to aktualne repozytorium jest na gitlab:
https://gitlab.com/morfikov/debian-files/tree/master/configs/etc/apparmor.d

Choć i tak trzeba by je uaktualnić ale ostatnio trochę mieszają i ciągle jakieś pliki wchodzą lub wypadają, to zmieniam sobie póki co tylko lokalnie. xD

Offline

 

#9  2018-08-19 14:17:15

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: AppArmor i profil dla /usr/bin/chromium

[quote=loms][quote=Jacekalex]To zobacz tutaj:
https://github.com/morfikov/files/blob/master/configs/etc/apparmor.d/usr.bin.chromium
Chociaż ten jest troreszke dziwny, obejrzyj i przerób sobie profile do chrome w razie czego.[/quote]
Na tym Chromium się nie uruchamia.

[quote=Jacekalex]Tu masz wszyskie:
https://github.com/morfikov/files/tree/master/configs/etc/apparmor.d[/quote]
Na tym:

Kod:

usr.lib.chromium.chromium

Również się nie uruchamia.

Chyba zrezygnuje z tego, nie bez powodu wyrzucili to z paczek Debiana.[/quote]
Możesz też wziąść profil np. z Ubuntu ale nie licz, że to będzie od razu działać bez modyfikacji.

[b]Dla bezpieczeństwa używaj wyłącznie przeglądarek, które są dostarczane z oficjalnymi profilami AppArmor dla stabilnego Debiana np. TorBrowser[/b]

Offline

 

#10  2018-08-19 15:22:49

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: AppArmor i profil dla /usr/bin/chromium

Do przeglądarek używam firejail (wygodniejsza konfiguracja), który i tak może natywanie współpracować z AA. Poziom ochrony zbliżony. Można odpalić przeglądarkę razem z dodatkowym serwerem X i takim Openboksem w zupełnie niezależnej piaskownicy.
Chyba przetestuję to rozwiązanie w praktyce ;)

Offline

 

#11  2018-08-19 16:18:13

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: AppArmor i profil dla /usr/bin/chromium

Jak chcesz mieć jeszcze wyższy poziom bezpieczeństwa to może używaj przeglądarki z AppArmorem w
wydzielonej maszynie wirtualnej, która będzie się automatycznie przywracać do stanu oryginalnego przed każdym uruchomieniem ?

a system hostujący tak czysty jak to tylko możliwe, nie używany bezpośrednio do internetu i z minimalną ilością pakietów

Offline

 

#12  2018-08-19 17:36:11

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: AppArmor i profil dla /usr/bin/chromium

Zawsze można jeszcze założyć aluminiową folię na głowę…

Offline

 

#13  2018-08-19 21:02:03

  Yampress - Imperator

Yampress
Imperator
Zarejestrowany: 2007-10-18

Re: AppArmor i profil dla /usr/bin/chromium

Ale profil chromium wymaga chyba 3 dodatkowych plikow profilowych i 3  innych z abstrakcji. Upewniles sie ze wszystkie masz?

Offline

 

#14  2018-08-19 21:25:30

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20

Re: AppArmor i profil dla /usr/bin/chromium

[quote=Yampress]Ale profil chromium wymaga chyba 3 dodatkowych plikow profilowych i 3  innych z abstrakcji. Upewniles sie ze wszystkie masz?[/quote]
Jak załadowałem te 3 profile:

Kod:

usr.bin.chromium
usr.lib.chromium.chrome-sandbox
usr.lib.chromium.chromium

Do tego 4 z abstrakcji:

Kod:

audio-strict
dri-enumerate
drm
gtk

To przeglądarka ruszyła ale na każdej ze stron wyświetla:

Ta witryna jest nieosiągalna
Nie udało się znaleźć adresu IP serwera ze stroną www.frazpc.pl.
Wypróbuj te rozwiązania:

Sprawdź połączenie
Sprawdź serwer proxy, zaporę sieciową i konfigurację DNS
ERR_NAME_NOT_RESOLVED[/quote]
Może wpływ ma na to, że uruchamiam ją w trybie incognito?

Logi:

Kod:

Aug 19 21:17:20 artur-h81m-e33 kernel: [35232.274913] audit: type=1400 audit(1534706240.120:40): apparmor="STATUS" operation="profile_load" name="/usr/lib/chromium/chromium" pid=13136 comm="apparmor_parser"
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.168510] audit: type=1400 audit(1534706267.012:41): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/sys/devices/system/cpu/" pid=13149 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.168851] audit: type=1400 audit(1534706267.012:42): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/proc/13149/status" pid=13149 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.169039] audit: type=1400 audit(1534706267.012:43): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/sys/devices/system/cpu/" pid=13149 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.169154] audit: type=1400 audit(1534706267.012:44): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/proc/13149/status" pid=13149 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.239448] audit: type=1400 audit(1534706267.084:45): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/sys/devices/system/cpu/" pid=13163 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.239744] audit: type=1400 audit(1534706267.084:46): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/proc/13163/status" pid=13163 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.239928] audit: type=1400 audit(1534706267.084:47): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/sys/devices/system/cpu/" pid=13163 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.240049] audit: type=1400 audit(1534706267.084:48): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/proc/13163/status" pid=13163 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.267395] audit: type=1400 audit(1534706267.112:49): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/proc/13163/status" pid=13163 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Aug 19 21:17:47 artur-h81m-e33 kernel: [35259.272268] audit: type=1400 audit(1534706267.116:50): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/sys/devices/system/cpu/" pid=13163 comm="chromium" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Aug 19 21:17:47 artur-h81m-e33 chromium[13149]: Failed to load module "canberra-gtk-module"
Aug 19 21:17:47 artur-h81m-e33 dbus[454]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service'
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13191:13191:0819/211747.379614:ERROR:gl_context_glx.cc(187)] Failed to create GL context with glXCreateNewContext.
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13191:13191:0819/211747.379670:ERROR:gpu_info_collector.cc(58)] gl::init::CreateGLContext failed
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13191:13191:0819/211747.379678:ERROR:gpu_info_collector.cc(153)] Could not create context for info collection.
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13191:13191:0819/211747.379706:ERROR:gpu_init.cc(49)] gpu::CollectGraphicsInfo failed.
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13191:13191:0819/211747.439177:ERROR:viz_main_impl.cc(201)] Exiting GPU process due to errors during initialization
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: LaunchProcess: failed to execvp:
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: xdg-desktop-menu
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13237:13237:0819/211747.596025:ERROR:gl_implementation.cc(292)] Failed to load /usr/lib/chromium/swiftshader/libGLESv2.so: /usr/lib/chromium/swiftshader/libGLESv2.so: nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13237:13237:0819/211747.600763:ERROR:viz_main_impl.cc(201)] Exiting GPU process due to errors during initialization
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13149:13166:0819/211747.606968:ERROR:browser_gpu_channel_host_factory.cc(119)] Failed to launch GPU process.
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13149:13149:0819/211747.607190:ERROR:gpu_process_transport_factory.cc(1016)] Lost UI shared context.
Aug 19 21:17:47 artur-h81m-e33 chromium.desktop[13149]: [13149:13149:0819/211747.656926:ERROR:CONSOLE(0)] "Slow network is detected. See https://www.chromestatus.com/feature/5636954674692096 for more details. Fallback font will be used while loading: chrome://resources/roboto/roboto-regular.woff2", source:  (0)
Aug 19 21:17:51 artur-h81m-e33 chromium.desktop[13149]: [13149:13184:0819/211751.688557:ERROR:udev_watcher.cc(60)] Failed to begin udev enumeration.
Aug 19 21:17:56 artur-h81m-e33 chromium.desktop[13149]: [13149:13149:0819/211756.310915:ERROR:CONSOLE(0)] "Slow network is detected. See https://www.chromestatus.com/feature/5636954674692096 for more details. Fallback font will be used while loading: chrome://resources/roboto/roboto-regular.woff2", source:  (0)
Aug 19 21:19:14 artur-h81m-e33 kernel: [35346.371015] audit_printk_skb: 93 callbacks suppressed
Aug 19 21:19:14 artur-h81m-e33 kernel: [35346.371015] audit: type=1400 audit(1534706354.217:82): apparmor="STATUS" operation="profile_remove" name="/usr/bin/chromium" pid=13354 comm="apparmor_parser"
Aug 19 21:19:24 artur-h81m-e33 kernel: [35356.806208] audit: type=1400 audit(1534706364.649:83): apparmor="STATUS" operation="profile_remove" name="/usr/lib/chromium/chromium" pid=13360 comm="apparmor_parser"
Aug 19 21:19:44 artur-h81m-e33 kernel: [35377.089844] audit: type=1400 audit(1534706384.933:84): apparmor="STATUS" operation="profile_remove" name="/usr/lib/chromium/chrome-sandbox" pid=13366 comm="apparmor_parser"
Aug 19 21:19:47 artur-h81m-e33 kernel: [35379.655836] audit: type=1400 audit(1534706387.502:85): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/proc/13149/status" pid=13149 comm="Chrome_IOThread" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Aug 19 21:19:47 artur-h81m-e33 kernel: [35379.655858] audit: type=1400 audit(1534706387.502:86): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/proc/13296/status" pid=13149 comm="Chrome_IOThread" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Aug 19 21:19:47 artur-h81m-e33 kernel: [35379.655891] audit: type=1400 audit(1534706387.502:87): apparmor="DENIED" operation="open" profile="/usr/lib/chromium/chromium" name="/proc/13324/status" pid=13149 comm="Chrome_IOThread" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

Prawo jest jak płot, wąż się prześlizgnie, tygrys przeskoczy a bydło się nie rozbiega.

Offline

 

#15  2018-08-19 21:57:51

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: AppArmor i profil dla /usr/bin/chromium

logi mówią że apparmor zablokował przeglądarce dostęp do czytania plików sys/devices/system/cpu/ i /proc/13149/status czyli brak:

/sys/devices/system/cpu/ r,
@{PROC}/@{pid}/status r

Offline

 

#16  2018-08-20 10:54:59

  Yampress - Imperator

Yampress
Imperator
Zarejestrowany: 2007-10-18

Re: AppArmor i profil dla /usr/bin/chromium

Morfik ma bardzo restrykcyjne reguły czasami, profile powiazane z abstrakcjami itp
]:>
raczej dokładnie przejżyj każdego...

Offline

 

#17  2018-08-20 12:07:20

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: AppArmor i profil dla /usr/bin/chromium

Mój profil do chromium generowany "od Adama i Ewy" na Gentoo (na Debianie raczej na pewno nie zadziala prawidłowo, ale daje pojęcie o problemie):
http://wklej.dug.net.pl/5258

Chromium był kompilowany ze wsparciem dla user_namespaces (bez bitu SUID),
dlatego nie  wymagał i nie używał chrome-sandbox (który w ogóle się nie zbudował).

Ostatnio edytowany przez Jacekalex (2018-08-20 12:32:00)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#18  2018-08-20 15:07:47

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: AppArmor i profil dla /usr/bin/chromium

U mnie działa ten profil co mam. :]

[img]https://i.imgur.com/0YP460u.png[/img]

Tam jeszcze chce coś od DRI, to trzeba by mu dodać, a poza tym, to ten profil jest w zasadzie pod mojego chrome, tj. tego działającego u mnie w systemie. Inne systemy mogą używać innych plików i bez ich określenia appka się nie uruchomi. Nawet w SID jak coś zmieniają, np. dają aktualizacje samej appki, lub jednej z bibliotek, które ona wykorzystuje, i już jest spore prawdopodobieństwo, że trzeba będzie jakieś pliki pododawać.

Reguły są restrykcyjne i na innych systemach trzeba je sobie dostosować. Ja nie mam całej masy różnych opcji w systemie by przetestować jakoś szerzej te profile. xD

Ja w zasadzie jak buduje profile, to najpierw zbieram listę plików, które appka chce, potem appka chodzi sobie przez kilka dni/tygodni na trybie complain, a później to blokuje wszystkie pliki, które nie wpływają zbytnio na działanie aplikacji (nie generują błędów przy działaniu, lub ostrzeżeń w logu systemowym). A później to staram się tylko śledzić co się dzieje w systemie (aktualizacje) i zmieniać profile odpowiednio myśląc przy tym czy może niektóre reguły da się inaczej określić, by nie trzeba było ciągle czegoś poprawiać. xD

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.022 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00157 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.142.198.51' WHERE u.id=1
0.00065 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.142.198.51', 1732216509)
0.00043 SELECT * FROM punbb_online WHERE logged<1732216209
0.00052 SELECT topic_id FROM punbb_posts WHERE id=320687
0.00077 SELECT id FROM punbb_posts WHERE topic_id=30591 ORDER BY posted
0.00065 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30591 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00146 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30591 ORDER BY p.id LIMIT 0,25
0.00317 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30591
Total query time: 0.00947 s