A file descriptor is a ?concept of UNIX, and represents a non-persistent handle to an object (a file, for example). With respect to specific aspects, it is comparable to a capability. This is detailed in Wikipedia, capability-based security.
In a GNU Hurd system, the concept of file descriptors is based on object handles (through Mach ports), and is implemented in glibc.