TCP Wrappers
Многие системные администраторы UNIX знакомы с использованием библиотеки TCP для управления доступа к определённым сетевым службам. Все сетевые службы, управляемые демоном xinetd (а также любые программы со встроенной поддержкой libwrap) могут использовать библиотеку TCP для управления доступом. xinetd может использовать файлы /etc/hosts.allow и /etc/hosts.deny для настройки доступа к системным службам. Как и следует из имени файла, hosts.allow (разрешить узлам) содержит список правил для клиентов, имеющих доступ к сетевым службам, управляемым xinetd , а hosts.deny (запретить узлам) содержит правила, запрещающие доступ. Файл hosts.allow имеет преимущество перед файлом hosts.deny . Правила разрешения или запрета доступа могут определяться для отдельного IP адреса (или имени узла) или для нескольких клиентов сразу. За дополнительной информацией обратитесь к Официальному справочному руководству по Red Hat Linux и странице руководства man hosts_access .
xinetd
Для управления доступом к службам Интернет используется демон xinetd , который является безопасной заменой для inetd . Демон xinetd экономит системные ресурсы, обеспечивает управление доступом и протоколирование, а также может использоваться для запуска серверов специального назначения. xinetd можно использовать для предоставления доступа или запрета доступа только определённым узлам, для предоставления доступа к службе в определённое время, для ограничения количества входящих подключений и/или нагрузки, создаваемой подключениями и т.д.
xinetd работает постоянно и прослушивает все порты служб, которыми он управляет. Когда управляемая служба получает запрос на установление соединения, xinetd запускает соответствующий сервер этой службы.
Файлом настройки демона xinetd является /etc/xinetd.conf , но изучив его содержимое, вы найдете что он содержит только несколько значений по умолчанию и указание включить каталог /etc/xinetd.d . Чтобы включить или отключить службу xinetd , отредактируйте её файл конфигурации в каталоге /etc/xinetd.d . Если параметр disable имеет значение yes , это означает что служба отключена. Если параметр disable имеет значение no , служба включена. Если вы изменили один из файлов конфигурации xinetd или его состояние в Serviceconf , ntsysv или chkconfig , вы должны перезапустить xinetd , выполнив команду service xinetd restart , чтобы изменения вступили в силу. Список сетевых служб, управляемых демоном xinetd можно увидеть, просмотрев содержимое каталога /etc/xinetd.d , выполнив команду ls /etc/xinetd.d .
| Назад | Начало | Вперед |
| Управление доступом к службам | Вверх | Serviceconf |
Использование TCP Wrappers
Как было сказано ранее, инструмент TCP Wrappers играет роль посредника между inetd и целевым сервером. Средства TCP Wrappers применяются для повышения безопасности системы; они позволяют задавать правила установления соединений, защищая тем самым сервер от нежелательного взаимодействия. Предположим, что вы хотите, чтобы доступ к серверу Telnet имели только пользователи, работающие в вашей локальной сети. Программу, обеспечивающую работу сервера Telnet, можно настроить так, чтобы она отвергала попытки обращения с узлов, для обслуживания которых сервер не предназначен. Однако не все серверы предоставляют такие возможности. Передача TCP Wrappers полномочий по управлению соединением повышает гибкость системы, не требуя при этом внесения изменений в программы.
Для управления работой TCP Wrappers используются два файла: /etc/hosts . allow и /etc/hosts.deny. Эти файлы имеют одинаковый формат, но выполняют противоположные действия. В файле hosts.allow описываются узлы сети, которым разрешено обращаться к данному компьютеру; для всех остальных узлов доступ запрещен. Файл hosts.deny, напротив, содержит описания узлов, доступ с которых запрещен; все остальные узлы могут устанавливать соединение с данным компьютером. Если в системе присутствуют оба файла, приоритет имеет файл hosts . allow. Благодаря этому вы имеете возможность задать ограничения в файле hosts.deny, а затем разрешить доступ для отдельных компьютеров. Если сведения о сервере не включены ни в один из файлов (сервер может быть описан либо непосредственно, либо с помощью групповой операции), TCP Wrappers разрешает доступ к нему для всех узлов сети.
cw TCP Wrappers можно сравнить с локальным брандмауэром, работа которого будет рассматриваться в главе 25. При этом TCP Wrappers реализует дополнительную защиту, которая может оказаться полезной, если брандмауэр настроен
неправильно, кроме того, этот инструмент предоставляет новые возможности,
например, фильтрацию на основе имени группы NIS.
Подобно другим конфигурационным файлам, символ # в начале строки означает, что в данной строке содержатся комментарии. Запись в файле hosts.allow или hosts . deny имеет следующий формат:
список_демонов : список_клиентов
В списке демонов указывается один или несколько серверов, к которым применяется данное правило. Если в списке указано несколько серверов, их имена разделяются запятыми или пробелами. Имена серверов должны совпадать с именами, содержащимися в файле /etc/services. Кроме имен серверов в этом поле можно также указывать ключевое слово ALL, определяющее групповую операцию. Оно означает, что правило применяется ко всем серверам, управляемым TCP Wrappers.
ВНИМАНИЕ Не забывайте, что не все серверы запускаются с помощью TCP Wrappers. Поэто-f му групповая операция ALL может не включать все серверы, выполняющиеся в системе. Аналогично, указав сервер в списке демонов, вы не защитите его, если для управления им не применяются inetd и TCP Wrappers, либо если он не использует TCP Wrappers непосредственно.
Список клиентов определяет компьютеры, которым разрешен или запрещен доступ к серверу. Подобно списку доменов, в списке серверов может быть указан один узел либо несколько узлов. Идентификаторы узлов разделяются запятыми или пробелами. Описания узлов сети могут быть представлены в перечисленных ниже форматах.
— IP-адрес. В списке клиентов можно указать конкретный IP-адрес, например 10.102.201.23. Такое описание определяет только этот адрес.
— Диапазон IP-адресов. Задать диапазон IP-адресов можно несколькими способами. Проще всего сделать это, указав в составе адреса меньше четырех десятичных чисел; в этом случае адрес должен заканчиваться точкой. Например, значение 10.102.201. соответствует сети 10.102.201.0/24. Кроме того, можно использовать запись типа IP-адрес/маска. В файлах hosts.allow и hosts.deny также поддерживаются адреса IPv6. Они задаются в виде [л:л:л:л:л:л:л:л] /длина, где
л — значения компонентов адреса, а длина — это число битов, используемых для представления диапазона.
— Имя узла. Узел можно описывать с помощью его доменного имени, например badcracker. threeroomco. com. Этим способом определяется только один узел. В этом случае при получении запроса система выполняет преобразование имен, а, следовательно, если сервер DNS работает некорректно, при идентификации компьютера могут быть допущены ошибки.
— Домен. Домен можно задавать так же, как вы задается доменное имя одного компьютера. Отличие состоит лишь в том, что в данном случае имя должно начинаться с точки. Если в файле указано имя . threeroomco. com, оно определяет все компьютеры, принадлежащие домену threeroomco. com.
— Имя группы NIS. Если последовательность символов начинается со знака @, оно интерпретируется как имя группы NIS (Network Information Services — сетевая информационная служба). Этот метод предполагает, что в сети функционирует сервер NIS.
В списке клиентов могут присутствовать ключевые слова, определяющие групповые операции. Назначение этих ключевых слов описано ниже.
— ALL. Идентифицирует все компьютеры.
— LOCAL. Определяет все локальные компьютеры на основании анализа имени узла. Если в имени отсутствует точка, соответствующий узел считается локальным.
— UNKNOWN. Данное ключевое слово задает все компьютеры, чьи доменные имена не могут быть получены средствами преобразования имен.
— KNOWN. Идентифицирует компьютеры, доменные имена и IP-адреса которых известны системе.
— PARANOID. Определяет компьютеры, имена которых не соответствуют IP-адресам.
При использовании последних трех ключевых слов надо соблюдать осторожность, поскольку, если они присутствуют в списке клиентов, компьютер обращается к серверу DNS. Неисправность сетевого оборудования может привести к ненадежной работе сервера DNS. Если сервер DNS недоступен, получить доменное имя компьютера не удастся. Пример файла /etc/hosts . allow, содержащего две строки, приведен ниже.
telnet,ftp : 192.168.34. dino.pangaea.edu ssh : LOCAL .pangaea.edu
Первая строка задает правила установления соединений для серверов Telnet и FTP, разрешая доступ к ним только из сети 192.168.34.0/24и с компьютера dino .pangaea.edu. Вторая строка сообщает о том, что доступ к серверу SSH разрешен только для машин локальной сети, а также для компьютеров, принадлежащих домену pangaea. edu. Поскольку другие серверы не указаны в списках демонов, TCP Wrappers не блокирует доступ к ним. Например, если вы запустите через inetd и TCP Wrappers Apache, обратиться к этому серверу сможет каждый желающий.
Используя в списке клиентов записи типа пользователь®компьютер, вы можете управлять доступом отдельных пользователей, работающих на удаленных узлах. Для того чтобы это было возможно, на клиентском компьютере должен выполняться сервер ident (в некоторых системах он называется auth), который возвращает имя пользователя, работающего с конкретным сетевым портом. Компьютер, использующий TCP Wrappers, передает запрос клиентской машине и получает имя пользователя. В этом случае соединение устанавливается с некоторой задержкой, а информация о пользователе, полученная из Internet, не всегда заслуживает доверия. Поэтому данную возможность лучше использовать в локальной сети, где вы имеете возможность контролировать конфигурацию всех компьютеров.
В составе правила может присутствовать дополнительное ключевое слово EXCEPT. Оно определяет исключения из этого правила. Рассмотрим следующую запись, содержащуюся в файле /etc/hosts.deny:
www : badcracker.org EXCEPT goodguy@exception.badcracker.org
В данном случае доступ к Web-серверу запрещается для всех компьютеров, принадле-жащих доменуbadcracker. org. Исключением являются лишь запросы, полученные от пользователяgoodguy@exception. badcracker. огд.Аналогичный результат мож-но получить, включив правило для goodguy@exception.badcracker.org в файл /etc/hosts.allow.
Если перед вами стоит задача максимально повысить безопасность системы, вы можете начать настройку с создания файла /etc/hosts .deny, содержащего следующую информацию:
ALL : ALL
Эта запись блокирует доступ ко всем серверам, поддерживаемым TCP Wrappers, с любого компьютера, независимо от его адреса. Затем можно постепенно разрешать доступ к серверам, составляя соответствующие правила и записывая их в файл /etc/hosts. allow. Возможности доступа должны ограничиваться необходимым минимумом. В частности, к серверам, чувствительным к попыткам взлома извне, например к Telnet, следует разрешить доступ только для определенных компьютеров. (Дело в том, что в процессе Telnet-взаимодействия данные, в том числе пароль, передаются в незашифрованном виде. Строго говоря, если компьютер содержит важные данные, на нем не следует вовсе устанавливать Telnet-сервер.
Tcpd
Библиотека libwrap включённая в комплекс предоставляет возможность контроля доступа к рабочей станции и другим программам собранным с её поддержкой.
Внимание! сервис ограничения доступа действует на сервисы которые запускаются через inetd и демоны собранные с поддержкой tcp wrappers. Например такие как sshd
Установка
Пакет устанавливается вместе с операционной средой. При необходимости процедура установки стандартная.
Пакет присутствует в хранилище пакетов debian.
Для установки пакета
- в командной строке: следует выполнить команду # apt-get install tcpd
- в графическом режиме: воспользоваться специализированной программой управления пакетами
После установки пакет готов к использованию.
Некоторые часто используемые команды
# /etc/init.d/openbsd-inetd restart - перезапуск сервера inetd с помощью которого запускается Tcpd/libwrap # netstat -nl - проверка открытых подключений # netstat -a | grep ESTABLISH # nmap - сканирование портов удалённого сервера # lsof -i tcp:3128 - кто работает с портом
Файлы конфигурации
Для правильного ограничения доступа к рабочей станции пакет необходимо настроить. Файлы конфигурации программы — /etc/hosts.allow и /etc/hosts.deny. По умолчанию (в debian) они настроена так, что доступ разрешён ко всем службам со всех хостов. Эти два файла работают также как и стандартные правила брандмауэра. Сначала демон Tcpd/libwrap обрабатывает пакеты пропуская их через содержимое файла hosts.allow, а затем через файл hosts.deny. Если машина не найдена в списках, значит ей можно подключиться.
Внимание! Эти файлы не относятся к NFS, но системе необходимо разрешение на подключение к машине, чтобы она смогла использовать сервер NFS.
В файлах конфигурации используется следующий формат записи (синтаксис)
daemon_list : client_list [ : shell_command ]
В списке демонов daemon_list указывается один или несколько серверов, к которым применяется данное правило. Если в списке указано несколько серверов, их имена разделяются запятыми или пробелами. Имена серверов должны совпадать с именами, содержащимися в файле /etc/services.
Для daemon_list и client_list могут быть использованы групповые символы
ALL - соответствует всё, т.е. правило применяется ко всем серверам, управляемым TCP Wrappers LOCAL - соответствует любой хост, имя которого не содержит символа точки. UNKNOWN - соответствует любому пользователю, имя которого неизвестно, и соответствует любому хосту, чье имя или адрес неизвестны Следует использовать с осторожностью: имена хостов могут быть недоступны из-за временных проблем с именем сервера KNOWN - соответствует любой пользователь, чье имя известно и соответствует любому хосту, чье имя и адрес известны. Следует использовать с осторожностью: имена хостов могут быть недоступны из-за временных проблем с именем сервера. PARANOID - соответствует любой хост, имя которого не соответствует его адресу. Когда TCPD построен с-DPARANOID (режим по умолчанию), он отвергает запросы от таких клиентов не глядя на таблицы управления доступом.
В daemon_list и client_list можгут быть использованы операторы
EXCEPT - соответствует всем соединениям list_1 (до оператора) кроме list_2 (после оператора). Операторы КРОМЕ могут быть вложенными: если язык управления поддерживает использование скобок - `a EXCEPT b EXCEPT c´ would parse as `(a EXCEPT (b EXCEPT c))´.
В правилах могут быть указаны shell_command (команды оболочки) выполняющих роль «ловушек». Использование shell_command выступает в качестве первичного контроля доступа на рабочую станцию. Команды оболочки не должны полагаться на PATH. Правильным является использование абсолютных путей или явное определение PATH.
Команды оболочки имеют доступ к следующим переменным
%a (%A) - адрес хоста клиента (сервера) %c - информация о клиенте: пользователь@хост, пользователь@адрес, имя хоста, или просто адрес, в зависимости от того, сколько информации доступно %d - имя демона (значение ARGV[0]) %h (%H) - имя хоста клиента (сервера) или адрес, если имя хоста недоступно %n (%N) - имя хоста клиента (сервера) (или "unknown" или "paranoid") %r (%R) - номер порта клиента (сервера) (или "0") %p - идентификатор процесса-демона %s - информация о сервере: демон@хост, демон@адрес, или просто имя демона, в зависимости от того, сколько информации доступно %u - имя пользователя клиента (или "unknown"). %% - раскрывает один символ `%'
hosts.allow
/etc/hosts.allow — файл с перечнем правил (наборов служб/хостов) устанавливающих разрешение на доступ.
Примеры
ALL : 127.0.0.1, 192.168. - разрешить доступ ко всем службам с хоста 127.0.0.1 и подсети 192.168. mysqld : .example.net - разрешить доступ к mysqld подсети .example.net ALL : LOCAL EXCEPT ftpd : ALL - разрешить доступ ко всем службам с локального домена кроме службы ftpd sshd: ALL \ - разрешить доступ к sshd всем хостам (перенос строки) EXCEPT 216.73.92. .microsoft.com : ALLOW кроме подсетей 216.73.92. .microsoft.com
hosts.deny
/etc/hosts.deny — файл с перечнем правил (наборов служб/хостов) устанавливающих запрет на доступ.
Примеры
mysqld : ALL - запретить доступ к mysqld всем хостам ALL : ALL \ - запретить доступ ко всем службам всем хостам (перенос строки) EXCEPT localhost:DENY кроме localhost in.tftpd: ALL : \ - запретить доступ к in.tftpd всем хостам (перенос строки) (/usr/sbin/safe_finger -l @%h | \ и выполнить команду /usr/bin/mail -s %d-%h root) &
Литература
- Защити свой сервер с помощью hosts.allow и hosts.deny
- Подготовка к экзамену LPI 201: Предоставление доступа к файлам и сервисам
- настройка SSH для доступа к серверу
- Использование TCP Wrappers
Справочная информация
- 26.11.2011: Tcpd: создание статьи википедии, описание настройки файлов конфигурации hosts.allow и hosts.deny
Использование TCP Wrappers
Как было сказано ранее, инструмент TCP Wrappers играет роль посредника между inetd и целевым сервером. Средства TCP Wrappers применяются для повышения безопасности системы; они позволяют задавать правила установления соединений, защищая тем самым сервер от нежелательного взаимодействия. Предположим, что вы хотите, чтобы доступ к серверу Telnet имели только пользователи, работающие в вашей локальной сети. Программу, обеспечивающую работу сервера Telnet, можно настроить так, чтобы она отвергала попытки обращения с узлов, для обслуживания которых сервер не предназначен. Однако не все серверы предоставляют такие возможности. Передача TCP Wrappers полномочий по управлению соединением повышает гибкость системы, не требуя при этом внесения изменений в программы.
Для управления работой TCP Wrappers используются два файла: /etc/hosts.allow и /etc/hosts.deny. Эти файлы имеют одинаковый формат, но выполняют противоположные действия. В файле hosts.allow описываются узлы сети, которым разрешено обращаться к данному компьютеру; для всех остальных узлов доступ запрещен. Файл hosts.deny, напротив, содержит описания узлов, доступ с которых запрещен; все остальные узлы могут устанавливать соединение с данным компьютером. Если в системе присутствуют оба файла, приоритет имеет файл hosts.allow. Благодаря этому вы имеете возможность задать ограничения в файле hosts .deny, а затем разрешить доступ для отдельных компьютеров. Если сведения о сервере не включены ни в один из файлов (сервер может быть описан либо непосредственно, либо с помощью групповой операции), TCP Wrappers разрешает доступ к нему для всех узлов сети.
TCP Wrappers можно сравнить с локальным брандмауэром, работа которого будет рассматриваться в главе 25. При этом TCP Wrappers реализует дополнительную защиту, которая может оказаться полезной, если брандмауэр настроен неправильно, кроме того, этот инструмент предоставляет новые возможности, например, фильтрацию на основе имени группы NIS.
Подобно другим конфигурационным файлам, символ # в начале строки означает, что в данной строке содержатся комментарии. Запись в файле hosts.allow или hosts.deny имеет следующий формат:
В списке демонов указывается один или несколько серверов, к которым применяется данное правило. Если в списке указано несколько серверов, их имена разделяются запятыми или пробелами. Имена серверов должны совпадать с именами, содержащимися в файле /etc/services. Кроме имен серверов в этом поле можно также указывать ключевое слово ALL, определяющее групповую операцию. Оно означает, что правило применяется ко всем серверам, управляемым TCP Wrappers.
Не забывайте, что не все серверы запускаются с помощью TCP Wrappers. Поэтому групповая операция ALL может не включать все серверы, выполняющиеся в системе. Аналогично, указав сервер в списке демонов, вы не защитите его, если для управления им не применяются inetd и TCP Wrappers, либо если он не использует TCP Wrappers непосредственно.
Список клиентов определяет компьютеры, которым разрешен или запрещен доступ к серверу. Подобно списку доменов, в списке серверов может быть указан один узел либо несколько узлов. Идентификаторы узлов разделяются запятыми или пробелами. Описания узлов сети могут быть представлены в перечисленных ниже форматах.
• IP-адрес. В списке клиентов можно указать конкретный IP-адрес, например 10.102.201.23. Такое описание определяет только этот адрес.
• Диапазон IP-адресов. Задать диапазон IP-адресов можно несколькими способами. Проще всего сделать это, указав в составе адреса меньше четырех десятичных чисел; в этом случае адрес должен заканчиваться точкой. Например, значение 10.102.201. соответствует сети 10.102.201.0/24. Кроме того, можно использовать запись типа IP-адрес/маска. В файлах hosts.allow и hosts.deny также поддерживаются адреса IPv6. Они задаются в виде [n:n:n:n:n:n:n:n]/длина, где n — значения компонентов адреса, а длина — это число битов, используемых для представления диапазона.
• Имя узла. Узел можно описывать с помощью его доменного имени, например badcracker.threeroomco.com. Этим способом определяется только один узел. В этом случае при получении запроса система выполняет преобразование имен, а, следовательно, если сервер DNS работает некорректно, при идентификации компьютера могут быть допущены ошибки.
• Домен. Домен можно задавать так же, как вы задается доменное имя одного компьютера. Отличие состоит лишь в том, что в данном случае имя должно начинаться с точки. Если в файле указано имя .threeroomco.com, оно определяет все компьютеры, принадлежащие домену threeroomco.com.
• Имя группы NIS. Если последовательность символов начинается со знака @, оно интерпретируется как имя группы NIS (Network Information Services — сетевая информационная служба). Этот метод предполагает, что в сети функционирует сервер NIS.
В списке клиентов могут присутствовать ключевые слова, определяющие групповые операции. Назначение этих ключевых слов описано ниже.
• ALL. Идентифицирует все компьютеры.
• LOCAL. Определяет все локальные компьютеры на основании анализа имени узла. Если в имени отсутствует точка, соответствующий узел считается локальным.
• UNKNOWN. Данное ключевое слово задает все компьютеры, чьи доменные имена не могут быть получены средствами преобразования имен.
• KNOWN. Идентифицирует компьютеры, доменные имена и IP-адреса которых известны системе.
• PARANOID. Определяет компьютеры, имена которых не соответствуют IP-адресам.
При использовании последних трех ключевых слов надо соблюдать осторожность, поскольку, если они присутствуют в списке клиентов, компьютер обращается к серверу DNS. Неисправность сетевого оборудования может привести к ненадежной работе сервера DNS. Если сервер DNS недоступен, получить доменное имя компьютера не удастся. Пример файла /etc/hosts.allow, содержащего две строки, приведен ниже.
telnet,ftp : 192.168.34. dino.pangaea.edu
ssh : LOCAL .pangaea.edu
Первая строка задает правила установления соединений для серверов Telnet и FTP, разрешая доступ к ним только из сети 192.168.34.0/24 и с компьютера dino.pangaea.edu. Вторая строка сообщает о том, что доступ к серверу SSH разрешен только для машин локальной сети, а также для компьютеров, принадлежащих домену pangaea.edu. Поскольку другие серверы не указаны в списках демонов, TCP Wrappers не блокирует доступ к ним. Например, если вы запустите через inetd и TCP Wrappers Apache, обратиться к этому серверу сможет каждый желающий.
Используя в списке клиентов записи типа пользователь@компьютер, вы можете управлять доступом отдельных пользователей, работающих на удаленных узлах. Для того чтобы это было возможно, на клиентском компьютере должен выполняться сервер ident (в некоторых системах он называется auth), который возвращает имя пользователя, работающего с конкретным сетевым портом. Компьютер, использующий TCP Wrappers, передает запрос клиентской машине и получает имя пользователя. В этом случае соединение устанавливается с некоторой задержкой, а информация о пользователе, полученная из Internet, не всегда заслуживает доверия. Поэтому данную возможность лучше использовать в локальной сети, где вы имеете возможность контролировать конфигурацию всех компьютеров.
В составе правила может присутствовать дополнительное ключевое слово EXCEPT. Оно определяет исключения из этого правила. Рассмотрим следующую запись, содержащуюся в файле /etc/hosts.deny:
www : badcracker.org EXCEPT goodguy@exception.badcracker.org
В данном случае доступ к Web-серверу запрещается для всех компьютеров, принадлежащих домену badcracker.org. Исключением являются лишь запросы, полученные от пользователя goodguy@badcracker.org. Аналогичный результат можно получить, включив правило для goodguy@exception.badcracker.org в файл /etc/hosts.allow.
Если перед вами стоит задача максимально повысить безопасность системы, вы можете начать настройку с создания файла /etc/hosts.deny, содержащего следующую информацию:
Эта запись блокирует доступ ко всем серверам, поддерживаемым TCP Wrappers, с любого компьютера, независимо от его адреса. Затем можно постепенно разрешать доступ к серверам, составляя соответствующие правила и записывая их в файл /etc/hosts.allow. Возможности доступа должны ограничиваться необходимым минимумом. В частности, к серверам, чувствительным к попыткам взлома извне, например к Telnet, следует разрешить доступ только для определенных компьютеров. (Дело в том, что в процессе Telnet-взаимодействия данные, в том числе пароль, передаются в незашифрованном виде. Строго говоря, если компьютер содержит важные данные, на нем не следует вовсе устанавливать Telnet-сервер. Подробно эти вопросы будут обсуждаться в главе 13.)
Читайте также
Использование
Использование Во-первых, мы сперва должны подключить библиотеку cssexpr.js (о ней речь чуть ниже) и только потом вызывать нашу функцию constExpression.<script type=»text/javascript» src=»https://it.wikireading.ru/cssexpr.js»></script>После этого можно использовать constExpression в любом задаваемом блоке стилей (<style>), или любом
14.7.1. Использование ftw()
14.7.1. Использование ftw() #include <ftw.h>int ftw(const char *dir, ftwFunctionPointer callback, int depth);Функция ftw() начинает с каталога dir и вызывает указанную в callback функцию для каждого файла в этом каталоге и его подкаталогах. Функция вызывается для всех типов файлов, включая символические ссылки и
Использование tar
Использование tar Утилита tar — одна из самых популярных программ, используемых для резервного копирования в системах Linux и UNIX. Она объединяет несколько файлов в один файл архива, что упрощает передачу информации по сети и сохранение ее на резервном носителе. Название
Использование ip
Использование ip Программа ip предназначена для управления таблицами маршрутизации, в частности, правилами, определенными в них. Выполнение данной программы зависит от значений некоторых подопций опции IP: Advanced Router. Программа ip вызывается следующим образом:ip команда [list |
Использование tc
Использование tc Утилита tc использует средства ядра, которые активизируются посредством опций меню QoS and/or Fair Queueing. Данная программа управляет исходящим трафиком, в частности, не позволяет одному типу трафика монополизировать пропускную способность линии связи. В
Использование VPN
Использование VPN VPN позволяет расширить локальную сеть за счет взаимодействия с внешними компьютерами. Очевидно, что если локальная сеть подключена к Internet, внешние пользователи могут обращаться к ней без VPN. Однако VPN имеет ряд преимуществ перед обычными типами сетевого
Использование
Использование Метапрограммирование и метафункции Прежде чем перейти к изложению дальнейшего материала, полезно ввести понятия метапрограммирования и метафункции. Если внимательнее посмотреть на то, что происходит, когда компилятор встречает пример, подобный
Использование
Использование Так как MSXML уже давно превратился в стандартный компонент Windows, использовать его можно разными способами — например, в собственных приложениях или как ISAPI-расширение. При разработке XSLT-преобразований MSXML, как правило, применяется либо совместно с браузером
Использование
Использование По сути дела, Xalan Java и Xalan C++ — это библиотеки, позволяющие использовать XSLT-преобразования в собственных проектах. Xalan Java поддерживает набор интерфейсов TrAX (от англ. transformation API for XML — программный интерфейс преобразований для XML), определяющий стандартные
Использование
Использование Легкий вариант, Instant Saxon представляет собой утилиту командной строки saxon.exe, с помощью которой можно применять преобразования к XML-документам:saxon.exe -о result.xml source.xml stylesheet.xslПолная версия Saxon (включающая также исходный код) тоже может использоваться как утилита
Использование
Использование Главной областью применения Oracle XSLT Processor является его использование совместно с технологиями XSQL и XSU для обеспечения Web-доступа к реляционным данным. Кроме этого, Oracle XSLT Processor легко интегрируется в другие приложения и также может выполняться из командной
Использование
Использование Как и любой другой XSLT-процессор, написанный на Java, xt можно без труда использовать в Java-проектах. Помимо этого, xt можно использовать в качестве сервлета и из командной строки.Сервлет-версия xt реализована в классе com.jclark.xsl.sax.XSLservlet и может выполняться на
Использование
Использование Прежде всего, как C-библиотеку, libxslt можно подключать к собственным модулям посредством документированного API, а также при помощи разработанных врапперов использовать в Perl и Python-программах. Поскольку по степени совместимости и разработанности libxslt явно
29.4.3. Использование SSI
29.4.3. Использование SSI Использование сценариев cgi, открывающих Web–страницы с целью отображения небольшого количества сведений, не всегда является оправданным. Например, была отображена дата, но также был создан сценарий cgi, который тоже отображает дату. Не лучше ли было бы