Skip to content

Commit

Permalink
first book commit
Browse files Browse the repository at this point in the history
  • Loading branch information
LeChatP committed Aug 29, 2023
1 parent 0763006 commit 7935346
Show file tree
Hide file tree
Showing 30 changed files with 98 additions and 0 deletions.
1 change: 1 addition & 0 deletions book/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
book
16 changes: 16 additions & 0 deletions book/book.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[book]
authors = ["LeChatP"]
language = "en"
multilingual = false
src = "src"
title = "RootAsRole Guide Book"
description = "A Book for understanding RootAsRole concepts and how to use it"

[output.html]
git-repository-url = "https://github.com/LeChatP/RootAsRole/tree/master/book"
edit-url-template = "https://github.com/LeChatP/RootAsRole/edit/master/book/{path}"


[preprocessor.graphviz]
command = "mdbook-graphviz"
output-to-file = false
17 changes: 17 additions & 0 deletions book/src/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Introduction

**RootAsRole** is a prject to allow Linux/Unix administrators to delegate their administrative tasks access rights to users. This tool allows you to configure your privilege access management more securely on a single operating system.

Unlike sudo, this project sets the principle least privilege on its core features. Like sudo, this project wants to be usable. More than sudo, we care about configurators, and we try to warn configurators about dangerous manipulations.

By using a role-based access control model, this project allows us to better manage administrative tasks. With this project, you could distribute privileges and prevent them from escalating directly. Unlike sudo does, we don't want to give entire privileges for any insignificant administrative task, so you could configure it easily with `chsr` command. To find out which capability is needed for a administrative command, we provide the `capable` command. With these two tools, administrators could respect the least privilege principle on their system.

What we offer that sudo don't :
* [Linux Capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html) managed and simplified
* [A structured access control model based on Roles](https://dl.acm.org/doi/10.1145/501978.501980)
* Command matching based on commonly-used open-source libraries
* [glob](https://docs.rs/glob/latest/glob/) for binary path
* [PCRE2](https://www.pcre.org/) for command arguments
* Separation of duties.
* Configuration file formatted in XML and with DTD Schema Validation.

39 changes: 39 additions & 0 deletions book/src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Summary

[Introduction](README.md)

# User Guide

- [Installation](guide/installation.md)
- [Use RootAsRole](guide/use.md)
- [Configure RootAsRole](guide/configure.md)

# Knowledge Guide

- [Why you need to use Linux Capabilities](knowledge/linux_capabilities.md)
- [Why you need to use Role-Based Access Model](knowledge/rbac.md)
- [Static/Dynamic Separation of Duties notion](knowledge/sod.md)
- [How does work role hierarchy feature](knowledge/role_hierarchy.md)
- [RootAsRole Command matching](knowledge/command_match.md)
- [What is eBPF ?](knowledge/ebpf.md)

# Reference Guide

- [`sr` Command Line Tool](sr/README.md)
- [`chsr` Terminal User Interface](chsr/tui.md)
- [`chsr` Command Line Tool](chsr/README.md)
- [newrole](chsr/newrole.md)
- [grant](chsr/grant.md)
- [revoke](chsr/revoke.md)
- [addtask](chsr/addtask.md)
- [deltask](chsr/deltask.md)
- [delrole](chsr/delrole.md)
- [config](chsr/config.md)
- [import](chsr/import.md)

- [Continuous Integration](continuous-integration.md)
- [How to contribute](dev/CONTRIBUTE.md)

-----------

[Contributors](misc/contributors.md)
1 change: 1 addition & 0 deletions book/src/chsr/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/chsr/addtask.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/chsr/config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/chsr/delrole.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/chsr/deltask.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/chsr/grant.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/chsr/import.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/chsr/newrole.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/chsr/revoke.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/chsr/tui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/continuous-integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/dev/CONTRIBUTE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/dev/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# For Developers
1 change: 1 addition & 0 deletions book/src/dev/backends.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Alternative Backends
1 change: 1 addition & 0 deletions book/src/dev/preprocessors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Preprocessors
1 change: 1 addition & 0 deletions book/src/guide/configure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/guide/installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/guide/use.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/knowledge/command_match.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/knowledge/ebpf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/knowledge/linux_capabilities.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/knowledge/rbac.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/knowledge/role_hierarchy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/knowledge/sod.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
1 change: 1 addition & 0 deletions book/src/misc/contributors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Incoming
Empty file added book/src/sr/README.md
Empty file.

0 comments on commit 7935346

Please sign in to comment.