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ć?