| Previous | Next |
| EFTYPE | ENEEDAUTH |
EAUTH
EAUTH is a Darwin errno for a failed authentication step. It is not a generic synonym for a filesystem permission denial. The BSD definition historically used it for an invalid authentication ticket while mounting NFS; current Apple documentation also uses EAUTH when file-system container authentication has failed.
The code tells you that the component reached an authentication boundary and rejected the available authenticator. It does not identify the credential format or protocol on its own: the failing API may be handling an NFS credential, a user-mediated file-system unlock, or another component-specific authentication exchange. The operation, provider, object, and preceding authentication state are therefore part of the error’s meaning.
Different from a missing authenticator
ENEEDAUTHmeans that an authenticator is required before the operation can continue.EAUTHmeans an authentication attempt reached a failure state; repeating the same request without changing that state is not a useful recovery strategy.EACCESnormally describes an access decision. It does not establish that an authentication exchange was attempted or rejected.
Evidence that makes the error actionable
- Record the API or framework call, the resource being opened or mounted, and the identity or credential provider selected for the operation. Do not log secrets, tickets, tokens, or passwords.
- Preserve the prior status that initiated authentication and the status returned by the authenticator. A generic wrapper error can otherwise hide whether the failure occurred before the request, during a challenge, or after validation.
- For a network file system, record the server, export, mount options, protocol version, and client time. These facts distinguish an invalid or expired authentication state from a namespace, transport, or permission problem.
- When the API supports interactive and noninteractive modes, verify which mode the caller requested. A background operation that cannot present an authentication UI can fail even though an interactive invocation succeeds.
References
- Apple XNU: Darwin errno definitions
- Apple FSKit: container status and authentication errors
- Apple: adopting errno constants in Swift
- BSD errno manual: historical EAUTH and ENEEDAUTH semantics
Looking for a different code? Search another status or error code.