diff options
author | Nayana Bidari <nybidari@google.com> | 2020-03-20 12:00:21 -0700 |
---|---|---|
committer | Nayana Bidari <nybidari@google.com> | 2020-03-26 12:21:24 -0700 |
commit | 92b9069b67b927cef25a1490ebd142ad6d65690d (patch) | |
tree | 103b457232172e84fc3f2d6ea6b02ee553740f83 /pkg/sentry/kernel/task.go | |
parent | 01ac53099fedf7dd5da01a50e60f3dfa2eb17892 (diff) |
Support owner matching for iptables.
This feature will match UID and GID of the packet creator, for locally
generated packets. This match is only valid in the OUTPUT and POSTROUTING
chains. Forwarded packets do not have any socket associated with them.
Packets from kernel threads do have a socket, but usually no owner.
Diffstat (limited to 'pkg/sentry/kernel/task.go')
-rw-r--r-- | pkg/sentry/kernel/task.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/pkg/sentry/kernel/task.go b/pkg/sentry/kernel/task.go index 8452ddf5b..d6546735e 100644 --- a/pkg/sentry/kernel/task.go +++ b/pkg/sentry/kernel/task.go @@ -863,3 +863,15 @@ func (t *Task) SetOOMScoreAdj(adj int32) error { atomic.StoreInt32(&t.tg.oomScoreAdj, adj) return nil } + +// UID returns t's uid. +// TODO(gvisor.dev/issue/170): This method is not namespaced yet. +func (t *Task) UID() uint32 { + return uint32(t.Credentials().EffectiveKUID) +} + +// GID returns t's gid. +// TODO(gvisor.dev/issue/170): This method is not namespaced yet. +func (t *Task) GID() uint32 { + return uint32(t.Credentials().EffectiveKGID) +} |