Wiki
Clone wikicomp-house.repo / ping-need-root
проблема
Утилита ping не работает от обычного пользователя. Только от пользователя root.
$ping www.lenta.ru ping: icmp open socket: Операция не позволяется
Причина.
Ping всегда требовал и требует привелигии root на работу с сокетами, поэтому это одна из утилит с установленным битом suid. Начиная с FC15 бит suid снимают, давая привелегии более адресно через setcap.
Таким образом, если ping теряет бит suid или для новых дистрибутивов привелегию cap_net_raw=ep, то и возникает данная ошибка.
Решение
Установить бит suid (устарело)
chmod u+s /bin/ping
Начиная с FC15 проблема решается
/usr/sbin/setcap cap_net_raw=ep /bin/ping
Проверка
ls -l /usr/bin/ping -rwxr-xr-x 1 root root 40628 февр. 10 20:56 /usr/bin/ping getcap /usr/bin/ping /usr/bin/ping = cap_net_raw+ep
Updated