Expand abbreviated fs and pts commands for clarity
[wiki.git] / doc / zcrypt.mdwn
index 4b744e456123d2272f870b754032c9cf1b4ed0ea..ee75aa9c1c7118cafaf1043f25c7745157354fa6 100644 (file)
@@ -6,9 +6,13 @@ Zephyr at MIT doesn't support* limiting who can sub to a zephyr class, so if you
 
 The main requirement for a `zcrypt`ed zephyr class is to distribute a key to all the intended users of the class. Typically, this is done by storing the key in AFS. You can set that up like this:
 
-    mkdir -p ~/Public/zcrypt/label/                     # Pick an arbitrary label for your class.
-    fs sa ~/Public/zcrypt/label/ system:anyuser none    # Keep randoms from reading your key
-    fs sa ~/Public/zcrypt/label/ system:groupname read  # Allow an appropriate user/group to read the key
+    # Pick an arbitrary label for your class.
+    mkdir -p ~/Public/zcrypt/label/
+    # Keep randoms from reading your key
+    fs setacl -dir ~/Public/zcrypt/label/ -acl system:anyuser none
+    # Allow an appropriate user/group to read the key
+    fs setacl -dir ~/Public/zcrypt/label/ -acl system:groupname read
+    # Generate a 126-byte key with no NUL or newline bytes
     tr -d '\000\n' < /dev/urandom | head -c 126 > ~/Public/zcrypt/label/key.zcrypt
 
 The first three lines create a directory to store the key, and set the permissions properly. You should replace `label` with an appropriate name; you may want to use something besides the class name in order to help keep the class name private. Subbing to the class will disclose traffic patterns and instances used, so you may want to use the traditional "secret class" (keeping the name secret) as a first line of defense, in addition to `zcrypt`.