Amiről beszélek, az Fedora 21-en még működött. Adva van egy Fedora 22 live, szeretném indítani a hostapd-t, erre ilyeneket beszél:
máj 29 14:14:59 twenty-two systemd[1]: Starting Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator...
máj 29 14:14:59 twenty-two hostapd[1776]: Configuration file: /etc/hostapd/hostapd.conf
máj 29 14:14:59 twenty-two audit[1776]: <audit-1400> avc: denied { net_admin } for pid=1776 comm="hostapd" capability=12 scontext=system_u:system_r:hostapd_t:s0 tcontext=system_u:s
ystem_r:hostapd_t:s0 tclass=capability permissive=0
máj 29 14:14:59 twenty-two audit[1776]: <audit-1400> avc: denied { net_admin } for pid=1776 comm="hostapd" capability=12 scontext=system_u:system_r:hostapd_t:s0 tcontext=system_u:s
ystem_r:hostapd_t:s0 tclass=capability permissive=0
máj 29 14:14:59 twenty-two audit[1776]: <audit-1400> avc: denied { net_admin } for pid=1776 comm="hostapd" capability=12 scontext=system_u:system_r:hostapd_t:s0 tcontext=system_u:s
ystem_r:hostapd_t:s0 tclass=capability permissive=0
máj 29 14:14:59 twenty-two hostapd[1776]: Could not set interface wlp0s26f7u3 flags (UP): Operation not permitted
máj 29 14:14:59 twenty-two hostapd[1776]: nl80211: Could not configure driver mode
máj 29 14:14:59 twenty-two hostapd[1776]: nl80211: deinit ifname=wlp0s26f7u3 disabled_11b_rates=0
máj 29 14:14:59 twenty-two audit[1776]: <audit-1400> avc: denied { net_admin } for pid=1776 comm="hostapd" capability=12 scontext=system_u:system_r:hostapd_t:s0 tcontext=system_u:s
ystem_r:hostapd_t:s0 tclass=capability permissive=0
máj 29 14:14:59 twenty-two audit[1776]: <audit-1400> avc: denied { net_admin } for pid=1776 comm="hostapd" capability=12 scontext=system_u:system_r:hostapd_t:s0 tcontext=system_u:s
ystem_r:hostapd_t:s0 tclass=capability permissive=0
máj 29 14:14:59 twenty-two hostapd[1776]: nl80211 driver initialization failed.
máj 29 14:14:59 twenty-two hostapd[1776]: wlp0s26f7u3: interface state UNINITIALIZED->DISABLED
máj 29 14:14:59 twenty-two hostapd[1776]: wlp0s26f7u3: AP-DISABLED
máj 29 14:14:59 twenty-two hostapd[1776]: hostapd_free_hapd_data: Interface wlp0s26f7u3 wasn't started
máj 29 14:14:59 twenty-two systemd[1]: hostapd.service: control process exited, code=exited status=1
máj 29 14:14:59 twenty-two systemd[1]: Failed to start Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator.
máj 29 14:14:59 twenty-two systemd[1]: Unit hostapd.service entered failed state.
máj 29 14:14:59 twenty-two systemd[1]: hostapd.service failed.
máj 29 14:14:59 twenty-two audit[1]: <audit-1130> pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=hostapd comm="systemd" exe="/usr/lib/systemd/sys
temd" hostname=? addr=? terminal=? res=failed'
Amennyiben nem service-ként indítom a hostapd, hanem simán, ahogy az a unit file-ban le van írva, akkor működik. Merre tovább?
- 2184 megtekintés
Hozzászólások
Úgy tűnik már hibajegy is van rá (mintha benne lenne egy lehetséges megoldás is)
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen, tényleg ez a bug az. Vagy megvárom, amíg kijavítják, vagy a post install scriptek közé kell írjam a megoldást, lévén egy általam farigcsált live-ról van szó.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Esetleg kikúrni a selinuxot?
- A hozzászóláshoz be kell jelentkezni
Szuper otlet valoban, ahelyett, hogy a fenti linken levo megoldast kb. 20 mp alatt felhasznalna.
--
L
- A hozzászóláshoz be kell jelentkezni
Rogton utana pedig rm -rf /, aztan postolni facebookra a bankkartya adatokat, nemde?
- A hozzászóláshoz be kell jelentkezni
Annál azért az audit2allow hosszú távon jobb ötlet (meg persze megérteni és megtanulni együttműködni a selinuxszal).
- A hozzászóláshoz be kell jelentkezni
Bennem nagyon erős kételyek merülnek fel az értelmességét illetően, ha a "megoldás" abból áll, hogy amit a program kér, azt engedjük meg neki.
Szóval az egyik értelmes megoldás az, ha másvalaki végiggondolja, és az egyszerű júzer meg használja a "gyári" beállításokkal. Ezt értem, ennek van értelme, igaz, elég korlátos a használhatósága, pont, mint egy windowsnak.
A másik megoldás, hogy az ember beleássa magát, és beállítja korrektül. Ez iszonyú sok meló.
- A hozzászóláshoz be kell jelentkezni
Szerintem is az a baja a SELinuxnak, hogy bonyolult. Ha úgy bízom a fejlesztőkben, hogy könnyedén nem ellenőrizhetők a szabályok, azzal nem vagyok kisegítve, különösen, ha tudom, hogy az egész project az NSA-től indult. Ha meg magamnak csinálom a szabályokat..., azt hiszem, akkor inkább elmegyek kapálni.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
+1. A "sz@raselinux" az nagyjából a "sz@rawindóz" szint - aki ismeri, vagy meg akarja ismerni, annak nem az.
- A hozzászóláshoz be kell jelentkezni
Nincs ám ez megoldva. Az alábbit látom:
Miroslav Grepl 2015-06-01 09:17:31 EDT
commit c6d5db8082b8f27471dad06176b0f05a7d7cfa01
Author: Miroslav Grepl <*@redhat.com>
Date: Mon Jun 1 15:15:46 2015 +0200
Allow hostapd net_admin capability. hostapd needs to able to set an interface flag. BZ(1032880)
Status: NEW → MODIFIED
Fixed In Version: selinux-policy-3.13.1-127.fc22
Én az említett selinux-policy-3.13.1-127.fc22 verziót használom, és bizony marhára nincs ez megoldva. Az említett BZ(1032880) hivatkozás földi halandók számára nagy titok, tehát ettől sem lettem okosabb.
A „hostapd needs to able to set an interface flag” megnyilvánulást úgy kell érteni, hogy ez a hostapd-ben javítandó? Tehát várjam, amíg új hostapd jön ki? Mert a
getsebool -a
nem mondott nekem arra utaló infót, hogy lenne bármi flag, amit átbillenthetnék...
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
<< A „hostapd needs to able to set an interface flag” megnyilvánulást úgy kell érteni, hogy ez a hostapd-ben javítandó? >>
Nem. Pontosabban nagy valószínűség szerint azt jelenti, hogy a hostapd jelenlegi megvalósítása esetén az a szolgáltatás kell neki, és majd a selinux policy szerint engedélyezi is neki.
- A hozzászóláshoz be kell jelentkezni
Na jó, de ugye ezt írja a fejlesztő:
Fixed In Version: selinux-policy-3.13.1-127.fc22
Viszont én már eleve ezzel tesztelve néztem, és ugyanúgy megdöglend. Most csináltam új image-et, ma tesztelem. Ebben az audit2allow segítségével logból kinyert infóból csináltattam szabályt. Kíváncsi vagyok. Viszont nem ez lenne a megoldás, jó volna, ha a feklesztők megcsinálnák, s nem hinnék egy pillanatig sem, hogy a 127-es build megoldja a dolgokat, amikor nem.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Akkor esetleg beleírhatnád a hibajgyebe, hogy tesztelted az adott verzióval, és neked még szar?
- A hozzászóláshoz be kell jelentkezni
Lehet, ez lesz. Sok helyen megfogta a hostapd-t a SELinux. Épp feloldottam az összes akadályt, de menteni már nem volt időm. Az én esetemben az összedőlés nem tekinthető klasszikus értelemben vett bugnak, live root fs-én nem szabad sokat módosítani működés közben, mert abból baj lesz.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Sajnos az audit2allow (amivel azért érdemes vigyázni, emlékeim szerint tud nagylelkű lenni), meg úgy általában kézzel nyomkodni ilyen szinten a selinuxot adminként csak félmegoldás, a javasolt irány ált, az, hogy a fejlesztő gondolkodjon, valóban kell-e az oda, és ha igen, akkor pontosan mi.
Nyilván, ilyet érdemben csak a disztribútor tud egyeztetni, de mondjuk ez kb az az eset, ahol nekik kéne vagy lefocizni ezt a hostapds arcokkal, vagy rendesen beállítani a selinuxot.
- A hozzászóláshoz be kell jelentkezni
Más megoldásod nem nagyon van, mint az, hogy amin az auditd szerint elhasal, azt odaadod neki saját policy-ból.
- A hozzászóláshoz be kell jelentkezni
igen, tudom, hogy neked a chain végén nem nagyon van más lehetőséged, írtam is :)
- A hozzászóláshoz be kell jelentkezni
MODIFIED - This bug report has been fixed, unit tested and checked into source control by the Assigned Engineer.
Hatravan meg a QA.
--
L
- A hozzászóláshoz be kell jelentkezni
Remélem, kijön a probléma. Mert ugye ez egy hibajegy, viszont a selinux-policy 127-es buildje egy rakás módosított szabályt tartalmaz.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
No, kipróbáltam, nem működött. Viszont tudom, miért nem. Ha több SELinux szabály különféle helyeken megfogja a működést, akkor először csak az első akadály feloldására tudok szabályt készíteni. Ez egy iteratív folyamat, kb. 4-5 helyen fogta meg a SELinux a hostapd-t. Remek.
Már majdnem le tudtam menteni az összes szabályt tartalmazó mypol.te file-t, amikor a kernel úgy döntött, inkább közli velem a stack pointer értékét meg a futó kódrészt, amibe beledöglött. Hát, jó. :(
Ennek az oka valószínűleg az, hogy ez egy live, a filerendszer egy tömörített ext4 snapshot, bármi módosítás van a filerendszeren, az RAM-ba megy, de erre detikált mennyiségű hely van lefoglalva. Amikor ez a RAM elfogy, ami a snapshot és a jelen állapot közti diff-et tartalmazza, akkor széthullik a filerendszer, összedől az egész.
Márpedig a több semodule -i mypol.pp nem tett jót eme memóriával takarékoskodás terén. A fenyőbe...
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
nem járnál jobban, ha bedobnád egy vmbe, ott kidebugolnád, hogy miért nem indul, aztán utána próbálnád a live imaget a helyére rázni?
- A hozzászóláshoz be kell jelentkezni
De. Rá kellene szánnom magam.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Minek VM? Selinux permissive, azután audit2allow kimenet alapján saját policy kreálása a nagyon perverz eseteket kivéve elég kéne, hogy legyen.
- A hozzászóláshoz be kell jelentkezni
mert valami olyasmin tornázott locsemge, hogy a maga heggesztette live image alól elfogy a cow, vagy ilyesmi, aztán random fagy, és kényelmetlen azzal dolgozni, és ez kb selinuxtól független problémának tűnt.
- A hozzászóláshoz be kell jelentkezni
Igen, ez így van.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni