Что означает код errno 81 (ENEEDAUTH)?

 
Также может означать:
КонстантаТипОС
ELIBSCNerrnoLinux
EBADFDerrnoSolaris
REGISTRY_ERRORКод BSODWindows
Предыдущий Следующий
ELIBSCN EBADFD

ENEEDAUTH

ENEEDAUTH — Darwin errno для операции, которая не может продолжиться, пока не станет доступен аутентификатор. В традиции BSD errno код означал билет аутентификации, необходимый до монтирования защищённой файловой системы NFS. Современная документация Apple по константам ошибок сопоставляет его с needAuthenticator, а FSKit использует его, когда контейнер файловой системы требует аутентификации.

Это состояние невыполненной предпосылки, а не доказательство недействительности предоставленных учётных данных. Компонент, вернувший код, должен знать, что считается аутентификатором и как его получить. Ему может потребоваться запустить процесс аутентификации, выбрать идентификатор, получить билет или запросить действие пользователя; изменение обычных битов режима POSIX не относится к проблеме, если только тот же API явно не связывает эти механизмы.

Разделяйте состояния аутентификации

  • ENEEDAUTH: для требуемого этапа нет пригодного аутентификатора.
  • EAUTH: аутентификация была предпринята, но завершилась ошибкой или была отклонена.
  • EACCES: в доступе отказано; сам по себе этот код не показывает, что запрашивался аутентификатор.

Целевые шаги диагностики

  • Определите точный API, вернувший ENEEDAUTH, и допускает ли он интерактивную аутентификацию. Демону, элементу входа или команде без сеанса графического интерфейса может требоваться иной механизм передачи, чем приложению на переднем плане.
  • Запишите ресурс, поставщика, контекст выбора идентификатора и режим вызывающей стороны, но исключите из журналов материалы учётных данных. Важно различать состояния «аутентификатор не запрашивался», «аутентификатор был недоступен» и «аутентификатор предоставлен и отклонён».
  • Для защищённых сетевых монтирований сохраняйте вместе с ошибкой идентификаторы сервера и экспорта. Получение учётных данных для похожей по имени, но другой службы не удовлетворяет исходному запросу монтирования.
  • Повторяйте операцию только после того, как компонент сможет получить или принять требуемый аутентификатор. Слепой повтор того же неинтерактивного вызова обычно сохраняет невыполненную предпосылку.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.