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

Reply via email to