Изman access.conf
:
Each line of the login access control table has three fields separated by a ":" character (colon): permission:users/groups:origins
The first field, the permission field, can be either a "+" character (plus) for access granted or a "-" character (minus) for access denied.
The second field, the users/group field, should be a list of one or more login names, group names, or ALL (which always matches). To differentiate user entries from group entries, group entries should be written with brackets, e.g. (group).
Итак, ваш /etc/security/access.conf
должен выглядеть так:
+ : root : ALL
+ : (group_name) : ALL
- : ALL : ALL
Если вы не хотите, чтобы он зависал на «несколько секунд», когда сервер не отвечает, добавьте тайм-аут с помощью опции -W
. Например:
ping -c2 -W2 "$1"
-W2
устанавливает два -второго времени. Измените лимит в соответствии с вашими потребностями.
При ссылке на переменные оболочки, такие как $1
, всегда заключайте их в двойные -кавычки, например "$1"
, если только вы явно не знаете и не хотите разбиение слов и расширение имени пути .
Изman ping
:
-W timeout
Time to wait for a response, in seconds. The option affects only timeout in absence of any responses, otherwise ping waits for two RTTs.
Ответ @John1024 подходит -для дистрибутивов Linux. Поскольку ваш вопрос не относится к конкретной операционной системе -, я включу решение BSD.
Команда BSD ping
(, а также Mac OS X )имеет большую степень детализации некоторых временных параметров. Большинство сетевых подключений имеют время кругового -обхода намного меньше одной секунды. Действительно, многие соединения имеют RTT менее одной миллисекунды. На справочной странице FreeBSD дляping
указано, что параметр -W
принимает аргумент в миллисекундах:
-W waittime
Time in milliseconds to wait for a reply for each packet sent. If a reply arrives later, the packet is not printed as replied, but considered as replied when calculating statistics.
Эквивалентная команда, использующая FreeBSD ping
, тогда:
ping -c2 -W2000 "$1"
Более высокое разрешение параметра FreeBSD -W
позволяет указать значение -W
, более близкое к фактическому ожидаемому RTT.
Предположим, что известно, что хост testhost
находится номинально в 75 миллисекундах, туда и обратно -. Значение -W
, равное 80, даст:
jimsdesk : 14:45:58 /root# ping -W80 -c2 testhost
PING testhost (10.111.33.21): 56 data bytes
64 bytes from 10.111.33.21: icmp_seq=0 ttl=240 time=74.385 ms
64 bytes from 10.111.33.21: icmp_seq=1 ttl=240 time=74.478 ms
--- testhost ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 74.385/74.431/74.478/0.046 ms
Меньшее -W
значение 50 дает:
# ping -W50 -c2 testhost
PING testhost (10.111.33.21): 56 data bytes
--- testhost ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss, 2 packets out of wait time
round-trip min/avg/max/stddev = 74.466/74.538/74.611/0.073 ms
Предположим, что другой хост testhost2
находится намного ближе, обычно менее чем в 4 миллисекундах. Мы укажем более жесткий допуск -W, равный 4 миллисекундам. Давайте также увеличим -c
, чтобы выбрать большее количество периодов прохождения пакетов :
# ping -c10 -W4 testhost2
PING testhost2 (10.216.177.146): 56 data bytes
64 bytes from 10.216.177.146: icmp_seq=0 ttl=59 time=3.730 ms
64 bytes from 10.216.177.146: icmp_seq=1 ttl=59 time=3.899 ms
64 bytes from 10.216.177.146: icmp_seq=2 ttl=59 time=3.949 ms
64 bytes from 10.216.177.146: icmp_seq=3 ttl=59 time=3.668 ms
64 bytes from 10.216.177.146: icmp_seq=4 ttl=59 time=3.881 ms
64 bytes from 10.216.177.146: icmp_seq=5 ttl=59 time=3.725 ms
64 bytes from 10.216.177.146: icmp_seq=6 ttl=59 time=3.826 ms
64 bytes from 10.216.177.146: icmp_seq=8 ttl=59 time=3.726 ms
64 bytes from 10.216.177.146: icmp_seq=9 ttl=59 time=3.728 ms
--- testhost2 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss, 1 packets out of wait time
round-trip min/avg/max/stddev = 3.668/3.867/4.539/0.241 ms
Приведенные выше выходные данные показывают, что девять из десяти пакетов прошли путь туда и обратно за 4 миллисекунды или меньше, а один (seq 7 )этого не сделал.
Еще больше снижая скорость, многие RTT в локальной сети составляют чуть менее миллисекунды, но не всегда. Запуск ping -c100 -W1 10.10.1.1
в локальной сети дал:
...
--- 10.10.1.1 ping statistics ---
100 packets transmitted, 100 packets received, 0.0% packet loss, 10 packets out of wait time
round-trip min/avg/max/stddev = 0.664/1.081/18.547/1.898 ms
90 из 100 пакетов вернулись менее чем за миллисекунду, а остальные 10 — нет.
Интерфейс localhost на большинстве компьютеров занимает менее -миллисекунд -. К сожалению, FreeBSD ping
не принимает десятичные значения для -W
:
# ping -c3 -W1 localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.020 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.018 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.020 ms
--- localhost ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.018/0.019/0.020/0.001 ms
# ping -c3 -W.999 localhost
PING localhost (127.0.0.1): 56 data bytes
--- localhost ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss, 3 packets out of wait time
round-trip min/avg/max/stddev = 0.020/0.022/0.025/0.002 ms
Похоже, что -W
значение .999
анализируется как 0
.