On 06/17/2011 02:54 PM, Jan Safranek wrote: > fperm and dperm are not described in the man pages yet. Let's add > missing pieces. > > This is updated version of patch originally written by Michal Hocko, > <mho...@suse.cz> > > Signed-off-by: Jan Safranek <jsafr...@redhat.com>
Merged and pushed. > --- > > doc/man/cgconfig.conf.5 | 67 > +++++++++++++++++++++++++++++++++++++++++++---- > doc/man/cgcreate.1 | 5 +++- > 2 files changed, 65 insertions(+), 7 deletions(-) > > diff --git a/doc/man/cgconfig.conf.5 b/doc/man/cgconfig.conf.5 > index 4a82b95..64cd631 100644 > --- a/doc/man/cgconfig.conf.5 > +++ b/doc/man/cgconfig.conf.5 > @@ -117,12 +117,15 @@ task { > .ft B > uid = <task user>; > gid = <task group>; > +fperm = <file permissions> > .RE > } > admin { > .RS > uid = <admin name>; > gid = <admin group>; > +dperm = <directory permissions> > +fperm = <file permissions> > .RE > } > .RE > @@ -136,20 +139,24 @@ gid = <admin group>; > .B "task user/group" > Name of the user and the group, which own the > .I tasks > -file of the control group. I.e. this user and members of this > -group have write access to the file. > +file of the control group. Given fperm then specify the file permissions. > +Please note that the given value is not used as was specified. Instead, > +current file owner permissions are used as a "umask" for group and others > +permisions. For example if fperm = 777 then both group and others will get > +the same permissions as the file owner. > .TP 17 > .B "admin user/group" > Name of the user and the group which own the rest of control group's > -files. These users are allowed to set subsystem > -parameters and create subgroups. > +files. Given fperm and dperm control file and directory permissions. > +Again, the given value is masked by the file/directory owner permissions. > .LP > Permissions are only apply to the enclosing control group and are not > inherited by subgroups. If there is no > .B perm > section in the control group definition, > .I root:root > -is the owner of all files. > +is the owner of all files and default file permissions are preserved if > +fperm resp. dperm are not specified. > .RE > .TP > .B controller > @@ -299,12 +306,15 @@ task { > .RS > uid = root; > gid = webmaster; > +fperm = 770; > .RE > } > admin { > .RS > uid = root; > gid = root; > +dperm = 775; > +fperm = 744; > .RE > } > .RE > @@ -325,12 +335,15 @@ task { > .RS > uid = root; > gid = ftpmaster; > +fperm = 774; > .RE > } > admin { > .RS > uid = root; > gid = root; > +dperm = 755; > +fperm = 700; > .RE > } > .RE > @@ -346,7 +359,9 @@ cpu.shares = "500"; > .fi > creates the hierarchy controlled by two subsystems with one group and > two subgroups inside, setting one parameter. > -It corresponds to the following operations: > +It corresponds to the following operations (except for file permissions > +which are little bit trickier to emulate via chmod): > + > .LP > .RS > .nf > @@ -360,10 +375,50 @@ chown root:root /mnt/cgroups/cpu/daemons/www/* > chown root:webmaster /mnt/cgroups/cpu/daemons/www/tasks > echo 1000 > /mnt/cgroups/cpu/daemons/www/cpu.shares > > + # + chmod the files so the result looks like: > + # ls -la /mnt/cgroups/cpu/daemons/www/ > + # admin.dperm = 755: > + # drwxr-xr-x. 2 root webmaster 0 Jun 16 11:51 . > + # > + # admin.fperm = 744: > + # --w-------. 1 root webmaster 0 Jun 16 11:51 cgroup.event_control > + # -r--r--r--. 1 root webmaster 0 Jun 16 11:51 cgroup.procs > + # -r--r--r--. 1 root webmaster 0 Jun 16 11:51 cpuacct.stat > + # -rw-r--r--. 1 root webmaster 0 Jun 16 11:51 cpuacct.usage > + # -r--r--r--. 1 root webmaster 0 Jun 16 11:51 cpuacct.usage_percpu > + # -rw-r--r--. 1 root webmaster 0 Jun 16 11:51 cpu.rt_period_us > + # -rw-r--r--. 1 root webmaster 0 Jun 16 11:51 cpu.rt_runtime_us > + # -rw-r--r--. 1 root webmaster 0 Jun 16 11:51 cpu.shares > + # -rw-r--r--. 1 root webmaster 0 Jun 16 11:51 notify_on_release > + # > + # tasks.fperm = 770 > + # -rw-rw----. 1 root webmaster 0 Jun 16 11:51 tasks > + > + > mkdir /mnt/cgroups/cpu/daemons/ftp > chown root:root /mnt/cgroups/cpu/daemons/ftp/* > chown root:ftpmaster /mnt/cgroups/cpu/daemons/ftp/tasks > echo 500 > /mnt/cgroups/cpu/daemons/ftp/cpu.shares > + > + # + chmod the files so the result looks like: > + # ls -la /mnt/cgroups/cpu/daemons/ftp/ > + # admin.dperm = 755: > + # drwxr-xr-x. 2 root ftpmaster 0 Jun 16 11:51 . > + # > + # admin.fperm = 700: > + # --w-------. 1 root ftpmaster 0 Jun 16 11:51 cgroup.event_control > + # -r--------. 1 root ftpmaster 0 Jun 16 11:51 cgroup.procs > + # -r--------. 1 root ftpmaster 0 Jun 16 11:51 cpuacct.stat > + # -rw-------. 1 root ftpmaster 0 Jun 16 11:51 cpuacct.usage > + # -r--------. 1 root ftpmaster 0 Jun 16 11:51 cpuacct.usage_percpu > + # -rw-------. 1 root ftpmaster 0 Jun 16 11:51 cpu.rt_period_us > + # -rw-------. 1 root ftpmaster 0 Jun 16 11:51 cpu.rt_runtime_us > + # -rw-------. 1 root ftpmaster 0 Jun 16 11:51 cpu.shares > + # -rw-------. 1 root ftpmaster 0 Jun 16 11:51 notify_on_release > + # > + # tasks.fperm = 774: > + # -rw-rw-r--. 1 root ftpmaster 0 Jun 16 11:51 tasks > + > .fi > .RE > > diff --git a/doc/man/cgcreate.1 b/doc/man/cgcreate.1 > index 2902370..409bfa4 100644 > --- a/doc/man/cgcreate.1 > +++ b/doc/man/cgcreate.1 > @@ -28,9 +28,12 @@ The permissions needs to be specified as octal numbers e.g. > > .TP > .B -f, --fperm mode > -sets the permissions of the control groups files. > +sets the permissions of the control groups and tasks files. > The permissions needs to be specified as octal numbers e.g. > \fB-f 775\fR. > +The value is not used as given because the current owner's > +permissions are used as an umask (so 777 will set group and > +others permissions to the owners permissions). > > .TP > .B -g <controllers>:<path> > > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > Libcg-devel mailing list > Libcg-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/libcg-devel ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel