linux - bad interpreter: Brak dostępu





MES Mariusz - 15 Lut 2008 23:37
Witam!

Jakiś czas temu stworzyłem sobie skrypt 'komunikat' o zawartości:

#!/bin/bash
cat MyMessage | smbclient -M Savio-mes-p01 &
cat MyMessage | smbclient -M Savio-mes-p02 &
cat MyMessage | smbclient -M Savio-mes-p03 &

I do jakiegoś czasu działał (wykonywał się).

Teraz przy próbie wykonania pojawia się:

[root(małpa)ja ja]# ./komunikat
bash: ./komunikat: /bin/bash: bad interpreter: Brak dostępu

Czy to może być spowodowane?





Caladan - 16 Lut 2008 00:31
Spróbuj usunąć pierwszą linię i uruchomić program w następujący sposób:
#bash ./komunikat

Albo też samo #bash i zobaczyć, czy cokolwiek się wykona.

Brak dostępu może oznaczać że nie ma prawa wykonania pliku /bin/bash.

Można to sprawdzić pisząc:
# ls -o `which bash`
Wynik powinien być mniej więcej taki:
-rwxr-xr-x 1 root 756984 Aug 15  2007 /bin/bash



MES Mariusz - 16 Lut 2008 01:11

Spróbuj usunąć pierwszą linię i uruchomić program w następujący sposób:
#bash i zobaczyć, czy cokolwiek się wykona.
W obydwu opcjach zwraca mi:
bash: ./komunikat: Brak dostępu


Brak dostępu może oznaczać że nie ma prawa wykonania pliku /bin/bash.

Można to sprawdzić pisząc:
-rwxr-xr-x 1 root 756984 Aug 15  2007 /bin/bash
Jest identyczny z wyjątkiem końcówki (756984 Aug 15 2007)

A najgorsze, że podejrzewam włamkę na konto testowego (na szczęście zwykłego) użytkownika z banalnym hasłem, którego zapomniałem usunąć.

Tak myślę, bo na koncie znalazłem jakąś paczkę emech.tar i rozpakowany jej folder.

Konta użytkowników trzymam na oddzielnej partycji z wyciętym exec-em zawsze to jakieś zabezpieczenie.

Ale skrypt się przestał uruchamiać i zastanawiam się, czy to nie ma z tym czegoś wspólnego.




Caladan - 18 Lut 2008 12:30
A probowałeś uruchomić ten skrypt z konta innego usera? Poza tym powinno się uruchamiać, skoro masz prawa dostępu. TO mało prawdopodobne, by ktoś zmienił samego basha.





MES Mariusz - 18 Lut 2008 15:08

A probowałeś uruchomić ten skrypt z konta innego usera? Poza tym powinno się uruchamiać, skoro masz prawa dostępu. TO mało prawdopodobne, by ktoś zmienił samego basha.
A już wiem, o co może chodzić!

Niedawno podłączyłem osobny dysk, podmontowałem do /home i tam są trzymane wszystkie konta userów. A partycja ma wyciętego exec'a, i stąd pewnie nie można nic uruchomić.

Zgadza się?



Caladan - 19 Lut 2008 12:37
Hmm, ale przez #bash costam powinno sie dac uruchomić. Nie można wykonać pliku bezpośrednio, ale z zewnetrznym interpreterem czemu nie. Interpreter czyta wtedy taki plik i tylko wlsnie wymagania do odczytu są konieczne. Nic poza tą partycja nie było zmieniane? A z konta roota da się uruchomić?