ERROR 'Operation not permitted' inside Docker as user
Describe the bug ERROR 'Operation not permitted' inside Docker
from pythonping import ping ping('8.8.8.8', verbose=True)
To Reproduce
- run docker container
$ docker run -it --rm --name pithon_ping python:3.9-slim bash
- install module
root@814557ae73c5:/# pip3 install pythonping Collecting pythonping Downloading pythonping-1.1.4-py3-none-any.whl (16 kB) Installing collected packages: pythonping Successfully installed pythonping-1.1.4 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[notice] A new release of pip is available: 23.0.1 -> 23.3.1 [notice] To update, run: pip install --upgrade pip
- create user
root@814557ae73c5:/# useradd test
- change to user
root@814557ae73c5:/# su - test su: warning: cannot change directory to /home/test1: No such file or directory
- test ping as user
$ python3 Python 3.9.18 (main, Sep 7 2023, 13:33:59) [GCC 12.2.0] on linux Type "help", "copyright", "credits" or "license" for more information.
from pythonping import ping ping('8.8.8.8', verbose=False) Traceback (most recent call last): File "
", line 1, in File "/usr/local/lib/python3.9/site-packages/pythonping/init.py", line 81, in ping comm = executor.Communicator(target, provider, timeout, interval, socket_options=options, verbose=verbose, output=out, File "/usr/local/lib/python3.9/site-packages/pythonping/executor.py", line 293, in init self.socket = network.Socket(target, 'icmp', options=socket_options, source=source) File "/usr/local/lib/python3.9/site-packages/pythonping/network.py", line 31, in init self.socket = socket.socket(socket.AF_INET, socket.SOCK_RAW, self.protocol) File "/usr/local/lib/python3.9/socket.py", line 232, in init _socket.socket.init(self, family, type, proto, fileno) PermissionError: [Errno 1] Operation not permitted
quit() $ exit
- test as root
root@814557ae73c5:/# python3 Python 3.9.18 (main, Sep 7 2023, 13:33:59) [GCC 12.2.0] on linux Type "help", "copyright", "credits" or "license" for more information.
from pythonping import ping ping('8.8.8.8', verbose=False) Reply from 8.8.8.8, 29 bytes in 1.93ms Reply from 8.8.8.8, 29 bytes in 1.73ms Reply from 8.8.8.8, 29 bytes in 1.5ms Reply from 8.8.8.8, 29 bytes in 1.53ms
Round Trip Times min/avg/max is 1.5/1.67/1.93 ms
Expected behavior work as user and root
Screenshots NONE
Desktop (please complete the following information):
- OS: Debian 11