Opening RAW sockets in linux without being superuser

前端 未结 2 1805
花落未央
花落未央 2021-02-11 02:19

I have to write a ping function to run on Linux. The language is C++, so C if fine too.

Searching on the Internet and looking at the source code for the ping

相关标签:
2条回答
  • 2021-02-11 02:35

    You can make your program a SUID command, granting it effectively root permissions, without granting them to the executing user. For an example and explanation see here.

    0 讨论(0)
  • 2021-02-11 02:43

    ping needs the cap_net_raw capability to do this without (other) superuser rights, and so does your program. Run

    setcap cap_net_raw+ep your_executable_file
    

    as root, and then normal users will be able to use the program.

    0 讨论(0)
提交回复
热议问题