Fórum:
Sziasztok! A Linuxon a PDF printer haszálata során felmerült olyan igényem, hogy a kinyomtatott fájlt a nyomtatás után automatikusan látni szeretném egy megjelenítőben. A Wi* operációs rendszeren ez a különféle PDF nyomtatók telepítése során az esetek 90%-ában egy egyszerű checkbox kiválasztásával aktiválható, azonban Linux alatt nem találtam erre megoldást. (Akinek van, az ne is olvasson tovább, hanem küldje a megoldást...)
Mindenesetre én nem találtam. Ezért nekiláttam saját megoldást összehozni. Ennek során az Interneten láttam megoldásokat, amelyek nem működtek és megválaszolatlanok maradtak, illetve amik nekem legalább is nem bizonyultak használhatónak, de jó kiindulás alapok voltak.
Sikerült megoldást találnom, de a végső befejezés még hiányzik, ezért gondoltasm, hogy közzéadom, hátha valakinek van ötlete. Mivel ez haladó szintű topic, nem vacakolnék a részletekkel, csak a lényeget írom le, ebből minden látszani fog:
A Cups ProstProcessing funckióját aktiválom úgy, hogy az indítja el az általam létrehozott szkriptet, ami indít egy PDF nézőt a paraméterként átadott fájlnévvel és kész. Ez így szépen hangzik és működik is, problémát ld. a legvégén. Részletezve:
A szkript rövid, tehát bemásolom ide:
#!/bin/bash
DISPLAY=":0.0"
export DISPLAY
XAUTHORITY=/home/$2/.Xauthority
export XAUTHORITY
xdg-open $1 &
1.) Bemásolom a szkriptet ide az alábbi névvel: /var/spool/cups-pdf/pdf_to_view.sh
2.) A fájlt a felhasználó tulajdonába és csoportjába helyezem;
3.) Tulaj minden, többiek olvasási és végrehajtási jog neki (755);
4.) Módosítom az /etc/cups/cups-pdf.conf fájlt kb. a 258. sornál így:
PostProcessing /bin/bash /var/spool/cups-pdf/pdf_to_view.sh
(Itt ahol köztes blank van, szigorúan csak 1 legyen, úgyszintén az esetleges trailing blankseket törölni)
És maris mehet a nyomtatás PDF printerre akárhonnét, nyomtatás után azonnal meg fog jelenni a nézőben....azaz mégsem!
Ez a probléma legfőbb oka! Ugyanis az apparmor nem engedi a cups megváltozott viselkedését, ezért ez a projekt csak akkor életképes, ha még az első pont előtt végrehajtom a következőket (nyugi, Virtualboxban tesztelek mindig):
a) Leállítom az apparmor service-t
b) Törlöm végleg az apparmort (purge)
c) Törlöm a visszamaradt appamor könyvtárakat: sudo rm -R /etc/apparmor*
d) Újraindítom a gépet
És csak eztuán kezdem el az 1,2,3,4 pontokat és akkor működik! A hosszú bevezető után akkor itt a kérdésem/kérésem magától adódik: aki érzi magában az erőt és tudást, hogy hogyan kell az apparmort úgy paraméterezni, hogy ne tiltsa le a PostProcessing szkriptemet, az mutasson utat, hogy mit kell csinálnom ehhez. Mert azért az nem megoldás, hogy kiirtjuk az apparmort, ez tesztelés során OK, de minden napi használatra nem. Néhányan a Neten az aa-complain módban látták a megoldást, de ez is biztonsági rés, gyakorlag kikapcsolta az apparmor védelmi funckióját, csak loggol, nálam még azt sem, nem sok a különbség.
Én ezzel próbálkoztam: megnyitottam az
/etc/apparmor.d/usr.sbin.cupsd -t
lementem oda, ahol valami ilyesféle volt: /usr/lib/cups/backend/cups-pdf és ott beszúrtam ezt a három sort/bin/bash ixr,
/var/spool/cups-pdf/pdf_to_view.sh r,
/usr/bin/xdg-open ixr,
de ez sem segített, a logban DENY volt. Tehát: apparmor szakértők és lelkes fanok, várom ötleteiteket!
/var/spool/cups-pdf/pdf_to_view.sh r
Beküldte kimarite -
Értékelés:
Még nem igazán látom át a módszered, de az r szerintem kevés az Apparmor-nak a '/var/spool/cups-pdf/pdf_to_view.sh' sorban, kéne egy x is (a futtatás, hiszen ez egy futtatható script). Régebben használtam az Apparmor-t, a mások által említett 'sudo aa-complain /path/to/bin' egy tesztelős dolog, nem úgy biztonsági rés, ahogy gondolod. Így beállítva, a logolásból lehet szabályokat alkotni és aztán, ha minden rendben, jöhet a 'sudo aa-enforce /path/to/bin'. Inkább ezt kéne erőltetni és nem vaktában lőni, mert más összefüggések is lehetnek.
-- https://wiki.ubuntu.com/DebuggingApparmor # bár én inkább valami más Wiki-t nézegettem, mert van még néhány parancs ezeken kívül, de az említtetek is elegendők lehetnek.
-- https://www.apt-browse.org/browse/ubuntu/trusty/main/i386/cups-daemon/1.... # egy példa
/var/spool/cups-pdf/pdf_to_view.sh r
Beküldte Káldeus -
Értékelés:
paste.ubuntu.com/25853192/
Viszont az apparmor kernel log azt mutatja, hogy mind a három sorom elutasításra került.
paste.ubuntu.com/25853210/
Ha csak az x hiányzona, akkor a többi jó kellene hogy legyen (szerintem, de ez nem biztos). Akkor, ha legalább egy sorom "átmegy", akkor sejteném a jövőt, mint macska az esőt, de így egyelőre sötétben toporgok...
/var/spool/cups-pdf/pdf_to_view.sh r
Beküldte kimarite -
Értékelés:
http://www.cups-pdf.de/cups-pdf-CURRENT/extra/cups-pdf.conf
próbáld így beállítani:
Ha ez a nyomtatási csoportod.
Erre
https://www.cups.org/doc/man-cups-files.conf.html?TOPIC=Man+Pages
(https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1088448)
alapozok.
/var/spool/cups-pdf/pdf_to_view.sh r
Beküldte kimarite -
Értékelés:
„Ha csak az x hiányzona, akkor a többi jó kellene hogy legyen (szerintem, de ez nem biztos).”
-- szerintem összefüggések vannak, legalábis így értelmeztem, amikor anno én megoldottam valamit. :D
-- most nem pörög annyira erre rá az agyam, de megtaláltam az egyik megfigyelt oldalt:
http://wiki.apparmor.net/index.php/AppArmor_Failures
-- szóval, ki kell találni a gondot, és összerázod egésszé:
https://www.youtube.com/watch?v=nfWlot6h_JM (ahogy linkelik az egyik fórumon, hasonló problémára)
;)
Saccperkábé
Beküldte kimarite -
Értékelés:
Forrás: https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1610765
Szerk.: remélem, már te is érted (legtöbbször csak úgy egyszerűen 'működik' is, csak néha függ össze mással is), de még két példa:
https://askubuntu.com/questions/172030/how-to-allow-bind-in-app-armor/22...
https://askubuntu.com/questions/175704/unable-to-start-mysql-server-afte...
Saccperkábé
Beküldte Káldeus -
Értékelés:
Ráadásul mi van akkor, ha új programot telepítek? Ez olyan meglepő számára? Az egésznek akkor lenne értelme, ha képes lenne együttműködni valamelyik csomagtárolóval és az új program telepítése után triggerelődne valami eljárás, amivel beveszi őt is a szárnyai alá. De erről szó sincs. És ezzel el is jutottunk az elejére: hamis biztonságértzetet kelt, mivel fut és Besenyő Á.F. István, aki vagyok, azaz Besenyő Átlag Felhasználó Pista abban a hitben élek, hogy fut a védelem, pedig lyukas, mint a szita. És miért kellene nekem vért izzadva kitalálnom egy új program minden rezdülését, hogy armor alá helyezzem??? A 21. században??? Íme egy konkrét példa: használom a masterpdfeditor nevű programot, amelyik a 3.xx verzióig ezen a néven futott. A frissítések során a 4.xx verziótól kezdve már masterpdfeditor4 névre hallgat, de ez kutakodás nélkül nem derül ki. Ha kiizzadtam volna korábban egy armort neki, itt máris elbukott volna, mivel a frissítés ezt nem jelzi ki és nem is feladata.
Összefoglalva: részemről az apparmornak annyi, csak akadályoz és nem nyújt semmit, ami használható lenne. Annyit kiderítettem, hogy amennyiben csak a kér "cups" profilt törlöm, akkor már működik is az, ami a topic címe, tehát nem muszáj az egészet letörölni. De ezt én megoldásnak tekintem a magam számára, de épp a fenti egyéni véleményem miatt nem merném "megoldva" flaggel ellátni, habár én a felvetésemet így megoldottnak tekintem.
Ismét egy jó kis meccs volt... Reméltem, hogy rákapsz erre a témára, nem is csalódtam, az összefoglalásomhoz várom utóvéleményedet... Üdv: ~K~
P.S.: a témákhoz kapcsolódó Youtube-os videóidat mindig felüldülés nézni, le ne szokj róla... :-)
Utóirat utóirata: +egy érv az
Beküldte Káldeus -
Értékelés:
Utóirat utóirata: +egy érv az apparmor ellen: ez az egész topic meg sem született volna, ha ez az általam most már egyáltalán nem tisztelt "program" dobott volna valamilyen hibaüzenetet, hogy megadályozta egy program futását. Fáj neki a Zenity vagy valami??? Ez a minimális elvárás már a ZX Spectrumok idején is működött... Az, hogy sunyiban hallgat és hazavág egy amúgy jól működő programot, sőt, program-ágat, logikailag inkább hasonlít egy vírus működéséhez... Többet egy szót sem írok róla, esküszöm, de ezt ki kellett mondanom...
Utóirat utóirata: +egy érv az
Beküldte kimarite -
Értékelés:
együtt a világ végén boldogok lehettünk volna”. És elkészítik a letölthetően kész profilokat mindegyik vagy a legtöbb alkalmazásra, illetőleg valami olyasmit (is) elkészítenek, ami akár egy script, hogy a környezettől függően elkészülhessenek a profilok, ahelyett, hogy neked kéne ennyit 'varázsolnod' ezzel a témával. Hasonló alkalmazás: az SELinux ... .
Ha jól tudom, az Apparmor profilokat a Canonical kezdte felépíteni, vagyis egészen pontosan több profilt készített, mint volt eleve, aztán meg, mint látod, abbahagyták. És úgy használható, hogy te készíted el (javítod) a profilokat az 'aa-complain' jelzések alapján, aztán, ha nincs hiba jelzés, akkor az 'aa-enforce'-val fixálod, azaz élesíted a tanulási, másképpen beállítási folyamatot. Van egy parancs (most nem jut eszembe), ami nagyjából elkészít egy profilt, de nem túl sok dolgot tesz bele sajnos, tehát nem eleget. Jó lett volna, ha a Canonical -vagy valaki, tulajdonképpen a világban- továbbra is foglalkozik a témával, ha már elkezdte :-), úgymond nyugodtan belehízhattak volna a pólóba (mint az egyszeri programozó), és örökké szerelmesek egy 'néger' (Ubuntu) lányba (Apparmor). Így meg csak ez van sajna: ... „