Fill a Documentation/controllers/devices.txt file with a modified text from the patch description. Signed-off-by: Serge E. Hallyn <serue@us.ibm.com> --- Documentation/controllers/devices.txt | 48 +++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) create mode 100644 Documentation/controllers/devices.txt diff --git a/Documentation/controllers/devices.txt b/Documentation/controllers/devices.txt new file mode 100644 index 0000000..a157f53 --- /dev/null +++ b/Documentation/controllers/devices.txt @@ -0,0 +1,48 @@ +Device Whitelist Controller + +1. Description: + +Implement a cgroup to track and enforce open and mknod restrictions +on device files. A device cgroup associates a device access +whitelist with each cgroup. A whitelist entry has 4 fields. +'type' is a (all), c (char), or b (block). 'all' means it applies +to all types and all major and minor numbers. Major and minor are +either an integer or * for all. Access is a composition of r +(read), w (write), and m (mknod). + +The root device cgroup starts with rwm to 'all'. A child devices +cgroup gets a copy of the parent. Administrators can then remove +devices from the whitelist or add new entries. A child cgroup can +never receive a device access which is denied its parent. However +when a device access is removed from a parent it will not also be +removed from the child(ren). + +2. User Interface + +An entry is added using devices.allow, and removed using +devices.deny. For instance + + echo 'c 1:3 mr' > /cgroups/1/devices.allow + +allows cgroup 1 to read and mknod the device usually known as +/dev/null. Doing + + echo a > /cgroups/1/devices.deny + +will remove the default 'a *:* mrw' entry. + +3. Security + +Any task can move itself between cgroups. This of clearly won't +suffice, but we can decide the best way to adequately restrict +movement as people get some experience with this. We may just want +to require CAP_SYS_ADMIN, which at least is a separate bit from +CAP_MKNOD. We may want to just refuse moving to a cgroup which +isn't a descendent of the current one. Or we may want to use +CAP_MAC_ADMIN, since we really are trying to lock down root. + +CAP_SYS_ADMIN is needed to modify the whitelist or move another +task to a new cgroup. (Again we'll probably want to change that). + +A cgroup may not be granted more permissions than the cgroup's +parent has. -- 1.5.1 --
| David Miller | [GIT]: Networking |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
| Miklos Szeredi | Re: [PATCH] Remove process freezer from suspend to RAM pathway |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| David Kastrup | Re: git on MacOSX and files with decomposed utf-8 file names |
| Elijah Newren | Trying to use git-filter-branch to compress history by removing large, obsolete bi... |
| Nguyen Thai Ngoc Duy | [WIP] Get rid of msys in favor of busybox port for windows |
| sean | Adding color to git diff output. |
| Richard Stallman | Real men don't attack straw men |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| carlopmart | About Xen: maybe a reiterative question but .. |
| Douglas A. Tutty | Re: Embedding OpenBSD |
| Pavel Emelyanov | [PATCH net-2.6.25 8/11][IPV6] Use sysctl paths to register ipv6 sysctl tables |
| Jeff Garzik | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Denys | r8169 crash |
| Jeff Kirsher | [NET-NEXT PATCH 1/3] e1000e: add support for the 82567LM-4 device |
