Boletim ViaLinuxis

Jorge Kinoshita
Segurança: www.linuxsecurity.com.br + lsof

(un)subscribe
30-11-00

O Renato Murilo Langona mantém o site http://www.linuxsecurity.com.br/ . Ele envia dicas muito interessantes sobre segurança em Linux, sendo que eu pessoalmente estou cadastrado em seu boletim. Além disso, ele sido muito prestativo em apoiar o ViaLinuxis. Ele já me mandou diversos comentários e dicas. Sobre a primeira dica do netstat, extraí uma parte de seu comentário e coloquei no quadro abaixo:


Outra ferramenta que pode ser utilizada, sem duvida, com muito sucesso para um caso similar a esse eh o lsof (List Open Files) que exibe uma lista bem mais detalhada incluindo o usuário sob o qual o programa esta sendo executado. Tente: lsof -i



Ao testar o comando (como root) obtive:
# lsof -i COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME inetd 320 root 4u inet 457 TCP *:ftp (LISTEN) inetd 320 root 5u inet 458 TCP *:telnet (LISTEN) inetd 320 root 6u inet 459 TCP *:shell (LISTEN) (...)
A opção '-i' faz com que lsof liste os processos que usam a internet (TCP e UDP).
Existem diversas outras opções. Veja:
# lsof|more COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME init 1 root cwd DIR 3,3 1024 2 / init 1 root rtd DIR 3,3 1024 2 / init 1 root txt REG 3,3 24580 47225 /sbin/init init 1 root mem REG 3,3 342206 34818 /lib/ld-2.1.1.so Através desse comando você pode saber quais arquivos estão abertos por quais processos. Sendo assim, você pode, por exemplo, saber quais são os programas e arquivos que um determinado usuário está usando.
Enquanto eu escrevia esse boletim do ViaLinuxis no emacs tive uma idéia: será que este arquivo que agora edito aparece em lsof?
Fiz o teste e percebi que não aparece. Ao que tudo indica o emacs trabalha com os arquivos dentro dos buffers e somente abre o arquivo quando faz a leitura ou escrita. Por outro lado, diversos outros arquivos como ~/.netscape/history.dat aparecem na saída de lsof. Aproveite e faça o teste:
# lsof|grep /home/seu_user
^JC