сокет ping: Разрешение отклонено

Я - корень.
проверьте с помощью ping-запросов 127.0.0.1 и ошибка возврата;

root@sam-PC:~# ping 127.0.0.1 
socket: Permission denied

root@sam-PC:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:00:ff:ff:00:00  
          inet addr:192.168.100.104  Bcast:192.168.100.255  Mask:255.255.255.0
          inet6 addr: fe80::200:ffff:feff:0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2220 (2.2 KB)  TX bytes:524 (524.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:40 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3160 (3.1 KB)  TX bytes:3160 (3.1 KB)



root@sam-PC:~# ping 192.168.100.100
socket: Permission denied

кто знает почему?

5
задан 6 January 2017 в 00:25

2 ответа

Для этой проблемы мы должны добавить следующие строки к /etc/group:

inet:x:3003:root
net_raw:x:3004:root
1
ответ дан 23 November 2019 в 10:41

Базовый ping использует sock_raw. Для создания такого сокета у Вас должны быть полномочия пользователя root.

int main(void) {
    rawsock = socket(AF_INET, SOCK_RAW, protocol->p_proto);
    if(rawsock < 0){
        perror("socket");
        return -1;
    }
}

Если владелец ping не будет корнем, то ошибка не будет зафиксирована. Используя Linux механизм возможности не может решить проблему.

0
ответ дан 23 November 2019 в 10:41

Другие вопросы по тегам:

Похожие вопросы: