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

Как игнорировать остальную часть файла в Augeas?

Я работаю с набором файлов конфигурации, и мне нужен способ выделять только отдельные записи при определении объектива Augeas.

Как я могу эффективно заявить, что «если то, что видит Авгий, еще не указано конкретно как извлечение, можно игнорировать»?

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

Мой вариант использования будет следующим:

Я разбираю некоторые детали (комментарии, идентификатор скрипта, tag_summary, script_tag). Есть и другие строки - логические операторы, настраиваемые поля, которые существуют только в определенных случаях, и тому подобное, - которые не структурированы, и я не могу сразу писать для них извлечения.

# Description: Unpassworded bash account
include("revisions-lib.inc");

tag_summary = "The account 'account' has no password set. An attacker may use it to gain further privileges on this system
This account was probably created by a backdoor installed  by a fake Linux Redhat patch. See http://www.k-otik.com/news/FakeRedhatPatchAnalysis.txt";

if(description)
{
 script_id(15583);
 script_version("$Revision: 17 $");
 script_tag(name:"last_modification", value:"$Date: 2013-10-27 15:01:43 +0100 (Sun, 27 Oct 2013) $");
 }

У Augeas целостный подход к синтаксическому анализу файлов. Каждый файл сопоставляется с регулярным выражением, генерируемым линзой. Файл анализируется полностью, и (в настоящее время) нет возможности игнорировать части файла.