On 2/10/23 17:02, Vladislav Odintsov wrote:
> This patch adds new ovs-ctl options to pass umask configuration to allow
> OVS daemons set requested socket permissions on group.  Previous
> behaviour (if using with systemd service unit) created sockets with 0750
> permissions mask (group has no write permission).
> 
> Write permission for group is reasonable in usecase, where ovs-vswitchd
> or ovsdb-server runs as a non-privileged user:group (say,
> openvswitch:openvswitch) and it is needed to access unix socket from
> process running as another non-privileged user.  In this case
> administrator has to add that user to openvswitch group and can connect
> to OVS sockets from a process running under that user.
> 
> Two new ovs-ctl options --ovsdb-server-umask and --ovs-vswitchd-umask
> were added to manage umask values for appropriate daemons.  This is
> useful for systemd users: both ovs-vswitchd and ovsdb-server systemd
> units read options from single /etc/sysconfig/openvswitch configuration
> file.  So, with separate options it is possible to set umask only for
> specific daemon.
> 
> OPTIONS="--ovsdb-server-umask=0002"
> 
> in /etc/openvswitch/sysconfig file will set umask to 0002 value before
> starting only ovsdb-server, while
> 
> OPTIONS="--ovs-vswitchd-umask=0002"
> 
> will set umask to ovs-vswitchd daemon.
> 
> Previous behaviour (not setting umask) is left as default.
> 
> Reported-at: 
> https://mail.openvswitch.org/pipermail/ovs-dev/2023-January/401501.html
> Signed-off-by: Vladislav Odintsov <[email protected]>
> 
> ---
> v2 -> v3:
>   - addressed Eelco's review comments.
> 
> v1 -> v2:
>   - added item in NEWS file as Ilya's suggestion;
>   - addressed Eelco's review comments;
>   - moved umask call from ovs-ctl to ovs-lib;
>   - added restoration of umask to effective value before the umask change;
>   - previous version --ovs-umask option was split into two:
>     --ovs-vswitchd-umask and --ovsdb-server-umask in order to make
>     possible umask configuration for specific daemon when running with
>     systemd.
> ---
>  NEWS                 |  7 +++++++
>  utilities/ovs-ctl.in | 16 ++++++++++++----
>  utilities/ovs-lib.in | 17 ++++++++++++++---
>  3 files changed, 33 insertions(+), 7 deletions(-)
> 
> diff --git a/NEWS b/NEWS
> index fe6055a27..f7df598bd 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -4,6 +4,13 @@ Post-v3.1.0
>       * OVS now collects per-interface upcall statistics that can be obtained
>         via 'ovs-appctl dpctl/show -s' or the interface's statistics column
>         in OVSDB.  Available with upstream kernel 6.2+.
> +   - ovs-ctl:
> +     * Added support to set umask value when starting OVS daemons.  New 
> options
> +       --ovsdb-server-umask=MODE and --ovs-vswitchd-umask=MODE were added for
> +       that.  For instance, when write access on befalf of OVS group is 
> needed
> +       for ovsdb-server, pass --ovsdb-umask=0002.  Use --vswitchd-umask to 
> set
> +       umask ovs-vswitchd daemon umask.  This will allow ovsdb-server or
> +       ovs-vswitchd to create sockets with access mode of 0770.

The options in the example are incorrect.
Also, the text seems slightly too extensive.

What do you think about this:

   - ovs-ctl:
     * Added new options --[ovsdb-server|ovs-vswitchd]-umask=MODE to set umask
       value when starting OVS daemons.  E.g., use --ovsdb-server-umask=0002
       in order to create OVSDB sockets with access mode of 0770.

?

I could fold this in while applying the change.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to