Руководство администратора Linux по безопасности

       

Ps


Программа ps показывает статус процессов (информацию из файловой системы /proc). Наиболее используемые параметры ?ps -xau?, которые показывают практически всю информацию, которую Вы когда-либо хотели бы узнать. Пожалуйста обратите внимание: эти параметры изменяются в разных UNIX-системах, Solaris, SCO, и другие ведут себя по-другому (что невероятно раздражает). Ниже приведен типичный вывод для машины (команда ?ps ?xau?).

USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND bin 320 0.0 0.6 760 380 ? S Feb 12 0:00 portmap daemon 377 0.0 0.6 784 404 ? S Feb 12 0:00 /usr/sbin/atd named 2865 0.0 2.1 2120 1368 ? S 01:14 0:01 /usr/sbin/named -u named -g named -t /home/named nobody 346 0.0 18.6 12728 11796 ? S Feb 12 3:12 squid nobody 379 0.0 0.8 1012 544 ? S Feb 12 0:00 (dnsserver) nobody 380 0.0 0.8 1012 540 ? S Feb 12 0:00 (dnsserver) nobody 383 0.0 0.6 916 416 ? S Feb 12 0:00 (dnsserver) nobody 385 0.0 0.8 1192 568 ? S Feb 12 0:00 /usr/bin/ftpget -S 1030 nobody 392 0.0 0.3 716 240 ? S Feb 12 0:00 (unlinkd) nobody 1553 0.0 1.8 1932 1200 ? S Feb 14 0:00 httpd nobody 1703 0.0 1.8 1932 1200 ? S Feb 14 0:00 httpd root 1 0.0 0.6 776 404 ? S Feb 12 0:04 init [3] root 2 0.0 0.0 0 0 ? SW Feb 12 0:00 (kflushd) root 3 0.0 0.0 0 0 ? SW Feb 12 0:00 (kswapd) root 4 0.0 0.0 0 0 ? SW Feb 12 0:00 (md_thread) root 64 0.0 0.5 736 348 ? S Feb 12 0:00 kerneld root 357 0.0 0.6 800 432 ? S Feb 12 0:05 syslogd root 366 0.0 1.0 1056 684 ? S Feb 12 0:01 klogd root 393 0.0 0.7 852 472 ? S Feb 12 0:00 crond root 427 0.0 0.9 1272 592 ? S Feb 12 0:19 /usr/sbin/sshd root 438 0.0 1.0 1184 672 ? S Feb 12 0:00 rpc.mountd root 447 0.0 1.0 1180 644 ? S Feb 12 0:00 rpc.nfsd root 458 0.0 1.0 1072 680 ? S Feb 12 0:00 /usr/sbin/dhcpd root 489 0.0 1.7 1884 1096 ? S Feb 12 0:00 httpd root 503 0.0 0.4 724 296 2 S Feb 12 0:00 /sbin/mingetty tty2 root 505 0.0 0.3 720 228 ? S Feb 12 0:02 update (bdflush) root 541 0.0 0.4 724 296 1 S Feb 12 0:00 /sbin/mingetty tty1 root 1372 0.0 0.6 772 396 ? S Feb 13 0:00 inetd root 1473 0.0 1.5 1492 1000 ? S Feb 13 0:00 sendmail: accepting connections on port 25 root 2862 0.0 0.0 188 44 ? S 01:14 0:00 /usr/sbin/holelogd.named /home/named/dev/log root 3090 0.0 1.9 1864 1232 ? S 12:16 0:02 /usr/sbin/sshd root 3103 0.0 1.1 1448 728 p1 S 12:16 0:00 su -root 3104 0.0 1.3 1268 864 p1 S 12:16 0:00 -bash root 3136 0.0 1.9 1836 1212 ? S 12:21 0:04 /usr/sbin/sshd

Здесь интересны: portmap, named, Squid (и порожденные им процессы dnsserver, unlinkd и ftpget), httpd, syslogd, sshd, rpc.mountd, rpc.nfsd, dhcpd, inetd и sendmail (эти серверы предоставляют шлюзовые сервисы, почту и доступ к файлам по NFS). Самый простой способ понять вывод команды ps, это почитать ее man-страницу, которая детально все объясняет (многие поля понятны и так, например %CPU показывает сколько квантов времени процессора занимает процесс, SIZE сколько 4k ?страниц? памяти использует программа). Чтобы узнать что делает та или иная программа, наиболее безопасно использовать ?man <command_name>?; там почти есть вся необходимая информация о сервисе (например, по httpd). Обратите внимание, что некоторые сервисы подобные telnet, ftpd, identd и ряд других не обнаруживаются даже при том, что они включены. Это потому, что они выполнены из inetd, ?суперсервера?. Чтобы их найти, посмотрите файл /etc/inetd.conf или вывод команды ?netstat ?vat?.



Содержание раздела