ошибка поиска символа :ldapdelete :неопределенный символ :ldap _pvt _conf _опция

Причина, по которой это не сработало, заключалась в том, что переменная SSH_AUTH_SOCK, используемая для хранения имени файла сокета домена Unix агента SSH, отсутствовала в среде при выполнении команд через sudo.

По умолчанию параметр env_resetвключен в политике безопасности sudo, и многие дистрибутивы GNU/Linux делают это явным, добавляя следующую строку в файл конфигурации /etc/sudoers:

Defaults    env_reset

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

Определенные переменные могут быть -занесены в белый список, чтобы они сохранялись в среде. В целях безопасности я использую команду visudoдля редактирования файла конфигурации sudoers. Кроме того, вместо того, чтобы изменять /etc/sudoersнапрямую, я добавляю пользовательские модификации в отдельный файл в каталоге /etc/sudoers.d/. Для этого я запускаю sudo visudo -f /etc/sudoers.d/custom, чтобы в конфигурации была следующая строка:

Defaults    env_keep += "SSH_AUTH_SOCK"

Теперь запуск sudo ssh-add -lпоказывает, что я могу подключиться к агенту аутентификации, и я могу продолжить и обновить удаленный репозиторий:

sudo git push --set-upstream origin master
0
03.03.2021, 11:22
1 ответ

Ваша установка кажется сломанной. Команда -line tool ldapdelete использует библиотеку, которая, вероятно, не была должным образом обновлена.

Ищите странные ошибки, возникающие при динамической компоновке:

ldd $(which ldapdelete)

И проверьте, какой пакет предоставляет ldapdelete:

rpm -qf $(which ldapdelete)

0
18.03.2021, 22:27

Теги

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