Страница 1 из 1

права на ping -s

Добавлено: 2010-07-13 11:44:26
HEDG_SS
Доброго времени суток Всем.
Столкнулся со следующей проблемкой.
Пинг работает под обычным пользователем при стандартном размере пакета:

Код: Выделить всё

> ping -c 5 -q ex.ua
PING ex.ua (93.183.204.162): 56 data bytes

--- ex.ua ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 9.606/10.715/12.715/1.196 ms
Нужен пинг из под обычного пользователя с возможностью задавать размер пакета.

Код: Выделить всё

> ping -c 5 -q -s 1400 ex.ua
ping: packet size too large: 1400 > 56: Operation not permitted
Как сделать такое разрешение только для утилиты ping?
Примечание: пинг должен будет выполняться со скрипта через веб....

P.S. заранее благодарен за помощь

Re: права на ping -s

Добавлено: 2010-07-13 11:53:29
BirdGovorun
Так пингани.

Код: Выделить всё

%ping -c 5 -q -s 140 ex.ua
Сказано-же packet size too large

Re: права на ping -s

Добавлено: 2010-07-13 11:58:47
HEDG_SS

Код: Выделить всё

> ping -c 5 -q -s 140 ex.ua
ping: packet size too large: 140 > 56: Operation not permitted
Без разницы!
Запрещено менять размер пакета, все равно какой выставлять.
Используется стандартное MTU 1500.

Пинг c правами root:

Код: Выделить всё

# ping -c 5 -q -s 1400 ex.ua
PING ex.ua (93.183.204.162): 1400 data bytes

--- ex.ua ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 9.783/9.854/9.944/0.069 ms


Re: права на ping -s

Добавлено: 2010-07-13 12:01:22
HEDG_SS
Забыл указать
OC FreeBSD 7.2-STABLE #0

Re: права на ping -s

Добавлено: 2010-07-13 12:32:23
Burner
судо?

Re: права на ping -s

Добавлено: 2010-07-13 12:42:58
HEDG_SS
не хочется использовать sudo, тем более через веб.
Для меня просто не понятно, куда ping пытается получить доступ, что именно ему запрещено...
Права на сам пинг есть (они такие по умолчанию)

Код: Выделить всё

# ls -lh /sbin/ping
-r-sr-xr-x  1 root  wheel    23K Jan 18 17:21 /sbin/ping

Re: права на ping -s

Добавлено: 2010-07-13 12:47:59
Dog
Ман прочитать - не?

Код: Выделить всё

-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.
Настоятельно рекомендую внимательно прочесть предпоследнее предложение.

Re: права на ping -s

Добавлено: 2010-07-13 13:17:11
Burner
HEDG_SS писал(а):не хочется использовать sudo, тем более через веб.
почему?

Re: права на ping -s

Добавлено: 2010-07-13 13:34:12
HEDG_SS
Dog писал(а):Ман прочитать - не?
Прочитал "по диагонали" :oops: .
Практическим путем я к этому же выводу и пришел...
Burner писал(а): почему?
С одной стороны - Sudo не хочется трогать, т.к придется прописывать тогда на всех серверах индивидуальные доступы (внедрять так внедрять..).
С другой - интересно, каким еще способом можно решить эту задачу

Re: права на ping -s

Добавлено: 2010-07-13 14:07:20
Dog
HEDG_SS писал(а):С другой - интересно, каким еще способом можно решить эту задачу
Хакнуть код ping'а ;)

Re: права на ping -s

Добавлено: 2010-07-13 14:28:48
HEDG_SS
Понятно, тогда проще все же через sudo

Re: права на ping -s

Добавлено: 2010-07-13 14:41:49
LMik
В прошлый раз когда было нужно такое, сходил в сурсы поправил 2 строчки пинга.

Re: права на ping -s

Добавлено: 2010-07-13 15:06:27
HEDG_SS
LMik писал(а):В прошлый раз когда было нужно такое, сходил в сурсы поправил 2 строчки пинга.
Действительно элементарно :) !
Сурсы в /usr/src/sbin/ping
Править файл ping.c.

Код: Выделить всё

/*if (uid != 0 && ultmp > DEFDATALEN) {
                                errno = EPERM;
                                err(EX_NOPERM,
                                    "packet size too large: %lu > %u",
                                    ultmp, DEFDATALEN);
                        }*/
Всем огромное спасибо!!!

Re: права на ping -s

Добавлено: 2010-07-13 15:26:00
LMik
Единственное не забудь - пересоберешь систему - и надо пропатчить заново.

Ещё можно исключение внести на uid определенного пользователя, чтобы не все могли слать большие пакета, а только нужный, и рут. Но это уже паранойя всё.

Re: права на ping -s

Добавлено: 2010-07-13 16:15:03
HEDG_SS
Да, такие моменты обычно всплывают неожиданно :)

Re: права на ping -s

Добавлено: 2010-07-14 6:24:30
Burner
Сурсы в /usr/src/sbin/ping
Править файл ping.c.
LMik писал(а):Единственное не забудь - пересоберешь систему - и надо пропатчить заново.
да уж, а еще это на всех серверах делать? Безусловно проще и правильней, чем выдать судо :D

Re: права на ping -s

Добавлено: 2010-07-15 10:24:38
HEDG_SS
Burner писал(а): да уж, а еще это на всех серверах делать? Безусловно проще и правильней, чем выдать судо :D
Это нужно только на одной машине т.к. прикручивался скрипт для мониторинга в Cacti.

P.S. а судо является мерой безопасности, если уже выставлять детально права на одном серваке, тогда имеет смысл уже и выставить на всех остальных.