Chạy tcpdump với tư cách người dùng không phải root
Đây là một hướng dẫn ngắn để thiết lập tcpdump với tư cách là người dùng không phải root nhưng chỉ để những người dùng cụ thể được thêm vào một nhóm thực sự có thể chạy tcpdump. Điều này khác với việc chạy tcpdump từ sudo vốn vẫn sẽ thực sự chạy tcpdump với tư cách là người dùng root.
Ngoài ra, bạn có thể kiểm tra tệp /usr/bin/tcpdump
, nếu nó không cư trú tại /usr/sbin/tcpdump
Bạn có thể kích hoạt tính năng này cho người dùng không phải root theo phương pháp an toàn bằng cách sử dụng các lệnh sau
groupadd tcpdump
addgroup <tên người dùng> tcpdump
chown root.tcpdump /usr/sbin/tcpdump
chmod 0750/usr/sbin/tcpdump
setcap "CAP_NET_RAW+eip" /usr/sbin/tcpdump
Như một lời giải thích ngắn gọn về những điều trên.
Chúng tôi tạo một nhóm gọi là tcpdump
Sau đó, chúng tôi thêm người dùng hoặc những người dùng mà chúng tôi muốn có thể sử dụng tcpdump vào nhóm.
Sau đó, chúng tôi thay đổi người dùng/nhóm tcpdump để khớp với gốc và nhóm mới.
Sau đó, chúng tôi đảm bảo rằng các quyền được đặt trên tcpdump để các thành viên của nhóm có thể thực thi nhưng những người dùng bình thường khác thì không thể.
Sau đó, chúng tôi sử dụng setcap để cấp đặc quyền CAP_NET_RAW cho tệp thực thi khi nó chạy. Điều này là để tcpdump có thể mở ổ cắm thô của nó, điều này thường không được phép trừ khi bạn là người chủ.
tìm thấy trên: https://www.stev.org/post/howtoruntcpdumpasroot