abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 3
včera 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 5
včera 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
včera 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
včera 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
včera 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
včera 00:08 | Pozvánky

V sobotu 18. 2. se v Praze v prostorách VŠE uskuteční od 9:30 již 4. ročník největší české konference o open source redakčním systému WordPress (WP) - WordCamp Praha 2017.

… více »
smíťa | Komentářů: 0
19.1. 23:58 | Komunita

Kryptoměnová komunita zahájila nový rok spuštěním projektu Blockchain.cz, jehož cílem je kolektivně nalézt ideální překlad pro čím dál frekventovanější slovo „blockchain“. Přispět návrhem může kdokoli. Sběr bude trvat až do konce září 2017. Následně bude probíhat dvoutýdenní veřejné hlasování, které bude zakončeno výběrem toho nejlepšího návrhu.

xHire | Komentářů: 9
19.1. 15:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno je celkově 270 bezpečnostních chyb. V Oracle Java SE je například opraveno 17 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 16 z nich. V Oracle MySQL je opraveno 27 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 5 z nich.

Ladislav Hagara | Komentářů: 0
19.1. 02:48 | Nová verze

Po půl roce od vydání verze 9.0 (zprávička) byla vydána verze 10.0 zvukového serveru PulseAudio. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 36
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (73%)
 (3%)
 (11%)
Celkem 350 hlasů
 Komentářů: 25, poslední dnes 13:34
    Rozcestník
    Reklama

    Dotaz: Problém s linkováním knihoven

    20.5.2013 10:45 Dave
    Problém s linkováním knihoven
    Přečteno: 737×
    Ahoj, mám takový podivný problém s linkováním knihoven. Spouštím vlastní build Apache (resp. build, který vytvořil jiný člověk a já ho musím používat):
    ~/apache-2.4.3-29/bin> ./httpd
    a dostávám tuto chybu:
    ./httpd: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory
    přitom
    ~/apache-2.4.3-29/bin> echo $LD_LIBRARY_PATH
    /home/dave/apache-2.4.3-29/lib
    ~/apache-2.4.3-29/bin> ls -l /home/dave/apache-2.4.3-29/lib/libaprutil*.so
    lrwxrwxrwx 1 root root     21 led 16 15:11 /home/dave/apache-2.4.3-29/lib/libaprutil-1.so -> libaprutil-1.so.0.4.1
    lrwxrwxrwx 1 root root     21 led 16 15:11 /home/dave/apache-2.4.3-29/lib/libaprutil-1.so.0 -> libaprutil-1.so.0.4.1
    -rwxr-xr-x 1 root root 345171 led 16 15:11 /home/dave/apache-2.4.3-29/lib/libaprutil-1.so.0.4.1
    Když spustím program jako root, tak linkování funguje správně. Kde může být problém?

    Řešení dotazu:


    Odpovědi

    Pavel Stárek avatar 20.5.2013 11:00 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Jen tak pro zajímavost, co vypíše ldd ./httpd ?
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    20.5.2013 11:08 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Aha, to jsem zapomněl připojit, ldd se tváří, že je vše v pořádku...
    ~/apache-2.4.3-29/bin> ldd ./httpd
    	linux-gate.so.1 =>  (0xffffe000)
    	libpcre.so.0 => /home/dave/apache-2.4.3-29/lib/libpcre.so.0 (0xf7707000)
    	libaprutil-1.so.0 => /home/dave/apache-2.4.3-29/lib/libaprutil-1.so.0 (0xf76ec000)
    	libexpat.so.0 => /home/dave/apache-2.4.3-29/lib/libexpat.so.0 (0xf76cd000)
    	libapr-1.so.0 => /home/dave/apache-2.4.3-29/lib/libapr-1.so.0 (0xf76a6000)
    	librt.so.1 => /lib/librt.so.1 (0xf768a000)
    	libcrypt.so.1 => /lib/libcrypt.so.1 (0xf7654000)
    	libpthread.so.0 => /lib/libpthread.so.0 (0xf7639000)
    	libdl.so.2 => /lib/libdl.so.2 (0xf7634000)
    	libc.so.6 => /lib/libc.so.6 (0xf74c7000)
    	/lib/ld-linux.so.2 (0xf7715000)
    Pavel Stárek avatar 20.5.2013 11:14 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Vskutku, to vypadá, že je to ok. Nicméně, nechybí něco té knihovně libaprutil-1.so.0? Tedy zase zkusit ldd libaprutil-1.so.0.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    20.5.2013 11:38 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Bohužel, ani tudy asi cesta nevede:
    ~/apache-2.4.3-29/bin> ldd /home/dave/apache-2.4.3-29/lib/libaprutil-1.so.0
    	linux-gate.so.1 =>  (0xffffe000)
    	libexpat.so.0 => /home/dave/apache-2.4.3-29/lib/libexpat.so.0 (0xf76c2000)
    	libapr-1.so.0 => /home/dave/apache-2.4.3-29/libapr-1.so.0 (0xf769c000)
    	librt.so.1 => /lib/librt.so.1 (0xf7680000)
    	libcrypt.so.1 => /lib/libcrypt.so.1 (0xf764a000)
    	libpthread.so.0 => /lib/libpthread.so.0 (0xf762e000)
    	libdl.so.2 => /lib/libdl.so.2 (0xf7629000)
    	libc.so.6 => /lib/libc.so.6 (0xf74bc000)
    	/lib/ld-linux.so.2 (0xf76fd000)
    Pavel Stárek avatar 20.5.2013 12:06 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Tak pak už nevím. Jedině zdali není spuštěn SElinux nebo AppArmor a nějak tomu nebrání.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    20.5.2013 12:17 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Hmm, já už taky nevím ;-) Ale díky za snahu. SELinux zapnutý není...
    20.5.2013 12:03 dustin | skóre: 60 | blog: dustin
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Pokud pod rootem ty knihovny najde, pak je problém v právech. Tipuji si, že binárku spouštíš pod uživatelem, který nemá přístup do toho homu /home/dave. Spouštíš binárku pod rootem? Apache se po obsazení privilegovaného portu 80 přepíná na neprivilegovaného uživatele (www-data v debianu), není problém v tom, že tento uživatel právo čtení na soubory v /home/dave nemá?
    20.5.2013 12:20 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    To už jsem kontroloval. Uživatel má přístup do všech adresářů. Coby uživatel dave vidím obsah té knihovny, která se nemůže přilinkovat...

    Apache chci záměrně spustit jako obyčejný uživatel, problém s privilegovaným portem řeším pomocí setcap. Ale problém je, že httpd se nepovede asi slinkovat, natož spustit...
    20.5.2013 12:16 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Zkus spustit strace -f -eopen -o httpd.strace ./httpd a prozkoumat httpd.strace.
    When your hammer is C++, everything begins to look like a thumb.
    20.5.2013 12:30 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Díky za tip. Z strace logů vyplývá, že linker se do adresáře /home/dave/apache-2.4.3-29/lib ani nesnaží dívat - není tam jediný záznam s tímto adresářem. Ale proč, když mám LD_LIBRARY_PATH nastavenou?
    20.5.2013 12:39 jekub
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    a exportovanou?
    20.5.2013 13:03 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    jj, exportovanou...
    Punny avatar 20.5.2013 12:59 Punny | skóre: 28 | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    zkusil bych mozna:
    export LD_LIBRARY_PATH=/home/dave/apache-2.4.3-29/lib:$LD_LIBRARY_PATH
    
    a jeste mozna mrknout do /etc/ld.so.conf
    Punny
    20.5.2013 13:55 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    LD_LIBRARY_PATH už exportovanou mám. A v /etc/ld.so.conf jsou jenom dva systémové adresáře /usr/local/lib64 a /usr/local/lib... Nejde mi do hlavy, proč to nefunguje...
    rADOn avatar 20.5.2013 14:27 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    A kdyz to vynutis pres LD_PRELOAD ?
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    20.5.2013 15:46 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    S LD_PRELOAD dostanu toto:
    ERROR: ld.so: object '/home/dave/apache-2.4.3-29/lib/libaprutil-1.so.0' from LD_PRELOAD cannot be preloaded: ignored.
    20.5.2013 14:25 Sten
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Nemá httpd nastaveno setuid nebo setgid? Linker potom LD_LIBRARY_PATH ignoruje.
    20.5.2013 14:30 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Díky za další nápad, nemá. To už jsem kontroloval, má klasická práva 755.
    20.5.2013 16:53 Ivan
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    A nemas tu cestu nejak divne zakompilovanou do ty binarky? (-Wl,-rpath=...). Zkus:
    readelf -d ./httpd | grep RPATH
    
    Ta cesta muze byt absolutni (/home/dave.../) anebo relativni ($ORIGIN/...).

    Jeste muzes zkusit tohle
    LD_TRACE_LOADED_OBJECTS=1 ./httpd
    
    PS: ty mas vlastni i knihovne pcre? Neni mozny, ze se ti nahraje nejdrive tahle knihovna ze sytemu a ta si pak vezme i systemovy libapr (libaprutil).

    20.5.2013 21:25 ET
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    ldconfig
    ~/apache-2.4.3-29/bin/httpd
    
    popr. sem postni cely strace ;)
    22.5.2013 14:24 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Tak jsem se posunul trochu dál, ale je to pro mě čím dál tím větší záhada.

    Zjistil jsem, že pokud binárku httpd zduplikuju do jiného souboru příkazem
    cp httpd httpd1
    tak ze v pořádku spustí!

    Pokud ale použiju
    cp -a httpd httpd2
    tak binárka zahlásí chybu s linkováním libaprutil-1.so.0. Čím by to mohlo být? Na filesystému je zapnuté ACL, ale na httpd není ACL použité...
    > getfacl httpd 
    # file: httpd
    # owner: root
    # group: root
    user::rwx
    group::rwx
    other::rwx
    
    pavlix avatar 22.5.2013 14:32 pavlix | skóre: 53 | blog: pavlix
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Porovnání výstupu ldd by bodlo. Btw, nemáš tam nějakou mandatory access control jako selinux, apparmor apod?
    Gentoo – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
    22.5.2013 14:38 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Porovnání výstupu ldd je jednoduché - pro funkční i nefunkční binárku je výstup z ldd identický, linker všechny knihovny najde. SELinux ani nic podobného v systému není... Začíná to pomalu vypadat jako nějaká chyba filesystému...?
    pavlix avatar 23.5.2013 11:35 pavlix | skóre: 53 | blog: pavlix
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Jo vidíš to...

    Pusť na ten httpd příkaz file.
    Gentoo – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
    22.5.2013 14:54 Ivan
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    spust to s LD_TRACE_LOADED_OBJECTS LD_VERBOSE LD_DEBUG a postni vypis.
    22.5.2013 15:00 Ivan
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Napr:
    ~: LD_DEBUG=libs ./a.out
         25201:     find library=libstdc++.so.6 [0]; searching
         25201:      search cache=/etc/ld.so.cache
         25201:       trying file=/usr/lib64/libstdc++.so.6
         25201:
         25201:     find library=libm.so.6 [0]; searching
         25201:      search cache=/etc/ld.so.cache
         25201:       trying file=/lib64/libm.so.6
         25201:
         25201:     find library=libgcc_s.so.1 [0]; searching
         25201:      search cache=/etc/ld.so.cache
         25201:       trying file=/lib64/libgcc_s.so.1
         25201:
         25201:     find library=libc.so.6 [0]; searching
         25201:      search cache=/etc/ld.so.cache
         25201:       trying file=/lib64/libc.so.6
         25201:
         25201:
         25201:     calling init: /lib64/libc.so.6
    ...
     
    23.5.2013 08:29 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    S LD_TRACE_LOADED_OBJECTS se nevypíš vůbec nic:
    > LD_TRACE_LOADED_OBJECTS=1 ./httpd
    >
    U ostatních proměnných se vypíše jen stará známá chyba linkování...
    > LD_VERBOSE=1 ./httpd
    ./httpd: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory
    > LD_DEBUG=all ./httpd
    ./httpd-error: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory
    >
    rADOn avatar 22.5.2013 15:44 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    > getfacl httpd 
    # file: httpd
    # owner: root
    # group: root
    user::rwx
    group::rwx
    other::rwx
    
    O kus vyse jsi tvrdil ze apac ma 755, ale tohle je podle me 777. A 777 binarka rozhodne neni normalni, nemas tam jeste jinde pomrveny prava?

    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    23.5.2013 08:31 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Ze zoufalství už jsem si různě hrál s přístupovými právy. Ale stejné chování je i u těch původních souborů, které opravdu mají 755...
    rADOn avatar 23.5.2013 10:19 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    A není na tom souboru rozšířenej atribut (viz lsattr/chattr)? Další nápad: když místo cp -a použiješ mv tak to udělá co?
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    23.5.2013 12:37 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Výpis atributů je u obou binárek stejný:
    > lsattr -a
    -------------e- ./httpd-error
    -------------e- ./httpd-ok
    mv binárku nezmění - funkční zůstane funkční, nefunční po přejmenování stále nefunguje.
    23.5.2013 10:28 dustin | skóre: 60 | blog: dustin
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Asi velice hloupá otázka - není to httpd symlink? Že se to chová jinak po tom cp -a
    pavlix avatar 23.5.2013 11:34 pavlix | skóre: 53 | blog: pavlix
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Jistota je jistota...
    Gentoo – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
    23.5.2013 13:40 dustin | skóre: 60 | blog: dustin
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    No právě, viz minulá diskuse o aliasu. Ten mi taky napadl, ale říkal jsem si, že to by byla ptákovina. A ono jo :)
    23.5.2013 12:29 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Díky i za hloupé otázky ;-) Třeba je to jen nějaká blbost, kterou přehlížím. Ale symlink to není. Jsou to binárky, cmp je označuje jako identické.
    Michy avatar 23.5.2013 10:49 Michy | skóre: 11 | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    To opravdu vypadá na problém s právy. Soubory httpd, httpd1 a httpd2 vzniklé cp httpd httpd1 a cp -a httpd httpd2 se budou lišit skoro jistě pouze v právech (a v časech). Jak vypadá výstup ls -l httpd httpd? ?
    23.5.2013 12:35 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    ls neukazuje žádné rozdíly. Binárky jsem přejmenoval, aby bylo jasné, která je která...
    -rwxrwxrwx 1 root root 1311555 kvě 23 12:17 httpd-error
    -rwxrwxrwx 1 root root 1311555 kvě 23 12:17 httpd-ok
    rADOn avatar 23.5.2013 14:24 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    1.3 mega? W.T.F.? U mě v gentoo i na debianu má binárka apače (2.2.22) třetinovou velikost. Určitě je tam zakompilený něco co dělá bordel… ale co by se mohlo projevovat takhle podivně je mi záhadou. Můžeš nám nějak osvětlit co to je za binárku (pokud nevíš, přepínač -l na funkční verzi by leccos osvětlil). Případně ten balík někam postnout?
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    23.5.2013 16:05 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Compiled in modules:
      core.c
      mod_so.c
      http_core.c
    Binárka je nestripovaná, proto asi ta velikost. Vystavit ji nemůžu, jedná se o firemní projekt, který nemůžu šírit.
    Michy avatar 23.5.2013 15:59 Michy | skóre: 11 | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Tomu skoro nemůžu uvěřit. Soubor httpd-error vzniklý příkazem cp -a httpd httpd-error a soubor httpd-ok vzniklý příkazem cp httpd httpd-ok by měly mít přinejmenším rozdílný ctime (čas poslední modifikace). Soubor httpd-error by měl mít čas stejný jako ten původní httpd, zatímco soubor httpd-ok bude mít čas toho okamžiku, kdy vznikl příkazem cp. To, že mají oba stejný čas, svědčí o tom, že něco děláš špatně nebo přinejmenším ne tak, jak naznačuješ.
    23.5.2013 16:08 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Máš samozřejmě pravdu. Zkoušel jsem mezitím na binárkách touch, jestli bude mít nějaký efekt. A neměl... Před touchem měl soubor httpd-error čas modifikace původního httpd.
    23.5.2013 10:51 Ed
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Zkus zmenit jmeno souboru. Pokud to httpd *jen* prejmenujes, zacne to fungovat? To by totiz naznacovalo, ze na vine je AppArmor.
    23.5.2013 12:40 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    AppArmor na systému není. Přejmenování binárky nemá vliv na její funkčnost/nefunkčnost...
    23.5.2013 14:30 rastos | skóre: 60 | blog: rastos
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Len tak pre zaujímavosť: aký filesystém je tam použitý?
    23.5.2013 16:00 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Filesystém je ext4, mountovaný je s parametry acl a user_xattr.
    Michy avatar 23.5.2013 16:53 Michy | skóre: 11 | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven

    Všechno nasvědčuje tomu, že problém je v právech/atributech té spouštěné binárky. Příkaz cp -a zachovává všechny atributy a takto získaný soubor nefunguje, zatímco samotný cp všechny atributy nezachová, a potom ta binárka spustit jde. Zaměř se tedy na to, v jakých atributech se ty soubory liší.

    Zradu bych tušil třeba v tom, že domovský adresář (/home/dave) má nejspíš omezený přístup pro uživatele, pod kterým tu binárku spouštíš. Ale to jen tak střílím od boku, s tím už se musíš poprat sám...

    23.5.2013 17:06 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven

    Zaměř se tedy na to, v jakých atributech se ty soubory liší.

    No to tu řeším celou dobu, ale všechny porazené příkazy ukazují, že atributy binárek jsou naprosto shodné... Přístupovými právy do adresářů to taky nebude, zkoušel jsem to v různých, i v tempu... Prostě už nevím...
    Michy avatar 23.5.2013 17:22 Michy | skóre: 11 | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    A getfattr jsi zkoušel?
    24.5.2013 12:03 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Vypadá to, že binárky žádné rozšířené atributy nastavené nemají - getfattr dává na všech binárkách prázdný výstup.
    24.5.2013 14:24 Milan Roubal | skóre: 25
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    cp -a
    se da rozepsat jako
    cp -dR --preserve=all
    kde parametr preserve ma tyto volby.
     --preserve[=ATTR_LIST]
    	      preserve	 the   specified   attributes	(default:  mode,owner-
    	      ship,timestamps), if possible  additional	 attributes:  context,
    	      links, xattr, all
    
    pokud vyzkousis vsechny moznosti, ktera z tech voleb zpusobi tuto chybovou hlasku?

    BTW jak se ten soubor vubec na ten filesystem dostal? Byl tam vytvoren pomoci make, zkopirovan odnekud, ..?
    beer avatar 29.5.2013 16:41 beer | skóre: 15
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven

    Co tohle:

    cp httpd httpd1 mv httpd1 httpd
    beer avatar 29.5.2013 16:43 beer | skóre: 15
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven

    cp httpd httpd1

    mv httpd1 httpd

    23.5.2013 14:39 Ed
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Jeste me napada - jste si jisty, ze spoustite httpd z aktualniho adresare?
    23.5.2013 16:38 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Ano. Binárky se chovají stejně, ať už je spouštím s relativní nebo absolutní cestou...
    24.5.2013 15:34 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Neco podobneho mi delal selinux (podobne by se mela chovat set-uid binarka). Zkus co udela:
    LD_SHOW_AUXV=1 ./httpd
    
    Pak by byl zajimavy cely strace:
    strace -f ./httpd
    
    Respektive zda se v nem nevyskytuje neco jako "/etc/suid-debug".
    Řešení 1× (rADOn)
    28.5.2013 11:05 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Tak jsem se konečně k něčemu dobral. Zjistil jsem, že za problémem stojí capabilities. Pokud souboru nastavím capability:
    /sbin/setcap cap_net_bind_service=+ep ./httpd
    tak neumí přilinkovat knihovnu libaprutil-1.so.0 a nespustí se. Pokud ale capability odeberu, binárka spustit jde.

    Ale proč? A jak to vyřešit?
    28.5.2013 13:39 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Jo, tak nastaveni capabilities dela to same co set-uid. Reseni je nepouzivat LD_LIBRARY_PATH, protoze je ignorovano. Spravna cesta je nastavit ty adresare kde se maji hledat knihovny do /etc/ld.so.conf (respektive do necoho z ceho se to generuje - zalezi na distribuci) a pustit ldconfig.
    28.5.2013 16:16 Dave
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    No sláva! Přidal jsem konfigurační soubor s cestou ke knihovnám do /etc/ld.so.conf.d/, spustil ldconfig, a ono to jede! Díky moc za pomoc všem zúčastněným :-D.
    28.5.2013 14:19 rastos | skóre: 60 | blog: rastos
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Zjistil jsem, že za problémem stojí capabilities.
    Klobúk dole, že si to nevzdal a dopátral sa k príčine.

    Teraz aspoň vieš, čo máš teraz hľadať a snáď niečo užitočné nájdeš.

    Btw, kde sa capabilities ukladajú? Do inode-u? V tom prípade by sa patrilo, aby ich stat zobrazil, nie?
    28.5.2013 17:22 Milan Roubal | skóre: 25
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    Tak jsem se rozhlednul po webu a podpora pro capabilities v zakladnich utilitach jako je ls, cp, tar, cpio, rsync etc. je rozdilna. U kazde utility se ten parametr jmenuje jinak a pokud nainstalovana verze uz tu funkcionalitu podporuje, jsou obcas potreba pridat parametry 3, jeden pro capabilities, dalsi pro extended attributes a dalsi pro ACL. Nevite nekdo o peknem clanku, ktery by situaci pro capabilities, extended attributes a ACL shrnoval?
    29.5.2013 16:07 Milan Roubal | skóre: 25
    Rozbalit Rozbalit vše Re: Problém s linkováním knihoven
    odpovim si sam, shrnuti je k nalezeni zde

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.