Portál AbcLinuxu, 12. května 2025 11:09
/home/programs/MPlayer/ ./configure
objevilo se toto:
bash: ./configure: /bin/sh: bad interpreter: Permission denied
Mohli byste mi poradit, jak na spravne instalaci? Pouzivam Debian Woody
Přeložim ... v MSW je konec řádku jako LF+CR, v *nixu jako LF.
/home/programs/MPlayer/ ./configure
"/home/programs/MPlayer/" je pracovní adresář? Projistotu se ptám...
objevilo se toto:
bash: ./configure: /bin/sh: bad interpreter: Permission denied
Mohli byste mi poradit, jak na spravne instalaci? Pouzivam Debian Woody
"ls -l /bin/sh"?
Pripadne zkusit zmenit v .configure prvni radek na /bin/bash a pod.
bash ./configure
ls -l /bin/sh
?
bash ./configure
skutecne fungovalo. Pak se ale objevil dalsi problem pri instalaci. Kdyz zadam bash make
vypise:
make: /usr/bin/make: cannot execute binary file
Tak kde by mohla byt chyba tentokrat??
ls -l /bin/shNa začiatku by malo byť niečo ako
lrwxrwxrwx
(dôležité sú tie x, čiže právo na vykonávanie). Ak ten súbor práva na vykonávanie nemá, ako root spusť chmod +x /bin/sh(bez toho budeš musieť spúšťať všetky skripty cez shell).
sh
link (na bash
), tak tam samozř. bude *vždy* lrwxrwxrwx
.
Takže nás bude zajímat spíš ls -l /bin/bash
bash ./configure
problem nebude s právami /bin/bash. Práva pre /bin/sh by mali byť lrwxrwxrwx, ale ak náhodou nie sú (tie práva na spustenie), vypisuje to práve tú chybu (Permission denied).
755
nebo tak podobně, upozornil jsem jen na to, že při výpisu ls -l /bin/sh
budou (pokud je sh
symlink na bash
u linku /bin/sh
vždy zobrazena písmenka lrwxrwxrwx
, což ovšem vůbec nic neříká o právech (ni spouštěcích) souboru bash, resp. sh, tedy informace o právech z ls -l /bin/sh
by pro nás byla asi jako kdyby řekl "monitor mi funguje", neboť /bin/sh je symlink.
Jinak je ale problém zdá se jinde, což chytře osvětlil ls -l /bin/*sh, v jednom adresáři jsou 2 soubory takřka stejného jména (symlink a binárka), což je velmi velmi nestandardní :) Možná by to pak chtělo nějaký chkrootkit
.
noexec
, resp. že nemá exec
, tedy z ní nelze nic spouštět.
Google také říká, že to tak u Debianu Woody prý bývá, že /home je mountován noexec, protože instalovat programy prý má root, ne uživatel ze svého home.
Je to teda asi spíš lamovzdorné opatření než bezpečnostní, no ale to není podstatné.
Tak to třeba zkuste nainstalovat z /root, případně pak koukněte co vypíše cat /etc/mtab a následně z /etc/fstab smažte ve ...čtvrtém chlívečku noexec
resp. přidejte exec
.
…že to tak u Debianu Woody prý bývá, že /home je mountován noexec, protože instalovat programy prý má root, ne uživatel ze svého home
Takovouhle ptákovinu vymyslel někdo vlastní hlavou? A má na ni zbrojní pas?
make
, nefungovalo. Zkusil jsem rovnou spustit /usr/bin/make, a vypsalo mi to stejnou zpravu jako s make:
./version.sh 'cc -dumpversion'
/bin/sh: ./version.h: /bin/sh: bad interpreter: Permission denied
make: *** [version.h] Error 126
Mohli byste helfnout? Uz toho mam plne zuby, uz pres tyden se snazim neuspesne nainstalovat MPlayer, takze bych rad uz konecne nainstaloval. Prosim pomozte mi...
ls -l /bin/*sha pre istotu skontroluj aj
whereis sh
/usr/bin/make
, a ten nekonci "*sh". Ale zkusim to, zatim se pokuste zjistit, v cem dalsim by mohla byt chyba...
ls -l /bin/*sh
a vypsalo:
-rwxrwxrwx 1 root root 511400 Apr 8 2002 /bin/bash
lrwxrwxrwx 1 root root 21 Dec 23 17:46 /bin/csh -> /etc/alternatives/csh
lrwxrwxrwx 1 root root 4 Dec 23 18:15 /bin/bash -> bash
lrwxrwxrwx 1 root root 4 Dec 23 20:19 /bin/sh -> bash
-rwxr-xr-x 1 root root 265760 Apr 2 2002 /bin/bash
a pri prikazu whereis sh
vypsalo:
sh: /bin/sh /usr/share/man/man1/sh.1.gz
Tak, uz vite v cem je kamen urazu??
Uff, co je to za běs? Nejsou tam v názvech nějaké neviditelné znaky? Zkuste to prohnat přes 'od -c
'.
Mimochodem, defaultní shell s právy 777, to je opravdu moc dobrý nápad… Nechcete mu pro jistotu nastavit ještě SUID? :-)
ls -l /bin/*sh
a vypsalo:
-rwxrwxrwx 1 root root 511400 Apr 8 2002 /bin/bash
lrwxrwxrwx 1 root root 21 Dec 23 17:46 /bin/csh -> /etc/alternatives/csh
lrwxrwxrwx 1 root root 4 Dec 23 18:15 /bin/bash -> bash
lrwxrwxrwx 1 root root 4 Dec 23 20:19 /bin/sh -> bash
-rwxr-xr-x 1 root root 265760 Apr 2 2002 /bin/bash
a pri prikazu whereis sh
vypsalo:
sh: /bin/sh /usr/share/man/man1/sh.1.gz
Tak, uz vite v cem je kamen urazu??
ls -p /bin/*sh | od -cSkontroluj na ktorý program je ten link /bin/bash a ten /bin/sh. Jediné čo mi napadá, že jeden s tých súborov je nejaká "upravená" verzia.
ln -s /bin/bash /bin/sh
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.