// the find
scott-linder/rbacfs
Senior Design (CS4900) project to implement Role-Based Access Control (RBAC) in a FUSE filesystem.
A semester-long CS4900 senior design project implementing role-based access control on top of FUSE, built by three students in C. It's a teaching exercise in filesystem-level permission modeling, not a tool anyone would run in production.
The scope is genuinely ambitious for a student project — a custom RBAC policy DSL with its own lexer/parser (flex/bison in src/parse), a hand-rolled hashmap and linked list rather than reaching for a library, and a real FUSE passthrough layer wired to policy checks in src/fuse. The test suite (src/tests) covers distinct scenarios — admin rights, no access, deep recursion, unused roles — showing they thought about edge cases in the permission model, not just the happy path.
Dead since December 2016, 2 stars, 0 forks, no CI, no releases, no license file visible in the tree — nothing here suggests it's maintained or intended for reuse. It's built and tested via Vagrant with course-specific tooling (rbacDep.sh, assignment.tex), which signals this was scoped entirely around a single assignment deliverable rather than a general-purpose library. No packaging, no documented API for embedding the RBAC engine elsewhere, and the custom parser/hashmap reinvent things existing C libraries already solve well, which is fine for a class project but a real cost for anyone considering it as a dependency.