Определение библиотеки регулярных выражений, предоставляемой системой

PAM означает подключаемый модуль аутентификации и основан на RFC 86.0 .

pam_unixиpam_systemd— два разных модуля с разными ролями. Согласно их соответствующим справочным страницам:

pam_unix [is the m]odule for traditional password authentication

[...]

This is the standard Unix authentication module. It uses standard calls from the system's libraries to retrieve and set account information as well as authentication. Usually this is obtained from the /etc/passwd and the /etc/shadow file as well if shadow is enabled.

и

pam_systemd [r]egister[s] user sessions in the systemd login manager

[...]

pam_systemd registers user sessions with the systemd login manager systemd-logind.service(8), and hence the systemd control group hierarchy.

6
09.09.2019, 08:16
1 ответ
  1. Если вы имеете в виду двоичный файл less, less --versionсообщит вам, какую реализацию регулярного выражения он использует; например

    $ less --version
    less 487 (GNU regular expressions)
    Copyright (C) 1984-2016  Mark Nudelman
    
    less comes with NO WARRANTY, to the extent permitted by law.
    For information about the terms of redistribution,
    see the file named README in the less distribution.
    Homepage: http://www.greenwoodsoftware.com/less
    

    Во время сборки библиотека определяется параметром --with-regex, заданным для ./configure:

    .
    --with-regex=LIB        select regular expression library (LIB is one of auto,none,gnu,pcre,posix,regcmp,re_comp,regcomp,regcomp-local) [auto]
    

    и прослеживается в журналах сборки.

    Некоторые из реализаций доступны в виде отдельных библиотек(pcreнапример ), другие включены в библиотеку C(gnuнапример ), одна из них включена в исходный код less(regcomp-local).

  2. Я думаю, что это выражение относится к любой библиотеке, доступной в системе, на которой lessбыла построена, по крайней мере, в контексте опции auto. После сборки данный двоичный файл lessне изменит свою реализацию регулярного выражения.

  3. Нет.

Поддерживаемые библиотеки::

  • POSIXregcomp(определяется как «POSIX» в строке версии );
  • PCRE(«PCRE» );
  • библиотека GNU Cre_compile_pattern(«GNU» );
  • regcmp(«V8» );
  • Unix V8 regcomp, либо предоставленный системой, либо lessсобственная копия (реализация Генри Спенсера; «Спенсер V8» );
  • re_comp(«BSD» ).
6
27.01.2020, 20:27

Теги

Похожие вопросы