rex*_*ans 15 permissions virtual-machines ping
我正在运行具有多个虚拟机的 vserver 环境。单个VM存在以下问题:
$ ping 8.8.8.8
ping: icmp open socket: Operation not permitted
$ ls -l $(which ping)
-rwsr-xr-x 1 root root 30736 2007-01-31 00:10 /bin/ping
$ whoami
root
$ mount
/dev/hdv1 on / type ufs (defaults)
none on /proc type proc (0)
none on /tmp type tmpfs (size=16m,mode=1777)
none on /dev/pts type devpts (gid=5,mode=620)
$ uname -a
Linux v-web1 2.6.27.55-vs2.3.0.36.9 #1 SMP Tue Apr 28 11:35:00 CEST 2015 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
请注意,在主机以及所有其他 VM 主机上,Ping 工作正常。
有没有人有任何想法可以帮助我?
Lin*_*inx 17
TL;DR 版本:重新安装 iputils-ping
我在网上看到有人建议使用
chmod u+s $( which ping );
Run Code Online (Sandbox Code Playgroud)
然而,这将允许用户改变预加载和洪水。这可能导致 USER 能够拒绝您的本地机器或另一台机器或您的网络的服务。
我尝试了@nabil-bourenane 的建议,重新安装iputils-ping
为我解决了问题并且没有设置 SUID 位。
username@server:~$ ls -l $( which ping );
-rwxr-xr-x 1 root root 44104 Nov 8 2014 /bin/ping
Run Code Online (Sandbox Code Playgroud)
如果设置了 SUID 位,它将看起来像
username@server:~$ ls -l $( which ping );
-rwsr-xr-x 1 root root 44104 Nov 8 2014 /bin/ping
Run Code Online (Sandbox Code Playgroud)
解决方案是将 Linux 系统功能设置为允许主机上的原始套接字。
由于这是一个非常特定于虚拟服务器的问题,解决方案是创建一个名为的单行文件/etc/vservers/VMNAME/bcapabilities
:
NET_RAW
Run Code Online (Sandbox Code Playgroud)
并重新启动虚拟机。
归档时间: |
|
查看次数: |
27193 次 |
最近记录: |