Вы попали на эту страницу отсюда - http://linux.ufaras.ru/VadeRetro.html#2.2 I. Итак, на входе имеем след. данные. 1. Исходные права на /var/log: ls -l /var|grep log drwxr-xr-x 30 root root 20480 Mar 12 17:29 log 2. Для чистоты эксперимента удаляю все веберовские логи, созданные ранее. ls -l /var/log/drweb_* ls: cannot access drweb_*: No such file or directory 3. В конфигах вебера заказываю логирование исключтельно в файлы drweb32.ini:LogFileName = /var/log/drweb_daemon.log drweb32.ini:LogFileName = /var/log/drweb_scanner.log drweb32.ini:LogFileName = /var/log/drweb_updater.log monitor.conf:FileName = /var/log/drweb_monitor.log agent.conf:FileName = /var/log/drweb_agent.log 4. /etc/rc.d/init.d/drwebd restart 5. ls -l /var/log/drweb_* -rw------- 1 drweb drweb 4105 Mar 12 17:29 drweb_daemon.log Лог демона создан, и владельцем является drweb 6. Запускается кроном сканер /opt/drweb/drweb -path=/var/spool/mail|egrep "nfected"|egrep -v "nfected.+0/0|virus/virus" >/var/log/inf 7. ls -l /var/log/drweb_* -rw------- 1 drweb drweb 4573 Mar 12 17:32 drweb_daemon.log -rw------- 1 root root 3134 Mar 12 17:32 drweb_scanner.log Ну тут все понятно: крон работает от рута и создаст что угодно и где угодно 8. Далее проверяю update по крону самого вебера - /etc/cron.d/update: /30 * * * * drweb strace -f -s 256 -e trace=open /opt/drweb/update.pl >/var/drweb/log/strace20 2>&1 egrep /var/log/ /var/drweb/log/strace20 open("/var/log/drweb_updater.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = -1 EACCES (Permission denied) open("/etc/localtime", O_RDONLY) = 3 Fri Mar 12 17:36:01 2010 {W} [8167] Dr.Web ® Updater (Revision: $Id$) started ... Fri Mar 12 17:36:01 2010 {E} [8167] Dr.Web ® Updater (Revision: $Id$) error: cannot open logfile /var/log/drweb_updater.log for appending - Permission denied ERROR: Dr.Web ® Updater: Dr.Web ® Updater (Revision: $Id$) error: cannot open logfile /var/log/drweb_updater.log for appending - Permission denied ! 9. Естественно, лога нет: ls -l /var/log/drweb_* -rw------- 1 drweb drweb 10976 Mar 12 17:50 drweb_daemon.log -rw------- 1 root root 3134 Mar 12 17:32 drweb_scanner.log 10. Теперь разбираюсь, почему лог монитора создается нормально, а указание логирования в файл деятельности агента приводит к невозможности стартовать drweb-monitor Заменяю в /etc/rc.d/init.d/drweb-monitor строку запуска на strace -f -s 256 -e trace=open "$BIN" -c "$CONF" >/var/drweb/log/monitor10 2>&1 /etc/rc.d/init.d/drweb-monitor restart 11. Лог монитора появляется и имеет владельцем drweb. Лог агента - нет. И процесс в итоге не запущен. -rw------- 1 drweb drweb 10976 Mar 12 17:50 drweb_daemon.log -rw-r--r-- 1 drweb drweb 92 Mar 12 17:52 drweb_monitor.log -rw------- 1 root root 3134 Mar 12 17:32 drweb_scanner.log egrep /var/log /var/drweb/log/monitor10 open("/etc/drweb/monitor.conf", O_RDONLY|O_LARGEFILE) = 6 open("/var/log/drweb_monitor.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 7 open("/var/log/drweb_monitor.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 8 [skip] Process 2176 attached Process 2174 suspended [pid 2176] --- SIGSEGV (Segmentation fault) @ 0 (0) --- Process 2174 resumed Process 2176 detached [pid 2174] open("/var/log/drweb_agent.log", O_RDWR|O_CREAT|O_NOCTTY|O_APPEND|O_LARGEFILE, 0640) = -1 EACCES (Permission denied) ) = ? Process 2173 suspended [pid 2174] +++ killed by SIGKILL +++ Process 2173 resumed Process 2173 detached И на этом var/drweb/log/monitor10 заканчивается. II. Меняем исходные данные. 1. /etc/group: cliff:x:18:root,drweb 2. chown root.cliff /var/log 3. chmod 775 /var/log 4. Проверяем drwxrwxr-x 30 root cliff 20480 Mar 12 17:54 log 5. Текущие логи ls -l /var/log/drweb_* -rw------- 1 drweb drweb 10976 Mar 12 17:50 drweb_daemon.log -rw-r--r-- 1 drweb drweb 659 Mar 12 17:54 drweb_monitor.log -rw------- 1 root root 3134 Mar 12 17:32 drweb_scanner.log 6. strace -f -s 256 -e trace=open "$BIN" -c "$CONF" >/var/drweb/log/monitor12 2>&1 7. /etc/rc.d/init.d/drweb-monitor restart 8. egrep /var/log /var/drweb/log/monitor12 open("/etc/drweb/monitor.conf", O_RDONLY|O_LARGEFILE) = 6 open("/var/log/drweb_monitor.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 7 open("/var/log/drweb_monitor.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 8 open("/etc/drweb/monitor/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 6 [skip] Process 4717 attached [skip] Process 4718 attached [skip] [pid 4718] --- SIGCHLD (Child exited) @ 0 (0) --- [pid 4718] open("/etc/drweb/agent.conf", O_RDONLY|O_LARGEFILE) = 0 [pid 4718] open("/var/drweb/run/drweb-agent.pid", O_RDWR|O_CREAT, 0662) = 0 [pid 4718] open("/var/log/drweb_agent.log", O_RDWR|O_CREAT|O_NOCTTY|O_APPEND|O_LARGEFILE, 0640) = 3 [pid 4718] open("/var/log/drweb_agent.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 4 Process 4721 attached (waiting for parent) Process 4721 resumed (parent 4718 ready) Process 4722 attached (waiting for parent) Process 4722 resumed (parent 4718 ready) [skip] 9. ls -l /var/log/drweb_* -rw-r----- 1 drweb drweb 350 Mar 12 18:00 drweb_agent.log -rw------- 1 drweb drweb 14903 Mar 12 17:57 drweb_daemon.log -rw-r--r-- 1 drweb drweb 2270 Mar 12 18:00 drweb_monitor.log -rw------- 1 root root 3134 Mar 12 17:32 drweb_scanner.log 10. /30 * * * * drweb strace -f -s 256 -e trace=open /opt/drweb/update.pl >/var/drweb/log/strace22 2>&1 11. egrep /var/log /var/drweb/log/strace22 open("/var/log/drweb_updater.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 3 -rw-r----- 1 drweb drweb 504 Mar 12 18:22 drweb_agent.log -rw------- 1 drweb drweb 20043 Mar 12 18:20 drweb_daemon.log -rw-r--r-- 1 drweb drweb 2603 Mar 12 18:22 drweb_monitor.log -rw------- 1 root root 6268 Mar 12 18:12 drweb_scanner.log -rw-r--r-- 1 drweb drweb 27923 Mar 12 18:15 drweb_updater.log 12. Ну и для чистоты эксперимента снова удаляю все логи и делаю полный рестарт sendmail+drwed+drweb-monitor: -rw-r----- 1 drweb drweb 854 Mar 12 18:27 drweb_agent.log -rw------- 1 drweb drweb 10458 Mar 12 18:38 drweb_daemon.log -rw-r--r-- 1 drweb drweb 2237 Mar 12 18:27 drweb_monitor.log -rw------- 1 root root 1021732 Mar 12 18:38 drweb_scanner.log -rw-r--r-- 1 drweb drweb 23967 Mar 12 18:35 drweb_updater.log