-1

Я хочу перейти с аутентификации openLDAP на другие методы аутентификации. Моя главная проблема - sudoers, куда мне нужно вручную перенести их.

Таким образом, мне нужно создать сценарий для этого. Я хотел бы использовать Bash для этого. Файл ldif содержит такие строки:

dn: cn=Devs, ou=SUDOers, dc=example,dc=com
sudoUser: %devs
sudoCommand: /bin/su - command
sudoCommand: /bin/su - wwwadmin
sudoHost: ALL
description: Developer Admin
objectClass: sudoRole
cn: Devs

Итак, что мне нужно сделать, это:

  1. Прочитайте файл LDIF.
  2. Извлечь все строки между dn: и пустой строкой OR между строк, содержащих cn: Devs

Я хотел бы использовать только встроенные команды BASH, grep, awk, sed и т.д.

Нет Python, PHP, Perl и т.д.

1 ответ1

2

Хорошо, я нашел простой способ, используя sed:

sed -n '/start_search/,/end_search/p' filename)
  • start_search - шаблон первой строки
  • end_search - шаблон последней строки.

В моем случае start_search - это «dn: cn =», а end_search - «^ cn:» или «^ $».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .