/ bin / ls não foi encontrado, mesmo que exista!


10

Este é um servidor rodando o ubuntu 8.04, alguma ideia do que está acontecendo?

# ls
-bash: /bin/ls: No such file or directory
# /bin/ls
-bash: /bin/ls: No such file or directory
# stat /bin/ls
  File: `/bin/ls'
  Size: 39696       Blocks: 80         IO Block: 4096   regular file
Device: 803h/2051d  Inode: 1073910881  Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (  122/ UNKNOWN)   Gid: (  114/Debian-exim)
Access: 2008-06-05 15:07:22.491486000 -0700
Modify: 2008-04-03 23:44:23.000000000 -0700
Change: 2009-05-21 07:42:45.715736917 -0700
#:/bin# dd if=/bin/ls of=/dev/null 
77+1 records in
77+1 records out
39696 bytes (40 kB) copied, 0.000157908 s, 251 MB

Eu não tenho idéia de como ficou o GID e o UID estranhos, nenhum deles existe no / etc / passwd

Recentemente, realizei a atualização do NTP do ubuntu para corrigir uma falha de segurança.

Atualização: Acabei de perceber / bin / netstat tem o mesmo problema

Atualização: parece que fiquei enraizada, executei o rkhunter e encontrou um kit ...


Se você executar "chown root: root / bin / ls", isso ajuda no problema?
gharper

Já fiz, sem sorte, eu também corri chkrootkit, sem resultados positivos.
Andrew Cholakian

Quando você executou o chown root: root ... As estatísticas foram alteradas para que o proprietário e o grupo fossem root?
Kyle Brandt

Eu tenho exatamente o mesmo tamanho do arquivo. Qual o problema que você teve?
Brian Haak

Respostas:


12

Ter ls e netstat quebrados em um sistema parece suspeito como algo que um hacker faria para evitar a detecção. Geralmente eles tentam corrigir essas ferramentas para impedir a detecção de ferramentas e backdoors que eles instalaram ou criaram. Você pode considerar reiniciar em um livecd e depois verificar o md5sums desses arquivos.

Se o sistema estiver comprometido, verifique estas perguntas para obter alguns conselhos sobre como lidar com a situação.


2

Você pode receber o erro 'Não existe esse arquivo ou diretório' quando o vinculador dinâmico não consegue encontrar os objetos compartilhados apropriados.

Corre:

ldd /bin/ls

e verifique a saída.

Parece suspeito para mim também, a propósito. Eu me preocupo com o comprometimento do seu sistema.


1
ls geralmente é um shell embutido. Você deve verificar se o seu shell não / bin / ls foi modificado.
Dave Cheney

1
@ Dave Cheney: Eu não acho que o bash (o shell padrão no Ubuntu) tenha um ls embutido.
Cristian Ciupitu 02/06/2009

2

Isso não está especificamente relacionado ao seu problema, mas se um sistema não tiver sido /bin/lsinstalado (ou seja, alguém o excluiu), você pode usar:

echo *
para obter uma lista de diretórios. Eu tive que usar isso antes, e é um salva-vidas.


1

Aqui está a saída do stat / bin / ls no meu servidor Ubuntu 8.04. Tamanho diferente, então eu acho que o arquivo foi corrompido ou substituído.

# stat /bin/ls
  File: `/bin/ls'
  Size: 106176          Blocks: 216        IO Block: 4096   regular file
Device: ca00h/51712d    Inode: 3631        Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2009-05-21 13:31:51.000000000 -0400
Modify: 2008-04-04 02:44:23.000000000 -0400
Change: 2008-05-29 17:14:25.000000000 -0400

0

Às vezes, quando você navega para a pasta em que seu ambiente não usa o bash, você recebe essa massagem.

Para ter os comandos ls , vai que você precisa para executar o comando:

bash

Então você pode usar ls e ll

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.