podman
24 строки · 674.0 Байт
1//go:build linux
2// +build linux
3
4package chroot
5
6import (
7"fmt"
8
9"github.com/opencontainers/runtime-spec/specs-go"
10selinux "github.com/opencontainers/selinux/go-selinux"
11"github.com/opencontainers/selinux/go-selinux/label"
12"github.com/sirupsen/logrus"
13)
14
15// setSelinuxLabel sets the process label for child processes that we'll start.
16func setSelinuxLabel(spec *specs.Spec) error {
17logrus.Debugf("setting selinux label")
18if spec.Process.SelinuxLabel != "" && selinux.GetEnabled() {
19if err := label.SetProcessLabel(spec.Process.SelinuxLabel); err != nil {
20return fmt.Errorf("setting process label to %q: %w", spec.Process.SelinuxLabel, err)
21}
22}
23return nil
24}
25