diff options
| author | Daniil Baturin <daniil@baturin.org> | 2025-12-04 14:25:00 +0000 |
|---|---|---|
| committer | Daniil Baturin <daniil@baturin.org> | 2025-12-04 14:25:00 +0000 |
| commit | 2b5b541b9682f6e61f85a3ec121e249a098c5a35 (patch) | |
| tree | 6364e8be2716136fbec0b9e68c240f6f16eabdd2 /src | |
| parent | dbecbd0c4f25f8b8d7055e5ed3ffc8e5be59b1f0 (diff) | |
| download | vyos-1x-2b5b541b9682f6e61f85a3ec121e249a098c5a35.tar.gz vyos-1x-2b5b541b9682f6e61f85a3ec121e249a098c5a35.zip | |
vyos-op-run: T7901: skip permission checks if the user is root
Diffstat (limited to 'src')
| -rw-r--r-- | src/vyos_op_run.ml | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vyos_op_run.ml b/src/vyos_op_run.ml index c7e38a753..6299a1d9c 100644 --- a/src/vyos_op_run.ml +++ b/src/vyos_op_run.ml @@ -217,6 +217,9 @@ let group_perms_match perms group cmd = perm_list_matches group_perms cmd let is_admin () = + (* If executed by root, skip all permission checks *) + if Unix.geteuid () = 0 then true else + (* Otherwise, check if the user is a VyOS admin *) let admin_group = Unix.getgrnam vyos_admin_group_name in let user_groups = Unix.getgroups () in match (Array.find_opt ((=) admin_group.gr_gid) user_groups) with |
