spiegel_podman/pkg/util/mountOpts_linux.go
Matthew Heon 67812a52ca Turn off 'noexec' option by default for named volumes
We previously enforced this for security reasons, but as Dan has
explained on several occasions, it's not very valuable there
(it's trivially easy to bypass) and it does seriously annoy folks
trying to use named volumes. Flip the default from 'on' to 'off'.

This is a backport from the master branch to v1.9 branch.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-05-22 09:50:53 -04:00

23 lines
564 B
Go

package util
import (
"os"
"golang.org/x/sys/unix"
)
func getDefaultMountOptions(path string) (defaultMountOptions, error) {
opts := defaultMountOptions{false, true, true}
if path == "" {
return opts, nil
}
var statfs unix.Statfs_t
if e := unix.Statfs(path, &statfs); e != nil {
return opts, &os.PathError{Op: "statfs", Path: path, Err: e}
}
opts.nodev = (statfs.Flags&unix.MS_NODEV == unix.MS_NODEV)
opts.noexec = (statfs.Flags&unix.MS_NOEXEC == unix.MS_NOEXEC)
opts.nosuid = (statfs.Flags&unix.MS_NOSUID == unix.MS_NOSUID)
return opts, nil
}