add new page for rxgk
[openafs-wiki.git] / devel / LinuxKAFSNotes.mdwn
1 Linux has had an in-tree AFS client cache manager ("kAFS") for some time now.  Official documentation exists in the kernel tree and is available via the web at [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/afs.txt]].  That document details how to build kAFS support into the kernel, how to mount AFS, and more.
2
3 ### Using the Linux Kernel Keyring facilities for Tokens
4
5 Chaskiel Grundman has written a kafs-friendly `aklog` program which uses krb5 tickets to obtain AFS tokens and install them into the kernel keyring.  It is available, under GPLv2 or later, as `aklog-kafs-kdf.c` in [[file:///afs/andrew.cmu.edu/usr18/cg2v/src/kafs/]] (grab the whole directory and run `make`; if your cell is not using rxkad-kdf, [[file:///afs/andrew.cmu.edu/usr18/cg2v/src/kafs/aklog-kafs.c]] is also available).
6
7 Note that it may be necessary to manually modprobe the `rxkad` module.  Failing to have that security mechanism available may cause somewhat mysterious `Key was rejected by service` errors when attempting to access AFS mountpoints while a rxrpc key is on the keyring.
8
9 ### Userland Utilities Using Linux AF_RXRPC Support
10
11 As part of the kAFS effort, the Linux kernel now offers AF_RXRPC sockets.  A series of AFS userland utilities written to use this implementation of rx is available at [[http://git.infradead.org/users/dhowells/kafs-utils.git]]; the code is mostly Python with some FFI shims and is available under GPLv2 or later.
12
13 ### Additional Resources
14
15 * [[http://workshop.openafs.org/afsbpw09/talks/thu_2/kafs.pdf]] -- Slides from a 2009 talk by D. Howells.
16 * [[http://workshop.openafs.org/afsbpw15/talks/thursday/howells-afs-2015.pdf]] -- Slides from a 2015 talk by D. Howells.