Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.0.0-alpha
-
None
-
None
-
Reviewed
Description
Currently in fuse_dfs, if one kinits as some principal "foo" and then does some operation on fuse_dfs, then kdestroy and kinit as some principal "bar", subsequent operations done via fuse_dfs will still use cached credentials for "foo". The reason for this is that fuse_dfs caches Filesystem instances using the UID of the user running the command as the key into the cache. This is a very uncommon scenario, since it's pretty uncommon for a single user to want to use credentials for several different principals on the same box.
However, we can use inotify to detect changes in the Kerberos ticket cache file and force the next operation to create a new FileSystem instance in that case. This will also require a reference counting mechanism in fuse_dfs so that we can free the FileSystem classes when they refer to previous Kerberos ticket caches.
Another mechanism is to run a stat periodically on the ticket cache file. This is a good fallback mechanism if inotify does not work on the file (for example, because it's on an NFS mount.)
Attachments
Attachments
Issue Links
- is related to
-
HDFS-3676 handleSaslConnection failure doesn't try to renew the correct UGI
- Open
-
HDFS-13322 fuse dfs - uid persists when switching between ticket caches
- Resolved
-
HDFS-13520 fuse_dfs to support keytab based login
- Open
- relates to
-
HDFS-3568 fuse_dfs: add support for security
- Closed