diff options
author | Damjan Marion <damarion@cisco.com> | 2017-08-30 17:12:25 +0200 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2017-08-31 07:33:37 +0000 |
commit | c67787be51c4cbf4e5c1a28af621822aa8cae513 (patch) | |
tree | fbcac7707c8fe64625b2f3ca8dfcf3d2ddaf36d5 /src/vlib/unix | |
parent | 203c0794837c519c32af1cf638bfd47fd17a35de (diff) |
Set runtime_path properly when running non-root
non-root users should use /run/user/$PID/...
Change-Id: I1ca136df7a339eff193ed9c9a396d6965b192d0e
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vlib/unix')
-rw-r--r-- | src/vlib/unix/main.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/vlib/unix/main.c b/src/vlib/unix/main.c index cb34a89f87a..f52316e553b 100644 --- a/src/vlib/unix/main.c +++ b/src/vlib/unix/main.c @@ -57,7 +57,7 @@ #define UNIX_CLI_DEFAULT_HISTORY 50 char *vlib_default_runtime_dir __attribute__ ((weak)); -char *vlib_default_runtime_dir = "/run/vlib"; +char *vlib_default_runtime_dir = "vlib"; unix_main_t unix_main; @@ -437,7 +437,16 @@ unix_config (vlib_main_t * vm, unformat_input_t * input) um->unix_config_complete = 1; if (um->runtime_dir == 0) - um->runtime_dir = format (0, "%s%c", vlib_default_runtime_dir, 0); + { + uid_t uid = geteuid (); + if (uid == 00) + um->runtime_dir = format (0, "/run/%s%c", + vlib_default_runtime_dir, 0); + else + um->runtime_dir = format (0, "/run/user/%u/%s%c", uid, + vlib_default_runtime_dir, 0); + } + return 0; } |