Назад | Перейти на главную страницу

Ограничение размера пинга - FreeBSD

На странице руководства для FreeBSD ping:

 -s packetsize
         Specify the number of data bytes to be sent.  The default is 56,
         which translates into 64 ICMP data bytes when combined with the 8
         bytes of ICMP header data.  Only the super-user may specify val-
         ues more than default.  This option cannot be used with ping
         sweeps.

Кто-нибудь знает, как я могу позволить не суперпользователям отправлять пинги больше 56? Могу ли я увеличить размер по умолчанию или как-то разрешить использование -s пользователям без полномочий root? Я знаю о последствиях для безопасности, так как это может позволить пользователям запускать ping-поток, поэтому, если я могу ограничить это разрешением только одного пользователя (без оболочки), тем лучше.

Вы можете изменить исходный код и изменить поведение. Вы можете увеличить размер по умолчанию, он в сети 98 из ping.c в /usr/src/sbin/ping/. Или вы можете отключить эту функцию онлайн 446 заменив строку на if (0) {. После того, как вы его измените, запустите make install.

Я должен задаться вопросом, зачем вам нужен обычный пользователь для отправки большого сообщения ICMP.

Рассмотрите возможность использования sudo, EX:

coryj  ALL = NOPASSWD: /bin/ping

Это должно позволить пользователю coryj бегать /bin/ping (предостережение: используя любые аргументы, которые ему нравятся, а не только -s) без пароля.

Обратите внимание на последствия этого для безопасности; см. справочные страницы для sudo(8) и sudoers(5).