1
0
mirror of https://github.com/rancher/os.git synced 2025-08-23 17:08:18 +00:00
os/pkg/selinux/selinux_linux.go
2022-10-11 09:57:54 -04:00

28 lines
550 B
Go

package selinux
// #cgo pkg-config: libselinux libsepol
// #include <selinux/selinux.h>
// #include <stdlib.h>
import "C"
import (
"unsafe"
)
func InitializeSelinux() (int, error) {
enforce := C.int(0)
ret, err := C.selinux_init_load_policy(&enforce)
return int(ret), err
}
func SetFileContext(path string, context string) (int, error) {
cPath := C.CString(path)
defer C.free(unsafe.Pointer(cPath))
cContext := C.CString(context)
defer C.free(unsafe.Pointer(cContext))
ret, err := C.setfilecon(cPath, cContext)
return int(ret), err
}