barnyard2 的 snort 权限被拒绝

barnyard2 for snort permission denied

我为 snort 安装了 barnyard2,但是当我在下面的 运行 命令时出现这个错误。

[root@localhost snort]# barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort/ -f snort.log -w /etc/snort/bylog.waldo /etc/snort/gen-msg.map /etc/snort/sid-msg.map -C /etc/snort/classification.config 
Running in Continuous mode

    --== Initializing Barnyard2 ==--
Initializing Input Plugins!
Initializing Output Plugins!
Parsing config file "/etc/snort/barnyard2.conf"


+[ Signature Suppress list ]+
----------------------------
+[No entry in Signature Suppress List]+
----------------------------
+[ Signature Suppress list ]+

Barnyard2 spooler: Event cache size set to [2048] 
ERROR: Can not get write access to logging directory "/var/log/barnyard2". (directory doesn't exist or permissions are set incorrectly or it is not a directory at all)
Fatal Error, Quitting..
Barnyard2 exiting

权限为:

[root@localhost snort]# ls -l /var/log/barnyard2 
-rwxrwxrwx. 1 root root 0 Aug 14 16:35 /var/log/barnyard2

在这个 link 这个问题已经解决了,但我不明白如何...
https://forums.freebsd.org/threads/barnyard2-start-service-error.51378/

看起来那里缺少目录标志。错误消息说

ERROR: Can not get write access to logging directory "/var/log/barnyard2". (directory doesn't exist or permissions are set incorrectly or it is not a directory at all)

最后一个 /var/log/barnyard2 根本不是目录的情况可能适用。

备份文件并尝试创建目录/var/log/barnyard2,权限为 640 并具有相应的所有权。

编辑:只要您不知道 /var/log/barnyard2 的内容,请将文件重命名或移动到某个位置(作为根目录 'mv /var/log/barnyard2 /var/log/barnyard2.old')。现在重新启动 barnyard2 可能会有所帮助,它可能会自行创建具有适当权限的目录。否则作为 root 键入 'mkdir /var/log/barnyard2',然后通过键入 'chmod 640 /var/log/barnyard2' 设置权限。此外,通过键入 'ps -u | grep "barnyard2"' 检查 barnyard2 所属的用户 运行。然后通过键入 'groups <user>' 为该用户找到合适的组,然后通过键入 'chown <user>:<group> /var/log/barnyard2' 将目录的所有权设置给相应的用户。

'/var/log/barnyard2' 应该是日志目录。在您的情况下,它是一个文件。因此,删除该文件并创建一个目录。这是步骤。以根用户身份输入命令。

rm /var/log/barnyard2
mkdir /var/log/barnyard2