Jste schopni se za roota přihlásit za uživatele nobody? Tak zbystřete. Můžete mít napadený systém nějakým rootkitem, či malwarem.
Pokud však zadáte příkaz su – nobody a vypíše vám to uvedenou hlášku, tak s největší pravděpodobností nejde o virus/malware/rootkit. Pouze máte na vašem systému nainstalovanou utilitu locate či mlocate. A tato utilita používá příkaz find k prohledávání celého disku.
# su - nobody
su: warning: cannot change directory to /nonexistent: No such file or directory
This account is currently not available.
Zde je ukázka části skriptu, který se nachází v /etc/cron.daily/locate
#! /bin/sh
set -e
# cron script to update the `locatedb' database.
#
# Written by Ian A. Murdock <imurdock@debian.org> and
# Kevin Dalley <kevin@aimnet.com>
# Please consult updatedb(1) and /usr/share/doc/locate/README.Debian
[ -e /usr/bin/updatedb.findutils ] || exit 0
if [ "$(id -u)" != "0" ]; then
echo "You must be root."
exit 1
fi
# Global options for invocations of find(1)
FINDOPTIONS='-ignore_readdir_race'
# filesystems which are pruned from updatedb database
PRUNEFS="NFS nfs nfs4 afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf ocfs2"
# paths which are pruned from updatedb database
PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /amd /alex /var/spool /sfs /media /var/lib/schroot/mount"
# netpaths which are added
NETPATHS=""
# run find as this user
LOCALUSER="nobody"
# cron.daily/find: run at this priority -- higher number means lower priority
# (this is relative to the default which cron sets, which is usually +5)
NICE=10
Proto můžete po zadání ps aux |grep nobody vidět třeba takový výstup:
root 30447 0.0 0.0 6808 2916 ? SN 06:25 0:00 su nobody -s /bin/sh -c /usr/bin/find / -ignore_readdir_race \( -fstype NFS -o -fstype nfs -o -fstype nfs4 -o -fstype afs -o -fstype binfmt_misc -o -fstype proc -o -fstype smbfs -o -fstype autofs -o -fstype iso9660 -o -fstype ncpfs -o -fstype coda -o -fstype devpts -o -fstype ftpfs -o -fstype devfs -o -fstype mfs -o -fstype shfs -o -fstype sysfs -o -fstype cifs -o -fstype lustre_lite -o -fstype tmpfs -o -fstype usbfs -o -fstype udf -o -fstype ocfs2 -o -type d -regex '\(^/tmp$\)\|\(^/usr/tmp$\)\|\(^/var/tmp$\)\|\(^/afs$\)\|\(^/amd$\)\|\(^/alex$\)\|\(^/var/spool$\)\|\(^/sfs$\)\|\(^/media$\)\|\(^/var/lib/schroot/mount$\)' \) -prune -o -print0
Nyní, když jsme si prokázali a dohledali, o co konkrétně jde, můžete být konečně vklidu. Na druhou stranu, pokud by o malware již dávno šlo, patrně byste to poznali. Nejčastějším případem, proč vám tato utilita bere část výkonu je, že nestihla doběhnout od posledního zapnutí vašeho počítače či serveru, anebo na vašem např. domácím serveru právě probíhá např. md raid check, jako v mém případě, což utilitu find dost zbrzdilo:
md1 : active raid1 sde1[1] sdc1[0]
5860390464 blocks super 1.2 [2/2] [UU]
[=================>...] check = 87.0% (5098666432/5860390464) finish=126.1min speed=100653K/sec
bitmap: 0/44 pages [0KB], 65536KB chunk
md2 : active raid1 sdg1[1] sdd1[0]
5860389888 blocks super 1.2 [2/2] [UU]
[=================>...] check = 87.8% (5150118144/5860389888) finish=117.3min speed=100902K/sec
bitmap: 0/44 pages [0KB], 65536KB chunk