, но вам понадобится sed
, как указано в посте:
sed -n '/pattern/,/^$/p' file
Ваше первое решение лучше. Когда tcpdump переходит к пользователю, не являющемуся -root, он также теряет перечисленные вами возможности (вместе со всеми остальными ). Если вы хотите ограничить ущерб от любого скомпрометированного процесса tcpdump, использование -Z
— отличное начало, и это намного лучше, чем запуск привилегированного пользователя root.
Обратите внимание, что пользователя nobody
не следует использовать в качестве общего «непривилегированного» пользователя.Это связано с тем, что все, что работает от имени этого пользователя, сможет мешать друг другу. Гораздо лучше создать нового пользователя специально для tcpdump со всеми ограничениями, которые вы хотите, и перейти к этому пользователю.
Если вам нужна дополнительная безопасность, вы можете установить ее в chroot (обратите внимание, что это обеспечивает безопасность, только если процесс не является привилегированным, в противном случае он может выйти из chroot )или обязательных элементов управления доступом, таких как AppArmor или SELinux, чтобы свести к минимуму мошеннический доступ к файловой системе. Rlimits тоже было бы разумно.