Назад | Перейти на главную страницу

Ошибка разрешения на запись TCPdump при использовании параметра -w

Я столкнулся с очень странной ошибкой, я запускаю tcpdump от root и хочу регистрировать вывод, когда я делаю

tcpdump -i eth0 -w logs/local.dump

он работает нормально, но когда я устанавливаю путь вывода, как показано ниже, я получаю ошибку разрешения:

tcpdump -i eth0 -w /mnt/local.dump

Разрешения папки «журналы», которая находится в / home / ubuntu, составляет 755 и root: root, то же самое для / mnt - разрешение 755 и root: root. Но я не понимаю, почему я получаю ошибку разрешения, когда устанавливаю вывод как /mnt/local.dump.

Мне не удалось воспроизвести описанные вами симптомы в Ubuntu 14.04. Но я видел эти симптомы в более ранних версиях Ubuntu.

Я обнаружил, что причина в том, что SELinux был настроен так, чтобы ограничивать tcpdump разрешили писать.

В то время я нашел обходной путь: скопировать /usr/sbin/tcpdump к /root/bin/tcpdump и используйте эту копию вместо этого.

Я столкнулся с этой же проблемой в Ubuntu. Похоже, что tcpdump сбрасывает разрешения после выполнения на основе принятого ответа на этот вопрос:

Ошибка tcpdump с отказом в разрешении на centos при использовании с параметром повернутого файла

Я сам не сталкивался с проблемой разрешения, пока не начал экспериментировать с параметрами -C для ограничения размеров файлов. Даже удаление исходного файла, которое у меня было в -w, не привело к восстановлению разрешений и не изменило -w на другой файл в том же каталоге.

Что действительно работало, так это изменение каталогов на место, которое принадлежало root и имело свободные ограничения для целевого каталога и родительских путей.

Я не уверен, что tcpdump делает под капотом, чтобы вызвать эту проблему, возможно, в другой раз я еще немного разобрался бы. Я думаю, что это может что-то кешировать, и как только вы попробуете вариант с вращающимся файлом, если ваши разрешения не настроены правильно, это также нарушит параметры неповорачиваемого файла.